mirror of
https://github.com/tt-rss/tt-rss.github.io.git
synced 2026-09-18 14:11:46 +00:00
Start addressing super-linter findings.
This commit is contained in:
@@ -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 <https://tt-rss.github.io>.
|
||||
|
||||
## License
|
||||
|
||||
@@ -44,7 +44,7 @@ bundle exec jekyll serve
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
```text
|
||||
tt-rss.github.io/
|
||||
├── _config.yml # Jekyll configuration
|
||||
├── index.md # Homepage
|
||||
|
||||
+74
-81
@@ -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:
|
||||
<code>error: "API_DISABLED"</code>
|
||||
- If specified username and password are incorrect:
|
||||
<code>error: "LOGIN_ERROR"</code>
|
||||
- If API is disabled for this user:
|
||||
<code>error: "API_DISABLED"</code>
|
||||
- If specified username and password are incorrect:
|
||||
<code>error: "LOGIN_ERROR"</code>
|
||||
|
||||
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 **<span class="10 api"></span>** (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.
|
||||
|
||||
+10
-10
@@ -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 <https://tt-rss.org/> 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 <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.**
|
||||
* 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 <https://github.com/tt-rss/tt-rss/discussions/29> for more information.
|
||||
|
||||
## Screenshots
|
||||
|
||||
[<img src="images/tt-rss-android/Screenshot_20250509_135136.webp" width="120" align="left">](images/tt-rss-android/Screenshot_20250509_135136.webp)
|
||||
[<img src="images/tt-rss-android/Screenshot_20250509_135136.webp" width="120" align="left" alt="Android app main feed view">](images/tt-rss-android/Screenshot_20250509_135136.webp)
|
||||
|
||||
[<img src="images/tt-rss-android/Screenshot_20250509_135154.webp" width="120" align="left">](images/tt-rss-android/Screenshot_20250509_135154.webp)
|
||||
[<img src="images/tt-rss-android/Screenshot_20250509_135154.webp" width="120" align="left" alt="Android app article list">](images/tt-rss-android/Screenshot_20250509_135154.webp)
|
||||
|
||||
[<img src="images/tt-rss-android/Screenshot_20250509_135217.webp" width="120" align="left">](images/tt-rss-android/Screenshot_20250509_135217.webp)
|
||||
[<img src="images/tt-rss-android/Screenshot_20250509_135217.webp" width="120" align="left" alt="Android app article view">](images/tt-rss-android/Screenshot_20250509_135217.webp)
|
||||
|
||||
[<img src="images/tt-rss-android/Screenshot_20250509_135426.webp" width="120" align="left">](images/tt-rss-android/Screenshot_20250509_135426.webp)
|
||||
[<img src="images/tt-rss-android/Screenshot_20250509_135426.webp" width="120" align="left" alt="Android app settings">](images/tt-rss-android/Screenshot_20250509_135426.webp)
|
||||
|
||||
[<img src="images/tt-rss-android/Screenshot_20250509_135438.webp" width="120">](images/tt-rss-android/Screenshot_20250509_135438.webp)
|
||||
[<img src="images/tt-rss-android/Screenshot_20250509_135438.webp" width="120" alt="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?
|
||||
|
||||
|
||||
+10
-11
@@ -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 <code>LOCK_DIRECTORY</code>. Usually, it’s <code>lock/update_daemon.lock</code>. You can also remove <code>update_daemon.stamp</code>.
|
||||
Find and delete daemon lock file in <code>LOCK_DIRECTORY</code>. Usually, it's <code>lock/update_daemon.lock</code>. You can also remove <code>update_daemon.stamp</code>.
|
||||
|
||||
### 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
|
||||
|
||||
+31
-31
@@ -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:
|
||||
|
||||

|
||||

|
||||
|
||||
> [!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.
|
||||
|
||||

|
||||

|
||||
|
||||
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 <code>ts=1%20month%20ago</code>
|
||||
|
||||
### 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.
|
||||
|
||||
- <code>adaptive</code> - shows unread articles only when they are
|
||||
- <code>adaptive</code> - shows unread articles only when they are
|
||||
unread articles, shows everything otherwise
|
||||
- <code>marked</code> (this means-starred), <code>has\_note</code>,
|
||||
- <code>marked</code> (this means-starred), <code>has\_note</code>,
|
||||
<code>published</code>, <code>unread</code>,
|
||||
<code>unread\_first</code> - 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 <code>unread</code>
|
||||
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)
|
||||
|
||||
@@ -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)
|
||||
- <https://github.com/tt-rss/tt-rss/blob/main/classes/Config.php> (source code, including default-values)
|
||||
|
||||
It is preferred to adjust tt-rss global configuration through the environment (e.g. using your Docker `.env`-file):
|
||||
|
||||
|
||||
+10
-10
@@ -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 <https://github.com/tt-rss/tt-rss> 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 <https://hub.docker.com/_/postgres> and <https://github.com/docker-library/postgres/pull/1259> 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 <https://github.com/tt-rss/tt-rss/blob/main/.docker/app/Dockerfile> 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
|
||||
<IfModule mod_proxy.c>
|
||||
<Location /tt-rss>
|
||||
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.
|
||||
|
||||
@@ -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
|
||||
- <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
|
||||
|
||||
|
||||
+18
-18
@@ -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
|
||||
<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
|
||||
<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
|
||||
<https://github.com/joshp23/tt-rss-yourls>
|
||||
|
||||
#### Adds support for sharing links with Shaarli to tt-rss
|
||||
|
||||
https://github.com/joshp23/tt-rss-shaarli
|
||||
<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
|
||||
<https://github.com/joshp23/ttrss-to-Sci-Hub>
|
||||
|
||||
### Feed data manipulation plugins
|
||||
|
||||
#### Enable embedded videos in feeds - videoframes
|
||||
|
||||
https://github.com/tribut/ttrss-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
|
||||
<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
|
||||
<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
|
||||
<https://github.com/tribut/ttrss-comics>
|
||||
|
||||
#### Lint/tidy plugin to repair invalid feeds
|
||||
|
||||
https://github.com/Churten/tt-rss-ff-xmllint
|
||||
<https://github.com/Churten/tt-rss-ff-xmllint>
|
||||
|
||||
#### Embed content from Tapastic rss streams
|
||||
|
||||
https://github.com/ldidry/af_tapastic.git
|
||||
<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
|
||||
<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
|
||||
<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
|
||||
<https://github.com/GregThib/ttrss-qrcodegen>
|
||||
|
||||
#### Send XMPP notifications via Prosody mod_post_msg
|
||||
|
||||
https://github.com/joshp23/ttrss-notify-xmpp-prosody
|
||||
<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/
|
||||
<https://github.com/ltGuillaume/FeedMei/tree/master/plugins.local/>
|
||||
|
||||
+26
-26
@@ -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:
|
||||
|
||||

|
||||
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:
|
||||
|
||||

|
||||
|
||||
@@ -12,7 +12,7 @@ Sharing is available via bookmarklet in Preferences: (`Feeds`-→
|
||||
`Bookmarklets`) (if you have ``bookmarklets`` plugin-enabled) or through Android
|
||||
application.
|
||||
|
||||

|
||||

|
||||
|
||||
Since they have no actual originating feed, shared articles are placed into
|
||||
[Archived articles](Archived-Feed) feed and then set published.
|
||||
|
||||
@@ -12,9 +12,9 @@ Tiny Tiny RSS (tt-rss) is a free, flexible, open-source, web-based news feed (RS
|
||||
|
||||
## Screenshots
|
||||
|
||||
[<img src="images/tt-rss/25.05/Screenshot_2025-05-10_at_09.22.19.webp" width="350" style="float: left">](images/tt-rss/25.05/Screenshot_2025-05-10_at_09.22.19.webp)
|
||||
[<img src="images/tt-rss/25.05/Screenshot_2025-05-10_at_09.21.21.webp" width="350" style="float: left">](images/tt-rss/25.05/Screenshot_2025-05-10_at_09.21.21.webp)
|
||||
[<img src="images/tt-rss/25.05/Screenshot_2025-05-10_at_09.22.50.webp" width="350">](images/tt-rss/25.05/Screenshot_2025-05-10_at_09.22.50.webp)
|
||||
[<img src="images/tt-rss/25.05/Screenshot_2025-05-10_at_09.22.19.webp" width="350" style="float: left" alt="tt-rss main interface">](images/tt-rss/25.05/Screenshot_2025-05-10_at_09.22.19.webp)
|
||||
[<img src="images/tt-rss/25.05/Screenshot_2025-05-10_at_09.21.21.webp" width="350" style="float: left" alt="tt-rss article view">](images/tt-rss/25.05/Screenshot_2025-05-10_at_09.21.21.webp)
|
||||
[<img src="images/tt-rss/25.05/Screenshot_2025-05-10_at_09.22.50.webp" width="350" alt="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`.
|
||||
|
||||
Reference in New Issue
Block a user