diff --git a/README.md b/README.md index 82cefb3..1fa2e2b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Tiny Tiny RSS Documentation Site -This repository contains the source for the https://tt-rss.github.io. +This repository contains the source for . ## License @@ -44,7 +44,7 @@ bundle exec jekyll serve ## Structure -``` +```text tt-rss.github.io/ ├── _config.yml # Jekyll configuration ├── index.md # Homepage diff --git a/docs/API-Reference.md b/docs/API-Reference.md index 3b57ff6..ae8abb1 100644 --- a/docs/API-Reference.md +++ b/docs/API-Reference.md @@ -67,20 +67,19 @@ All API methods return JSON data like this: {"seq":0,"status":0,"content":{"version":"1.4.3.1"}} ``` -- seq (integer) is the sequence number supplied by client (``"seq":131``) -- status (integer) indicates whether request has been completed - successfully, can be either 0 (API\_STATUS\_OK) or 1 - (API\_STATUS\_ERR) -- content is the actual reply content, as documented below in method - descriptions. +- seq (integer) is the sequence number supplied by client (``"seq":131``) +- status (integer) indicates whether request has been completed + successfully, can be either 0 (API\_STATUS\_OK) or 1 + (API\_STATUS\_ERR) +- content is the actual reply content, as documented below in method + descriptions. -##### 1.4.3 and below (obsolete) +#### 1.4.3 and below (obsolete) -Methods return the “content” object below, sequence numbers and statuses +Methods return the "content" object below, sequence numbers and statuses are not supported. -Methods -------- +## Methods ### getApiLevel (since version:1.5.8, api level-1) @@ -108,8 +107,8 @@ use this to detect API functionality, please use getApiLevel instead. Parameters: -- ``user`` (string) -- ``password`` (string) +- ``user`` (string) +- ``password`` (string) Returns client session ID. @@ -119,12 +118,12 @@ Returns client session ID. It can also return several error objects: -- If API is disabled for this user: - error: "API_DISABLED" -- If specified username and password are incorrect: - error: "LOGIN_ERROR" +- If API is disabled for this user: + error: "API_DISABLED" +- If specified username and password are incorrect: + error: "LOGIN_ERROR" -In case it isn’t immediately obvious, you have to login and get a +In case it isn't immediately obvious, you have to login and get a session ID even if you are using single user mode. You can omit user and password parameters. @@ -153,12 +152,6 @@ Returns an integer value of currently unread articles. {"unread":"992"} ``` -### getCounters - -Returns JSON-encoded counter information. Requires version:1.5.0. - -* ``output_mode`` (string, default:-flc) - what kind of information to return (f - feeds, l - labels, c - categories, t --tags) - ### getFeeds Returns JSON-encoded list of feeds. The list includes category id, @@ -166,11 +159,11 @@ title, feed url, etc. Parameters: -- ``cat_id`` (integer) - return feeds under category cat\_id -- ``unread_only`` (bool) - only return feeds which have unread articles -- ``limit`` (integer) - limit amount of feeds returned to this value -- ``offset`` (integer) - skip this amount of feeds first -- ``include_nested`` (bool) - include child categories (as Feed-objects +- ``cat_id`` (integer) - return feeds under category cat\_id +- ``unread_only`` (bool) - only return feeds which have unread articles +- ``limit`` (integer) - limit amount of feeds returned to this value +- ``offset`` (integer) - skip this amount of feeds first +- ``include_nested`` (bool) - include child categories (as Feed-objects ``with is_cat set)`` **requires version:1.6.0** Pagination: @@ -187,8 +180,8 @@ Special category IDs are as follows: Added in version:1.5.0: -- -3 All feeds, excluding virtual feeds (e.g. Labels and-such) -- -4 All feeds, including virtual feeds +- -3 All feeds, excluding virtual feeds (e.g. Labels and-such) +- -4 All feeds, including virtual feeds Known bug: Prior to version:1.5.0 passing null or 0 cat\_id to this method returns full list of feeds instead of Uncategorized feeds only. @@ -197,11 +190,11 @@ method returns full list of feeds instead of Uncategorized feeds only. Returns JSON-encoded list of categories with unread counts. -- ``unread_only`` (bool) - only return categories which have unread +- ``unread_only`` (bool) - only return categories which have unread articles -- ``enable_nested`` (bool) - switch to nested mode, only returns topmost +- ``enable_nested`` (bool) - switch to nested mode, only returns topmost categories **requires version:1.6.0** -- ``include_empty`` (bool) - include empty categories **requires +- ``include_empty`` (bool) - include empty categories **requires version:1.7.6** Nested mode in this case means that a flat list of **only** topmost @@ -218,30 +211,30 @@ Returns JSON-encoded list of headlines. Parameters: -- ``feed_id`` (integer|string) - only output articles for this feed (supports string values to retrieve tag virtual feeds since API level 18, otherwise-integer) -- ``limit`` (integer) - limits the amount of returned articles (see-below) -- ``skip`` (integer) - skip this amount of feeds first -- ``filter`` (string) - currently unused (?) -- ``is_cat`` (bool) - requested feed\_id is a category -- ``show_excerpt`` (bool) - include article excerpt in the output -- ``show_content`` (bool) - include full article text in the output -- ``view_mode`` (string = all\_articles, unread, adaptive,-marked, +- ``feed_id`` (integer|string) - only output articles for this feed (supports string values to retrieve tag virtual feeds since API level 18, otherwise-integer) +- ``limit`` (integer) - limits the amount of returned articles (see-below) +- ``skip`` (integer) - skip this amount of feeds first +- ``filter`` (string) - currently unused (?) +- ``is_cat`` (bool) - requested feed\_id is a category +- ``show_excerpt`` (bool) - include article excerpt in the output +- ``show_content`` (bool) - include full article text in the output +- ``view_mode`` (string = all\_articles, unread, adaptive,-marked, updated) -- ``include_attachments`` (bool) - include article attachments (e.g. +- ``include_attachments`` (bool) - include article attachments (e.g. enclosures) **requires version:1.5.3** -- ``since_id`` (integer) - only return articles with id greater than +- ``since_id`` (integer) - only return articles with id greater than ``since_id`` **requires version:1.5.6** -- ``include_nested`` (boolean) - include articles from child categories +- ``include_nested`` (boolean) - include articles from child categories **requires version:1.6.0** -- ``order_by`` (string) - override default sort order **requires +- ``order_by`` (string) - override default sort order **requires version:1.7.6** -- ``sanitize`` (bool) - sanitize content or not **requires version:1.8** +- ``sanitize`` (bool) - sanitize content or not **requires version:1.8** (default:-true) -- ``force_update`` (bool) - try to update feed before showing headlines +- ``force_update`` (bool) - try to update feed before showing headlines **requires version:1.14 (api-9)** (default:-false) -- ``has_sandbox`` (bool) - indicate support for sandboxing of iframe +- ``has_sandbox`` (bool) - indicate support for sandboxing of iframe elements **** (default:-false) -- ``include_header`` (bool) - adds status information when returning +- ``include_header`` (bool) - adds status information when returning headlines, instead of array(articles) return value changes to array(header,-array(articles)) (api-12) @@ -253,25 +246,25 @@ Before **API level 6** maximum amount of returned headlines is capped at This parameters might change in the future (supported since **API-level 2**): -- ``search`` (string) - search query (e.g. a list of-keywords) -- ``search_mode`` (string) - all\_feeds, this\_feed (default), this\_cat +- ``search`` (string) - search query (e.g. a list of-keywords) +- ``search_mode`` (string) - all\_feeds, this\_feed (default), this\_cat (category containing requested-feed) -- ``match_on`` (string) - ignored +- ``match_on`` (string) - ignored Special feed IDs are as follows: -- -1 starred -- -2 published -- -3 fresh -- -4 all articles -- 0 - archived -- IDs \< -10 labels +- -1 starred +- -2 published +- -3 fresh +- -4 all articles +- 0 - archived +- IDs \< -10 labels Sort order values: -- ``date_reverse`` - oldest first -- ``feed_dates`` - newest first, goes by feed date -- ``(nothing)`` - default +- ``date_reverse`` - oldest first +- ``feed_dates`` - newest first, goes by feed date +- ``(nothing)`` - default ### updateArticle @@ -279,12 +272,12 @@ Update information on specified articles. Parameters: -- ``article_ids`` (comma-separated list of-integers) - article IDs to +- ``article_ids`` (comma-separated list of-integers) - article IDs to operate on -- ``mode`` (integer) - type of operation to perform (0 - set to false, 1-- +- ``mode`` (integer) - type of operation to perform (0 - set to false, 1-- set to true, 2 - toggle) -- ``field`` (integer) - field to operate on (0 - starred, 1 - published, 2 - unread, 3 - article note **since api level-1**) -- ``data`` (string) - optional data parameter when setting note field +- ``field`` (integer) - field to operate on (0 - starred, 1 - published, 2 - unread, 3 - article note **since api level-1**) +- ``data`` (string) - optional data parameter when setting note field (since **api level-1**) E.g. to set unread status of articles X and Y to false use the @@ -304,7 +297,7 @@ Since version:1.5.0 returns a status message: Requests JSON-encoded article object with specific ID. -- ``article_id`` (integer) - article ID to return **as of 15.10.2010 +- ``article_id`` (integer) - article ID to return **as of 15.10.2010 git** or version:1.5.0 supports comma-separated list of IDs Since version:1.4.3 also returns article attachments. @@ -317,12 +310,12 @@ Returns tt-rss configuration parameters: {"icons_dir":"icons","icons_url":"icons","daemon_is_running":true,"num_feeds":71} ``` -- ``icons_dir`` - path to icons on the server filesystem -- ``icons_url`` - path to icons when requesting them over http -- ``daemon_is_running`` - whether update daemon is running -- ``num_feeds`` - amount of subscribed feeds (this can be used to-refresh +- ``icons_dir`` - path to icons on the server filesystem +- ``icons_url`` - path to icons when requesting them over http +- ``daemon_is_running`` - whether update daemon is running +- ``num_feeds`` - amount of subscribed feeds (this can be used to-refresh feedlist when this amount changes) -- ``custom_sort_types`` - map of plugin-provided article sort types (API-17+) +- ``custom_sort_types`` - map of plugin-provided article sort types (API-17+) ### updateFeed @@ -330,7 +323,7 @@ Tries to update specified feed. This operation is not performed in the background, so it might take considerable time and, potentially, be aborted by the HTTP server. -- ``feed_id`` (integer) - ID of feed to update +- ``feed_id`` (integer) - ID of feed to update Returns status-message if the operation has been completed. @@ -342,7 +335,7 @@ Returns status-message if the operation has been completed. Returns preference value of specified key. -- ``pref_name`` (string) - preference key to return value of +- ``pref_name`` (string) - preference key to return value of ```json {"value":true} @@ -356,9 +349,9 @@ Tries to catchup (e.g. mark as-read) specified feed. Parameters: -- ``feed_id`` (integer) - ID of feed to update -- ``is_cat`` (boolean) - true if the specified feed\_id is a category -- ``mode`` (string) - optional: one of `all`, `1day`, `1week`, `2week`. defaults to `all`. **since api level 15**. +- ``feed_id`` (integer) - ID of feed to update +- ``is_cat`` (boolean) - true if the specified feed\_id is a category +- ``mode`` (string) - optional: one of `all`, `1day`, `1week`, `2week`. defaults to `all`. **since api level 15**. Returns status-message if the operation has been completed. @@ -374,15 +367,15 @@ Returns a list of unread article counts for specified feed groups. Parameters: -- ``output_mode`` (string) - Feed groups to return counters for +- ``output_mode`` (string) - Feed groups to return counters for Output mode is a character string, comprising several letters (defaults to “flc”): -- f - actual feeds -- l - labels -- c - categories -- t - tags +- f - actual feeds +- l - labels +- c - categories +- t - tags Several global counters are returned as well, those can’t be disabled with output\_mode. diff --git a/docs/Android-Client.md b/docs/Android-Client.md index 7b2631d..a9a907a 100644 --- a/docs/Android-Client.md +++ b/docs/Android-Client.md @@ -6,25 +6,25 @@ nav_order: 40 ## **IMPORTANT** -* The original tt-rss-android project, hosted at https://tt-rss.org/ and its various subdomains, +* The original tt-rss-android project, hosted at and its various subdomains, [will be gone after 2025-11-01](https://community.tt-rss.org/t/the-end-of-tt-rss-org/7164). * There are currently no plans to continue maintaining the app. -* The app's source code may be found at https://github.com/tt-rss/tt-rss-android . -* **APK downloads from https://gitlab.tt-rss.org/tt-rss/tt-rss-android/-/releases are no longer working. This is likely permanent.** +* The app's source code may be found at . +* **APK downloads from are no longer working. This is likely permanent.** * This page's content should only be treated as a historical reference. -* Refer to https://github.com/tt-rss/tt-rss/discussions/29 for more information. +* Refer to for more information. ## Screenshots -[](images/tt-rss-android/Screenshot_20250509_135136.webp) +[Android app main feed view](images/tt-rss-android/Screenshot_20250509_135136.webp) -[](images/tt-rss-android/Screenshot_20250509_135154.webp) +[Android app article list](images/tt-rss-android/Screenshot_20250509_135154.webp) -[](images/tt-rss-android/Screenshot_20250509_135217.webp) +[Android app article view](images/tt-rss-android/Screenshot_20250509_135217.webp) -[](images/tt-rss-android/Screenshot_20250509_135426.webp) +[Android app settings](images/tt-rss-android/Screenshot_20250509_135426.webp) -[](images/tt-rss-android/Screenshot_20250509_135438.webp) +[Android app preferences](images/tt-rss-android/Screenshot_20250509_135438.webp) ## Download @@ -55,7 +55,7 @@ When adding new application in Obtainium, paste [app project page](https://gitla ### I want to help test the app! Are there development builds available? -Sometimes. Releases are not created for signed non-master branch builds, you can get the APKs from build pipeline artifacts [here](https://gitlab.tt-rss.org/tt-rss/tt-rss-android/-/jobs) - look for `build-signed-branch-apk`. Non-master builds install as a separate application with a gray icon. +Sometimes. Releases are not created for signed non-master branch builds, you can get the APKs from [build pipeline artifacts](https://gitlab.tt-rss.org/tt-rss/tt-rss-android/-/jobs) - look for `build-signed-branch-apk`. Non-master builds install as a separate application with a gray icon. ### Why are you not on Google Play? diff --git a/docs/FAQ.md b/docs/FAQ.md index a7f6c6b..9a274a7 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -19,13 +19,13 @@ This assumes you can't simply reset your password via email (login form - forgot If you have OTP (2FA) enabled and know your password but can't provide an OTP token, you can disable OTP via SQL: -``` +```sql UPDATE ttrss_users SET otp_enabled = false WHERE login = 'you' ``` If you don't remember your password run the following query: -``` +```sql UPDATE ttrss_users SET pwd_hash = 'SHA1:5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8', salt = '', otp_enabled = false WHERE login = 'you' @@ -65,12 +65,11 @@ Log in to tt-rss in safe mode (use an incognito window if you can't get to login For combined mode: -``` +```css body.ttrss_main .cdm .content img, body.ttrss_main .cdm .content video { max-height : 90vh; height : auto; } - ``` `90vh` means "90% of viewport height". This works on Chromium and derivatives, you can use `90%` for Firefox. @@ -81,7 +80,7 @@ This is controlled by a global configuration setting. You can override (or-disab Note that this also effectively disables purging of articles stored for inactive users. -### I have questions about article purging / I don't think purging works. +### I have questions about article purging / I don't think purging works Purging is performed on successful feed update, no updates = no purging. @@ -93,7 +92,7 @@ Import date is bumped every time article is encountered in the feed, otherwise i When in doubt, use Feed debugger (`f D` on a-feed) to see additional purging-related information: -``` +```text [11:08:10/6783] purging feed... [11:08:10/6783] purge_feed: interval 60 days for feed XXX, owner: X, purge unread: 1 [11:08:10/6783] purge_feed: deleted 1 articles. @@ -108,13 +107,13 @@ Because the articles are still in the feed XML and get pulled in (again) on next See-also: [Archived Feed](Archived-Feed.md) -### I have used update daemon before, but switched away from it. However, the UI keeps nagging me about the daemon not running or not updating feeds or whatever. +### I have used update daemon before, but switched away from it. However, the UI keeps nagging me about the daemon not running or not updating feeds or whatever -Find and delete daemon lock file in LOCK_DIRECTORY. Usually, it’s lock/update_daemon.lock. You can also remove update_daemon.stamp. +Find and delete daemon lock file in LOCK_DIRECTORY. Usually, it's lock/update_daemon.lock. You can also remove update_daemon.stamp. -### I need an URL I can call to subscribe to feed to integrate with some third party browser extension/application. +### I need an URL I can call to subscribe to feed to integrate with some third party browser extension/application -``` +```text https://example.com/tt-rss/public.php?op=bookmarklets--subscribe&feed_url=%s ``` @@ -124,7 +123,7 @@ If feed URL is empty (or not-given) tt-rss will display feed subscription dialog There's a simple unauthenticated endpoint to do just that: -``` +```bash $ curl -s "https://example.com/tt-rss/public.php?op=getUnread&login=you&fresh=1" ; echo 8;1 $ curl -s "https://example.com/tt-rss/public.php?op=getUnread&login=you" ; echo diff --git a/docs/Generated-Feeds.md b/docs/Generated-Feeds.md index 2155ef1..5a529b9 100644 --- a/docs/Generated-Feeds.md +++ b/docs/Generated-Feeds.md @@ -8,7 +8,7 @@ You can generate a feed (in Atom or JSON-format) for almost anything displayed in headlines buffer (e.g. actual feeds, Labels, Categories,-etc.) by clicking this icon: -![](../images/gen_feed_icon.png) +![Generated feed icon](../images/gen_feed_icon.png) > [!WARNING] > Subscribing to your own feed of search results is going to produce @@ -19,56 +19,56 @@ this icon: Feed URLs are protected using random unique keys which are specific to each generated feed. Key can be regenerated at any time, invalidating previous URL. -![](../images/gen_feed_dialog.png) +![Generated feed dialog](../images/gen_feed_dialog.png) You can clear all generated feeds in Preferences (`Feeds` → `Published-& shared articles`). ## Anatomy of a generated feed URL -``` +```text http://example.com/tt-rss/public.php?op=rss&id=61&is_cat=1&view-mode=adaptive&key=... ``` -- ``id`` (integer) - requested feed ID -- ``is_cat`` (boolean) - whether the feed is a category -- ``view-mode`` (string) - see below -- ``key`` (string) - automatically generated access key, specific to feed id +- ``id`` (integer) - requested feed ID +- ``is_cat`` (boolean) - whether the feed is a category +- ``view-mode`` (string) - see below +- ``key`` (string) - automatically generated access key, specific to feed id -### Optional parameters: +### Optional parameters -- ``login``, ``pass`` - see above -- ``format`` - since version:1.6.0 specifies output format, possible values: ``atom``, ``json`` -- ``limit`` - amount of articles to output, default: 30 -- ``offset`` - start output while skipping this amount of articles, default: 0 -- ``order`` - override default headlines order -- ``ts`` - output articles newer than timestamp in [strtotime](http://www.php.net/manual/en/function.strtotime.php) +- ``login``, ``pass`` - see above +- ``format`` - since version:1.6.0 specifies output format, possible values: ``atom``, ``json`` +- ``limit`` - amount of articles to output, default: 30 +- ``offset`` - start output while skipping this amount of articles, default: 0 +- ``order`` - override default headlines order +- ``ts`` - output articles newer than timestamp in [strtotime](http://www.php.net/manual/en/function.strtotime.php) accepted format (since-version:1.12) i.e. stuff like ts=1%20month%20ago -### Special feed IDs: +### Special feed IDs -- ``-1`` - Starred articles -- ``-2`` - Published articles -- ``-3`` - Fresh articles -- ``-4`` - All articles -- ``0`` - Archived articles +- ``-1`` - Starred articles +- ``-2`` - Published articles +- ``-3`` - Fresh articles +- ``-4`` - All articles +- ``0`` - Archived articles Feed ID values less than `-10` are considered Labels. -### Special category IDs (is\_cat=1): +### Special category IDs (is\_cat=1) -- ``0`` - Uncategorized +- ``0`` - Uncategorized - ``-1`` - Special category (includes Starred, Published,-etc.) - ``-2`` - Labels category (includes your-labels) -### View mode values: +### View mode values -Note: It’s probably not a very good idea to use Adaptive view mode for +Note: It's probably not a very good idea to use Adaptive view mode for generated feeds. -- adaptive - shows unread articles only when they are +- adaptive - shows unread articles only when they are unread articles, shows everything otherwise -- marked (this means-starred), has\_note, +- marked (this means-starred), has\_note, published, unread, unread\_first - should be self explanatory @@ -76,11 +76,11 @@ Actual output may differ between modes for several special feeds for usability reasons, e.g. recently read feed ignores unread specifier because unread articles are never part of the feed). -### Order values: +### Order values -- ``default`` - depends on the feed: either import batch date or (for published and starred-feeds) ``last_published`` and ``last_marked`` -- ``title`` - sort by title -- ``date_reverse`` - reverse sort by batch date -- ``feed_dates`` - sort by feed-provided article dates +- ``default`` - depends on the feed: either import batch date or (for published and starred-feeds) ``last_published`` and ``last_marked`` +- ``title`` - sort by title +- ``date_reverse`` - reverse sort by batch date +- ``feed_dates`` - sort by feed-provided article dates See-also: [Publish Articles](Publish-Articles.md) diff --git a/docs/Global-Config.md b/docs/Global-Config.md index 12c6674..bd9df06 100644 --- a/docs/Global-Config.md +++ b/docs/Global-Config.md @@ -6,7 +6,7 @@ nav_order: 21 All settings (see `_DEFAULTS[]` for default-values) are listed here: -- https://github.com/tt-rss/tt-rss/blob/main/classes/Config.php (source code, including default-values) +- (source code, including default-values) It is preferred to adjust tt-rss global configuration through the environment (e.g. using your Docker `.env`-file): diff --git a/docs/Installation-Guide.md b/docs/Installation-Guide.md index 3773e99..a4d42f1 100644 --- a/docs/Installation-Guide.md +++ b/docs/Installation-Guide.md @@ -17,7 +17,7 @@ nav_order: 2 The main (and-recommended) way to run tt-rss is under Docker. -Docker images for https://github.com/tt-rss/tt-rss are being built (for `linux/amd64` and-`linux/arm64`) and published +Docker images for are being built (for `linux/amd64` and-`linux/arm64`) and published ([via GitHub-Actions](https://github.com/tt-rss/tt-rss/actions/workflows/publish.yml)) to: * Docker Hub (as-[supahgreg/tt-rss](https://hub.docker.com/r/supahgreg/tt-rss/) and [supahgreg/tt-rss-web-nginx](https://hub.docker.com/r/supahgreg/tt-rss-web-nginx/)). * GitHub Container Registry (as-[ghcr.io/tt-rss/tt-rss](https://github.com/orgs/tt-rss/packages/container/package/tt-rss) @@ -88,7 +88,7 @@ HTTP_PORT=127.0.0.1:8280 ### docker-compose.yml >[!WARNING] -> See [this FAQ entry](#i-got-the-updated-compose-file-above-and-now-my-database-keeps-restarting) +> See [this FAQ entry](#i-got-the-updated-docker-compose-file-above-and-now-my-database-keeps-restarting) > if you're upgrading between PostgreSQL major versions (e.g. 15 to-17). > [!WARNING] @@ -97,7 +97,7 @@ HTTP_PORT=127.0.0.1:8280 Consider using an alternative backup solution if you're using PostgreSQL 18. > * The PostgreSQL 18 Docker image changed the volume from `/var/lib/postgresql/data` to `/var/lib/postgresql`. > The example below includes a commented-out volume mapping that demonstrates this. -> * See https://hub.docker.com/_/postgres and https://github.com/docker-library/postgres/pull/1259 for more info. +> * See and for more info. ```yaml services: @@ -179,7 +179,7 @@ volumes: ## FAQ -### Your Docker images won't run on X! +### Your Docker images won't run on X If you're using an OS or architecture that isn't currently supported you'll likely need to build your own Docker images by using an override and running `docker compose build`. @@ -258,7 +258,7 @@ TTRSS_SELF_URL_PATH=http://example.com/tt-rss Don't use quotes around values. Note the prefix (`TTRSS_`) before the value. -Look [here](https://github.com/tt-rss/tt-rss/wiki/Global-Config) for more information. +Look at [Global-Config](Global-Config.md) for more information. #### Container options @@ -278,7 +278,7 @@ services: ### I'm trying to run CLI tt-rss scripts inside the container and they complain about root In your Docker Compose directory, run something like one of the examples below. -Check https://github.com/tt-rss/tt-rss/blob/main/.docker/app/Dockerfile for the latest image's PHP version. +Check for the latest image's PHP version. ```sh docker compose exec --user app app php84 /var/www/html/tt-rss/update.php --help @@ -335,7 +335,7 @@ Copy and/or git clone any third party plugins into ``plugins.local`` as usual. First, check that all containers are running: -``` +```text $ docker compose ps Name Command State Ports ------------------------------------------------------------------------------------------------------------ @@ -348,7 +348,7 @@ ttrss-docker-demo_web-nginx_1_fcef07eb5c55 /docker-entrypoint.sh ngin ... Up Then, ensure that frontend (`web-nginx` or-`web`) container is up and can contact FPM (`app`) container: -``` +```text $ docker compose exec web-nginx ping app PING app (172.18.0.3): 56 data bytes 64 bytes from 172.18.0.3: seq=0 ttl=64 time=0.144 ms @@ -423,7 +423,7 @@ Note that `proxy_pass` in this example points to container website root. #### Apache example -``` +```apache ProxyPreserveHost On @@ -510,6 +510,6 @@ You'll need to set several mandatory environment values to the container running You'll have to make your own. -### I'm using Podman, and... +### I'm using Podman, and We neither test against nor support Podman. diff --git a/docs/Making-Plugins.md b/docs/Making-Plugins.md index 2080839..e93c797 100644 --- a/docs/Making-Plugins.md +++ b/docs/Making-Plugins.md @@ -15,14 +15,14 @@ with anything specific. Some useful information may be found here: -- https://github.com/tt-rss/tt-rss/blob/main/classes/PluginHost.php -- https://github.com/tt-rss/tt-rss/blob/main/classes/Plugin.php +- +- Frontend (JS) uses different hooks, which are defined in [PluginHost.js](https://github.com/tt-rss/tt-rss/blob/main/js/PluginHost.js) ## Localization support -See ``time_to_read`` plugin for a complete example [here](https://github.com/tt-rss/tt-rss-plugin-time-to-read) +See ``time_to_read`` plugin for [a complete example](https://github.com/tt-rss/tt-rss-plugin-time-to-read) ### Implementation diff --git a/docs/Plugins.md b/docs/Plugins.md index dcc287c..4ec0cc7 100644 --- a/docs/Plugins.md +++ b/docs/Plugins.md @@ -35,13 +35,13 @@ i.e. ``Af_ExamplePlugin`` should be copied to ``plugins.local/af_exampleplugin`` ## First party plugins (maintained on this site but not bundled with-tt-rss) -https://github.com/orgs/tt-rss/repositories?q=tt-rss-plugin+sort%3Aname-asc + ## Third party plugins > [!WARNING] -> We’re not responsible for third party plugins. Use at your own risk. - +> We're not responsible for third party plugins. Use at your own risk. +> > [!NOTE] > Third party plugins may be unmaintained and incompatible with newer tt-rss > code (especially those from the old-forums). Please report plugin-related @@ -51,47 +51,47 @@ https://github.com/orgs/tt-rss/repositories?q=tt-rss-plugin+sort%3Aname-asc #### A Tiny Tiny RSS plugin to post to a Wallabag v2 instance -https://github.com/joshp23/ttrss-to-wallabag-v2 + #### A plugin for Tiny Tiny RSS, to shorten urls via Yourls -https://github.com/joshp23/tt-rss-yourls + #### Adds support for sharing links with Shaarli to tt-rss -https://github.com/joshp23/tt-rss-shaarli + #### Convert DOI and other links to Sci-Hub links in TT-Rss -https://github.com/joshp23/ttrss-to-Sci-Hub + ### Feed data manipulation plugins #### Enable embedded videos in feeds - videoframes -https://github.com/tribut/ttrss-videoframes + #### Configurable plugin to replace article stub with content from the linked URL's page -https://github.com/feediron/ttrss_plugin-feediron + #### A simple plugin to assist in the display of images from NASA's Astronomy Picture of the Day feed in TT-RSS -https://github.com/joshp23/TTRSS-APOD-Fix + ### Webcomics plugins #### Comic plugin GU Comics, Married to the sea & Toothpaste for dinner -https://github.com/tribut/ttrss-comics + #### Lint/tidy plugin to repair invalid feeds -https://github.com/Churten/tt-rss-ff-xmllint + #### Embed content from Tapastic rss streams -https://github.com/ldidry/af_tapastic.git + ### API plugins @@ -99,26 +99,26 @@ https://github.com/ldidry/af_tapastic.git Use any RSS app or client that supports FreshRSS or the Google Reader API. -https://github.com/eric-pierce/freshapi + #### Fever API emulator Simulates the Fever API for reading RSS Feeds with your Fever clients. -https://github.com/DigitalDJ/tinytinyrss-fever-plugin + ### Other plugins #### Generate QR codes from article links, with xhr support and no disk cache -https://github.com/GregThib/ttrss-qrcodegen + #### Send XMPP notifications via Prosody mod_post_msg -https://github.com/joshp23/ttrss-notify-xmpp-prosody + #### Plugins for alternative navigation and night mode Set of plugins to (1) use cursor keys for a tree-style article navigation; (2) change to a minimal set of hotkeys; (3) toggle night mode for custom themes; (4) change the sort order of unread articles to Oldest first. -https://github.com/ltGuillaume/FeedMei/tree/master/plugins.local/ + diff --git a/docs/Scoring.md b/docs/Scoring.md index 1167107..146ddb8 100644 --- a/docs/Scoring.md +++ b/docs/Scoring.md @@ -4,29 +4,29 @@ title: Scoring nav_order: 47 --- -Scoring is supported in a way similar to some newsreaders. Score is calculated -on article import using special filters with a "Modify score" action. - -Resulting score is a sum of all score modifiers from all matching filters. For -example, if the article matches two filters A (score-+100) and B (score--50), -the resulting score will be 50. - -Article score affects the position of the article in the headline buffer (which -is sorted by score) and alters the way article is displayed: - -| Score | Display / Action | -|-------|------------------| -| `<-500` | Score indicator points down, article is automatically marked as read -| `<-100` | Score indicator points down -| `<0` | Score indicator points down, 1.5.0: article is excluded from Fresh feed and (as of 1.5.10 also excluded from email-digest) | -| `0` | Display normally | -| `>0` | Score indicator points up | -| `>500` | Score indicator points up | -| `>1000` | Same as above, article is also marked as starred | - -### Adjusting manually - -Calculated score for an individual article may be adjusted by clicking on score -indicator in the headlines list: - -![](../images/score_indicator2.png) +Scoring is supported in a way similar to some newsreaders. Score is calculated +on article import using special filters with a "Modify score" action. + +Resulting score is a sum of all score modifiers from all matching filters. For +example, if the article matches two filters A (score-+100) and B (score--50), +the resulting score will be 50. + +Article score affects the position of the article in the headline buffer (which +is sorted by score) and alters the way article is displayed: + +| Score | Display / Action | +|-------|------------------| +| `<-500` | Score indicator points down, article is automatically marked as read | +| `<-100` | Score indicator points down | +| `<0` | Score indicator points down, 1.5.0: article is excluded from Fresh feed and (as of 1.5.10 also excluded from email-digest) | +| `0` | Display normally | +| `>0` | Score indicator points up | +| `>500` | Score indicator points up | +| `>1000` | Same as above, article is also marked as starred | + +### Adjusting manually + +Calculated score for an individual article may be adjusted by clicking on score +indicator in the headlines list: + +![Score indicator](../images/score_indicator2.png) diff --git a/docs/Share-Anything.md b/docs/Share-Anything.md index e85e2c2..37b4bae 100644 --- a/docs/Share-Anything.md +++ b/docs/Share-Anything.md @@ -12,7 +12,7 @@ Sharing is available via bookmarklet in Preferences: (`Feeds`-→ `Bookmarklets`) (if you have ``bookmarklets`` plugin-enabled) or through Android application. -![](../images/share_anything.png) +![Share anything dialog](../images/share_anything.png) Since they have no actual originating feed, shared articles are placed into [Archived articles](Archived-Feed) feed and then set published. diff --git a/index.md b/index.md index 70eff46..8b7e3fc 100644 --- a/index.md +++ b/index.md @@ -12,9 +12,9 @@ Tiny Tiny RSS (tt-rss) is a free, flexible, open-source, web-based news feed (RS ## Screenshots -[](images/tt-rss/25.05/Screenshot_2025-05-10_at_09.22.19.webp) -[](images/tt-rss/25.05/Screenshot_2025-05-10_at_09.21.21.webp) -[](images/tt-rss/25.05/Screenshot_2025-05-10_at_09.22.50.webp) +[tt-rss main interface](images/tt-rss/25.05/Screenshot_2025-05-10_at_09.22.19.webp) +[tt-rss article view](images/tt-rss/25.05/Screenshot_2025-05-10_at_09.21.21.webp) +[tt-rss preferences](images/tt-rss/25.05/Screenshot_2025-05-10_at_09.22.50.webp) ## Features @@ -46,7 +46,7 @@ See the [Installation Guide](docs/Installation-Guide.md) for detailed instructio > [!WARNING] > If you choose to run tt-rss without using Docker support might be limited. - +> > [!NOTE] > Tiny Tiny RSS uses a continuous development model based on the `main` branch, which is considered stable. > It's strongly recommended that you remain current-- meaning using either the most recent Docker image(s) or commit on `main`.