### Run Isso Server Source: https://github.com/isso-comments/isso/blob/master/docs/docs/guides/quickstart.md This command starts the Isso comment server using a specified configuration file. It's recommended to run Isso on a non-public interface and configure a reverse proxy like Nginx. ```bash (.venv) $ isso -c /path/to/isso.cfg run 2013-11-25 15:31:34,773 INFO: connected to HTTP server ``` -------------------------------- ### Install uWSGI for Isso Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/deployment.md Installs the uWSGI server and its development dependencies using apt-get and pip. This is required for deploying Isso with uWSGI. ```sh apt-get install build-essential python-dev pip install uwsgi ``` -------------------------------- ### Configure and Run Isso with uWSGI Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/deployment.md Sets up and starts the Isso comment system using a uWSGI INI configuration file. This includes creating a spooling directory and launching uWSGI. ```ini [uwsgi] http = :8080 master = true ; set to `nproc` processes = 4 cache2 = name=hash,items=1024,blocksize=32 ; you may change this spooler = /tmp/isso/mail module = isso.run ; uncomment if you use a virtual environment ; virtualenv = /path/to/isso env = ISSO_SETTINGS=/path/to/isso.cfg ``` ```sh mkdir /tmp/isso/mail uwsgi /path/to/uwsgi.ini ``` -------------------------------- ### Install gunicorn for Isso Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/deployment.md Installs the gunicorn WSGI HTTP server using pip. This is necessary for deploying Isso with gunicorn. ```sh pip install gunicorn ``` -------------------------------- ### Basic Isso Configuration Example Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/server-config.md A minimal INI-style configuration file for Isso, specifying the database path and server host. This serves as a starting point for customizing Isso's behavior. ```ini [general] dbpath = /var/lib/isso/comments.db host = https://example.tld/ [server] listen = http://localhost:1234/ ``` -------------------------------- ### Install flup for FastCGI Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/deployment.md Command to install the `flup` library using pip, which is required for running Isso as a FastCGI script. ```sh $ pip install flup ``` -------------------------------- ### Install Sphinx and Build Docs (Console) Source: https://github.com/isso-comments/isso/blob/master/docs/docs/contributing/documentation.md Commands to set up a virtual environment, install Sphinx, and build the documentation site. Requires Python and pip. Ensures the correct Sphinx version is used. ```console $ virtualenv --download .venv && $ source .venv/bin/activate (.venv) $ pip install sphinx (.venv) $ sphinx-build --version ~> sphinx-build 4.5.0 ``` ```console (.venv) $ make site ``` -------------------------------- ### Install Isso from Source Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/installation.md This sequence of commands clones the Isso repository, sets up a Python virtual environment, installs JavaScript dependencies, builds the frontend, and then installs Isso in an editable mode for development. It's a prerequisite for hacking on Isso. ```console $ git clone https://github.com/isso-comments/isso.git $ cd isso/ $ virtualenv --download .venv $ source .venv/bin/activate $ make init $ make js (.venv) $ pip install -e . # -e = "editable" installation for development (.venv) $ isso -c /path/to/isso.cfg run ``` -------------------------------- ### Configure Isso Server Settings Source: https://github.com/isso-comments/isso/blob/master/docs/docs/guides/quickstart.md This configuration sets the database path and allowed hosts for CORS. It also shows how to enable comment moderation and configure SMTP for notifications. Ensure the dbpath has correct permissions. ```ini [general] ; database location, check permissions, automatically created if it ; does not exist dbpath = /var/lib/isso/comments.db ; for docker image: dbpath = /db/comments.db ; ; your website or blog (not the location of Isso!) host = http://example.tld/ ; you can add multiple hosts for local development ; or SSL connections. There is no wildcard to allow ; any domain. host = http://localhost:1234/ http://example.tld/ https://example.tld/ [moderation] enabled = true [general] notify = smtp [smtp] ; SMTP settings ``` -------------------------------- ### Isso WSGI Startup Script (Virtualenv) Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/deployment.md A Python script for Isso deployment with mod_wsgi when installed in a virtual environment. It adds the virtual environment's site-packages to Python's path before initializing the application. This script prioritizes system modules. ```python import site site.addsitedir("/path/to/isso_virtualenv") import os from isso import make_app from isso import dist, config application = make_app( config.load( config.default_file(), "/path/to/isso.cfg", ), multiprocessing=True) ``` -------------------------------- ### Install gevent for Isso Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/deployment.md Installs the gevent library, a coroutine-based networking library, using pip. This is a prerequisite for deploying Isso with gevent. ```sh pip install gevent ``` -------------------------------- ### Start and Manage Isso Docker Compose Services Source: https://github.com/isso-comments/isso/blob/master/docs/docs/technical-docs/testing.md Instructions for starting, running, and stopping the Isso server using Docker Compose. This ensures a consistent and isolated environment for testing. ```bash $ docker compose up -d $ docker compose down -v ``` -------------------------------- ### Installing and Using Sphinx Autobuild for Docs Development Source: https://github.com/isso-comments/isso/blob/master/docs/docs/contributing/documentation.md Provides instructions for installing and using `sphinx-autobuild` to streamline the documentation development process. It enables automatic rebuilding of documentation upon file changes and live browser refreshing. ```console (.venv) $ pip install sphinx-autobuild (.venv) $ sphinx-autobuild -b dirhtml docs/ docs/_build/html ``` -------------------------------- ### Run Isso with gunicorn Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/deployment.md Starts the Isso comment system using the gunicorn WSGI server. This command sets the ISSO_SETTINGS environment variable and specifies the host, port, and number of workers. ```sh export ISSO_SETTINGS="/path/to/isso.cfg" gunicorn -b localhost:8080 -w 4 --preload isso.run ``` -------------------------------- ### Install sassc and Re-generate CSS (Console) Source: https://github.com/isso-comments/isso/blob/master/docs/docs/contributing/documentation.md Instructions for installing the sassc compiler and regenerating CSS files from SCSS. This is necessary when stylesheet changes are made. ```console $ apt install sassc $ make css ``` -------------------------------- ### Isso WSGI Startup Script (Basic) Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/deployment.md A basic Python script to initialize the Isso application using mod_wsgi. It loads configuration and enables multiprocessing. Assumes Isso is in the system module search path. ```python import os from isso import make_app from isso import dist, config application = make_app( config.load( config.default_file(), "/path/to/isso.cfg"), multiprocessing=True) ``` -------------------------------- ### Apache mod_wsgi Configuration Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/deployment.md Example Apache configuration for serving Isso via mod_wsgi. It defines a WSGI daemon process and maps a URL path to the Isso WSGI script. Ensure the database directory is writable by the Apache user. ```apache ServerName example.org WSGIDaemonProcess isso user=www-data group=www-data threads=5 WSGIScriptAlias /mounted_isso_path /path/to/isso.wsgi ``` -------------------------------- ### Run Isso with gevent Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/deployment.md Executes the Isso comment system using the gevent WSGI server. This command assumes gevent is installed and Isso is accessible. ```sh isso -c my.cfg run ``` -------------------------------- ### Apache mod_fastcgi Configuration Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/deployment.md Apache configuration directives for deploying Isso using mod_fastcgi. This setup is suitable for hosting environments that restrict long-running processes. It requires the `fastcgi-script` handler. ```apache LoadModule fastcgi_module /usr/lib64/httpd/modules/mod_fastcgi.so FastCgiServer /var/www/html/yourapplication/app.fcgi -idle-timeout 300 -processes 5 ServerName example.org AddHandler fastcgi-script fcgi ScriptAlias / /var/www/isso.fcgi SetHandler fastcgi-script ``` -------------------------------- ### GET /config Source: https://context7.com/isso-comments/isso/llms.txt Retrieves the client configuration settings from the server. ```APIDOC ## GET /config ### Description Retrieves client configuration that depends on server settings, such as moderation preferences and feature flags. ### Method GET ### Endpoint `/config` ### Response #### Success Response (200 OK) Returns a JSON object containing server configuration settings. #### Response Example ```json { "config": { "reply-to-self": false, "require-email": false, "require-author": false, "reply-notifications": true, "gravatar": false, "feed": true } } ``` ``` -------------------------------- ### Import Comments using Isso CLI Source: https://github.com/isso-comments/isso/blob/master/docs/docs/guides/quickstart.md This command imports comments from external services like Disqus or WordPress into Isso. It requires the path to the Isso configuration file and the path to the exported XML file. The type of import (disqus or wordpress) must be specified. ```bash (.venv) $ isso -c /path/to/isso.cfg import -t [disqus|wordpress] disqus-or-wordpress.xml ``` -------------------------------- ### reStructuredText Formatting Examples Source: https://github.com/isso-comments/isso/blob/master/docs/docs/contributing/documentation.md Demonstrates basic reStructuredText syntax for emphasis, bolding, and code samples. This is fundamental for writing content within the documentation. ```rst One asterisk: *text* for emphasis (italics), Two asterisks: **text** for strong emphasis (boldface), and Double backticks: ``text`` for code samples. ``` -------------------------------- ### Isso WSGI Startup Script (Virtualenv Priority) Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/deployment.md This Python script configures Isso for mod_wsgi deployment within a virtual environment, giving priority to modules within the virtual environment over system modules. It manipulates sys.path to achieve this. ```python import os import site import sys # Remember original sys.path. prev_sys_path = list(sys.path) # Add the new site-packages directory. site.addsitedir("/path/to/isso_virtualenv") # Reorder sys.path so new directories at the front. new_sys_path = [] for item in list(sys.path): if item not in prev_sys_path: new_sys_path.append(item) sys.path.remove(item) sys.path[:0] = new_sys_path from isso import make_app from isso import dist, config application = make_app( config.load( config.default_file(), "/path/to/isso.cfg", ), multiprocessing=True) ``` -------------------------------- ### Nginx Configuration for Isso Proxy Source: https://github.com/isso-comments/isso/blob/master/docs/docs/guides/quickstart.md This Nginx configuration sets up a server block to proxy requests for a dedicated domain (e.g., comments.example.tld) to the Isso server running on localhost:8080. It includes essential proxy headers for correct request handling. ```nginx server { listen [::]:80; server_name comments.example.tld; location / { proxy_pass http://localhost:8080; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; } } ``` -------------------------------- ### Embed Isso Comments in HTML Source: https://github.com/isso-comments/isso/blob/master/docs/docs/guides/quickstart.md This HTML snippet integrates Isso comments into a website. It includes a script tag pointing to the Isso embed script and a section for displaying the comment thread. The `data-isso` attribute specifies the Isso server URL. ```html
``` -------------------------------- ### GET /config Source: https://github.com/isso-comments/isso/blob/master/CHANGES.rst Fetches server configuration options that affect the client. This endpoint provides information necessary for the client-side to interact correctly with the server. ```APIDOC ## GET /config ### Description Fetches server configuration options that affect the client. ### Method GET ### Endpoint /config ### Parameters #### Query Parameters None #### Request Body None ### Response #### Success Response (200) - **field** (type) - Description of the configuration field. #### Response Example ```json { "example": "{\"max-comment-depth\": 5, \"feeds\": true}" } ``` ``` -------------------------------- ### SysVinit Script for Isso Service Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/installation.md This is a basic SysVinit script designed to manage the Isso service. It utilizes `start-stop-daemon` to handle starting, stopping, and restarting the Isso process in the background, including PID file management and user execution. This script is intended for inspiration when creating custom init scripts. ```sh #!/bin/sh ### BEGIN INIT INFO # Provides: isso # Required-Start: $local_fs $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: lightweight Disqus alternative ### END INIT INFO EXEC=/opt/isso/bin/isso EXEC_OPTS="-c /etc/isso.cfg run" RUNAS=isso PIDFILE=/var/run/isso.pid start() { echo 'Starting service…' >&2 start-stop-daemon --start --user "$RUNAS" --background --make-pidfile --pidfile $PIDFILE \ --exec $EXEC -- $EXEC_OPTS } stop() { echo 'Stopping service…' >&2 start-stop-daemon --stop --user "$RUNAS" --pidfile $PIDFILE --exec $EXEC } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo "Usage: $0 {start|stop|restart}" esac ``` -------------------------------- ### reStructuredText Link Syntax Source: https://github.com/isso-comments/isso/blob/master/docs/docs/contributing/documentation.md Examples of creating inline web links and reference-style links in reStructuredText. These are used for internal and external referencing. ```rst Use `Link text `_ for **inline web links**. This is a paragraph that contains `a link`_ using **references**. .. _a link: https://domain.invalid/ ``` -------------------------------- ### Nginx Configuration for Multiple Isso Sites Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/multi-site-sub-uri.md This Nginx configuration example shows how to proxy requests to a running Isso instance that is configured to serve multiple websites. It directs traffic for 'comments.example' to the Isso backend running on 'localhost:8080'. ```nginx server { listen [::]:80; server_name comments.example; location / { proxy_pass http://localhost:8080; } } ``` -------------------------------- ### Isso FastCGI Script Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/deployment.md A Python script to run Isso as a FastCGI application using the `flup` library. It includes optional configuration for virtual environments and initializes the Isso application with a specified configuration file. ```python #!/usr/bin/env python #: uncomment if you're using a virtualenv # import sys # sys.path.insert(0, '/lib/python3./site-packages') from isso import make_app, dist, config import os from flup.server.fcgi import WSGIServer application = make_app(config.load( config.default_file(), "/path/to/isso.cfg")) WSGIServer(application).run() ``` -------------------------------- ### Get Server Configuration via REST API Source: https://context7.com/isso-comments/isso/llms.txt Retrieves the client configuration settings from the Isso server. This configuration depends on various server-side settings and is essential for client-side initialization. ```shell # Fetch client config curl 'https://comments.example.tld/config' ``` -------------------------------- ### Jest Snapshot Testing Example Source: https://github.com/isso-comments/isso/blob/master/docs/docs/technical-docs/testing-client.md This JavaScript code demonstrates how to use Jest's snapshot testing feature. Instead of manually comparing large HTML strings, `toMatchSnapshot()` checks the current DOM structure against a saved snapshot file. This simplifies UI testing and ensures consistency. ```javascript expect($(".isso-textarea-wrapper").innerHTML).toMatchSnapshot(); ``` -------------------------------- ### Running Isso with Configuration File Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/server-config.md Demonstrates two methods to run the Isso server using a specified configuration file: directly via a command-line argument or by setting an environment variable. ```console (.venv) $ isso -c /path/to/isso.cfg ``` ```console (.venv) $ env ISSO_SETTINGS=/path/to/isso.cfg$ isso ``` -------------------------------- ### Build and Run Isso with Docker (Latest Image) Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/installation.md This process involves building a Docker image for Isso using `make docker`, which tags it as `isso:latest`. It then runs this custom image, similar to the release image, mapping configuration and database volumes. Adjust the configuration file before running. ```console $ mkdir -p config/ db/ $ cp contrib/isso.sample.cfg config/isso.cfg # Set 'dbpath' to '/db/comments.db' and adjust 'host' $ docker run -d --rm --name isso -p 127.0.0.1:8080:8080 \ -v $PWD/config:/config -v $PWD/db:/db \ isso:latest ``` -------------------------------- ### Get Atom Feed for a Comment Thread using Isso REST API Source: https://context7.com/isso-comments/isso/llms.txt This example shows how to retrieve an Atom feed for a comment thread. This functionality requires the `[rss] base` configuration to be enabled in Isso. The specific curl command for this is not provided, but the description indicates the purpose. ```bash # GET an Atom feed for a comment thread # Requires [rss] base configuration. # Example: curl 'https://comments.example.tld/feed/?uri=/blog/article/' ``` -------------------------------- ### Count Comments for Multiple Threads using Isso REST API Source: https://context7.com/isso-comments/isso/llms.txt This example shows how to efficiently get comment counts for multiple threads in a single request. It uses a POST request to the /count endpoint with a JSON array of thread URIs. The response is an array of counts corresponding to the order of the URIs provided. ```bash # Get comment counts for multiple threads curl -X POST 'https://comments.example.tld/count' \ -H 'Content-Type: application/json' \ -d '["/blog/first-post/", "/blog/second-post/", "/blog/third-post/"]' # Response (200 OK) - array of counts in same order: [12, 5, 0] ``` -------------------------------- ### Listen Option for Host and Port Configuration Source: https://github.com/isso-comments/isso/blob/master/CHANGES.rst The 'listen' option replaces the separate 'host' and 'port' settings to provide more flexibility, including support for UNIX domain sockets. The format is 'http://host:port' or 'unix://path/to/socket'. This change is related to issue #25. ```ini listen = http://localhost:8080 # or unix = unix:///tmp/isso.sock ``` -------------------------------- ### Serve Generated API Documentation with Python Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/server-api.md This command uses Python's built-in HTTP server to serve the generated API documentation files. This is necessary because browsers will block local file access for security reasons, preventing API calls from being made directly. ```bash python -m http.server ``` -------------------------------- ### Docker Deployment Source: https://context7.com/isso-comments/isso/llms.txt Instructions for deploying Isso using Docker, including pulling the latest release. ```APIDOC ## Docker Deployment ### Description Run Isso using Docker, with instructions for pulling the latest stable release. It is recommended to mount configuration and database volumes for persistence. ### Pull Latest Stable Release #### Usage ```bash docker pull ghcr.io/isso-comments/isso:release ``` ``` -------------------------------- ### API: Fetch Server Configuration (Python) Source: https://github.com/isso-comments/isso/blob/master/docs/news.md Introduces a new `/config` endpoint to the API, allowing clients to fetch server configuration options that influence client-side behavior. This helps in synchronizing client and server settings. ```python # Add /config endpoint for fetching server configuration options that # affect the client ([#880](https://github.com/posativ/isso/pull/880), ix5) ``` -------------------------------- ### Build Docker Images for Isso Testing and Production Source: https://github.com/isso-comments/isso/blob/master/docs/docs/technical-docs/testing.md Commands to build the necessary Docker images for Isso. 'docker-testbed' prepares an image for running tests, including dependencies like headless chromium. 'docker' creates a production-ready image. ```console # Prepare testbed image $ make docker-testbed # Create production image $ make docker ``` -------------------------------- ### GET /feed Source: https://context7.com/isso-comments/isso/llms.txt Retrieves the Atom feed for comments on a specific thread. ```APIDOC ## GET /feed ### Description Retrieves the Atom feed for comments on a specific thread. ### Method GET ### Endpoint `/feed?uri=` ### Parameters #### Query Parameters - **uri** (string) - Required - The URI of the thread for which to retrieve the comment feed. ### Response #### Success Response (200 OK) Returns an Atom XML feed containing comments for the specified thread. #### Response Example ```xml 2022-05-24T20:38:04.032789Z tag:example.tld,2018:/isso/thread/blog/article/ Comments for example.tld/blog/article/ tag:example.tld,2018:/isso/1/2 Comment #2 2022-05-24T20:38:04.032789Z Jane Smith <p>Great article!</p> ``` ``` -------------------------------- ### Client Integration Options Source: https://github.com/isso-comments/isso/blob/master/CHANGES.rst New options control client-side integration. 'data-isso-css="false"' prevents CSS injection, 'data-isso-lang="de"' sets the language, and 'data-isso-reply-to-self="true"' enables replies to one's own comments. ```html ``` -------------------------------- ### POST /count Source: https://github.com/isso-comments/isso/blob/master/CHANGES.rst Retrieves the count of comments for a given URI. This endpoint replaces the deprecated GET /count endpoint. ```APIDOC ## POST /count ### Description Retrieves the count of comments for a given URI. This endpoint replaces the deprecated GET /count endpoint. ### Method POST ### Endpoint /count ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **uri** (string) - Required - The URI for which to count comments. ### Request Example ```json { "uri": "https://example.com/" } ``` ### Response #### Success Response (200) - **count** (integer) - The number of comments for the specified URI. #### Response Example ```json { "count": 15 } ``` ``` -------------------------------- ### Referencing Shell Commands and Scripts in Isso Docs Source: https://github.com/isso-comments/isso/blob/master/docs/docs/contributing/documentation.md Demonstrates the correct way to reference shell commands and actual shell scripts within the Isso documentation. It specifies using `$ /usr/bin/command` for commands and `code-block:: console` for interactive sessions, while `sh` is reserved for actual scripts. ```rst Use `$ /usr/bin/command` to refer to shell commands and use `code-block:: console` over `bash` or `sh`. For actual shell scripts, use `sh`. Use `(.venv) $ python [cmd]` for things that need to be run inside a virtual environment and be consistent ``` -------------------------------- ### GET /latest Source: https://context7.com/isso-comments/isso/llms.txt Retrieves the most recent comments across all threads, optionally limited by a count. ```APIDOC ## GET /latest ### Description Retrieves the most recent comments across all threads. This endpoint requires `latest-enabled = true` in the server configuration. ### Method GET ### Endpoint `/latest?limit=` ### Parameters #### Query Parameters - **limit** (integer) - Optional - The maximum number of latest comments to retrieve. ### Response #### Success Response (200 OK) Returns a JSON array of the latest comments. #### Response Example ```json [ { "id": 42, "uri": "/blog/newest-post/", "text": "

Latest comment here

", "author": "Recent User", "parent": null, "created": 1464914341.312426, "modified": null, "mode": 1, "likes": 0, "dislikes": 0, "website": null }, { "id": 41, "uri": "/blog/other-post/", "text": "

Another recent comment

", "author": null, "parent": null, "created": 1464912312.123416, "modified": null, "mode": 1, "likes": 1, "dislikes": 0, "website": null } ] ``` ``` -------------------------------- ### GET / - Fetch Comments Source: https://context7.com/isso-comments/isso/llms.txt Retrieves comments for a specific thread with options for pagination and sorting. ```APIDOC ## GET / ### Description Retrieves comments for a specific thread with options for pagination and sorting. ### Method GET ### Endpoint `/` ### Query Parameters - **uri** (string) - Required - The URI of the thread to fetch comments for. - **limit** (integer) - Optional - The maximum number of top-level comments to return. - **nested_limit** (integer) - Optional - The maximum number of nested replies per comment. - **sort** (string) - Optional - The sorting order. Possible values: `newest`, `upvotes`. - **after** (integer) - Optional - Fetch comments created after this timestamp. ### Response #### Success Response (200 OK) - **id** (null) - Placeholder for comment ID (null for thread root). - **total_replies** (integer) - Total number of replies for the thread. - **hidden_replies** (integer) - Number of hidden replies. - **replies** (array) - An array of comment objects. - **id** (integer) - The unique identifier of the comment. - **parent** (integer|null) - The ID of the parent comment. - **text** (string) - The rendered HTML content of the comment. - **author** (string|null) - The author of the comment. - **website** (string|null) - The website of the author. - **mode** (integer) - The comment mode. - **created** (float) - The creation timestamp. - **modified** (float|null) - The modification timestamp. - **likes** (integer) - The number of likes. - **dislikes** (integer) - The number of dislikes. - **hash** (string) - A hash of the comment. - **total_replies** (integer) - Total number of replies for this comment. - **hidden_replies** (integer) - Number of hidden replies for this comment. - **replies** (array) - Nested replies. - **config** (object) - Configuration settings for comments. - **reply-to-self** (boolean) - **require-email** (boolean) - **require-author** (boolean) - **reply-notifications** (boolean) - **gravatar** (boolean) - **feed** (boolean) #### Response Example ```json { "id": null, "total_replies": 14, "hidden_replies": 12, "replies": [ { "id": 1, "parent": null, "text": "

Hello, World!

", "author": "Anonymous", "website": null, "mode": 1, "created": 1464818460.732863, "modified": null, "likes": 2, "dislikes": 0, "hash": "1cb6cc0309a2", "total_replies": 1, "hidden_replies": 0, "replies": [ { "id": 2, "parent": 1, "text": "

Hi there!

", "author": null, "website": null, "mode": 1, "created": 1464818460.769638, "modified": null, "likes": 0, "dislikes": 0, "hash": "2af4e1a6c96a" } ] } ], "config": { "reply-to-self": false, "require-email": false, "require-author": false, "reply-notifications": false, "gravatar": false, "feed": true } } ``` ``` -------------------------------- ### Run Isso with Docker Source: https://context7.com/isso-comments/isso/llms.txt Launches the Isso comment server as a Docker container. It maps ports, mounts configuration and database volumes, and sets the environment variable for settings. ```docker docker run -d \ --name isso \ -p 8080:8080 \ -v /path/to/isso.cfg:/config/isso.cfg \ -v /path/to/db:/db \ -e ISSO_SETTINGS=/config/isso.cfg \ ghcr.io/isso-comments/isso:release ``` -------------------------------- ### GET /feed - Atom Feed Source: https://context7.com/isso-comments/isso/llms.txt Retrieves an Atom feed for a comment thread. Requires `[rss] base` configuration. ```APIDOC ## GET /feed ### Description Retrieves an Atom feed for a comment thread. Requires `[rss] base` configuration. ### Method GET ### Endpoint `/feed` ### Query Parameters - **uri** (string) - Required - The URI of the thread to get the Atom feed for. ### Response #### Success Response (200 OK) - **Atom Feed**: An XML document formatted according to the Atom Syndication Format. #### Response Example (Atom feed XML content - omitted for brevity) ``` -------------------------------- ### Isso Duplicate Slash Fix Revert Source: https://github.com/isso-comments/isso/blob/master/CHANGES.rst This reverts a fix for duplicate slashes in URLs. The original fix prevented Isso from starting in some cases, so it has been rolled back. ```python # Revert fix for duplicate slashes, as it prevents isso from # starting in some cases. #523 ``` -------------------------------- ### Get Atom Feed for a Thread Source: https://context7.com/isso-comments/isso/llms.txt Retrieves the Atom feed for comments on a specific blog article. This is useful for syndication and keeping track of new comments. ```shell curl 'https://comments.example.tld/feed?uri=/blog/article/' ``` -------------------------------- ### Configuring Multiple Hosts for Isso Source: https://github.com/isso-comments/isso/blob/master/docs/docs/reference/server-config.md Illustrates how to specify multiple website hosts in the [general] section of the Isso configuration. This is necessary for security reasons, particularly for CORS, and allows for fallback to non-SSL if needed. ```ini [general] host = http://example.tld/ https://example.tld/ ``` -------------------------------- ### Custom CSS for Textarea Replacement Source: https://github.com/isso-comments/isso/blob/master/CHANGES.rst When replacing '