From 987e283677bde3d3f5926655a4673fb38961d08b Mon Sep 17 00:00:00 2001 From: supahgreg Date: Sun, 5 Oct 2025 19:53:08 +0000 Subject: Switch to GitHub format for alerts/notifications. --- Archived-Feed.md | 2 +- Content-Filters.md | 6 +-- Email-Digests.md | 30 +++++++-------- Encryption.md | 2 +- FAQ.md | 2 +- Feed-Handler-Plugins.md | 60 ++++++++++++++--------------- Generated-Feeds.md | 2 +- Global-Config.md | 2 +- Installation-Notes.md | 6 +-- Plugins.md | 6 +-- Publish-Articles.md | 2 +- SSL-Certificate-Authentication.md | 2 +- Search-Syntax.md | 44 ++++++++++----------- Securing-Cache-Directories.md | 80 +++++++++++++++++++-------------------- Sorting.md | 2 +- 15 files changed, 124 insertions(+), 124 deletions(-) diff --git a/Archived-Feed.md b/Archived-Feed.md index 7e2828f..440fbbc 100644 --- a/Archived-Feed.md +++ b/Archived-Feed.md @@ -3,7 +3,7 @@ Archived is the place for articles for which originating feed no longer exists. It's either Starred articles from unsubscribed feeds or [externally shared data](Share-Anything). -!!! notice +[!NOTE] Articles in Archived feed are not expired automatically, you can delete them manually using `Select...` → `Delete permanently` in the main toolbar. diff --git a/Content-Filters.md b/Content-Filters.md index 74a6aaa..b1020c1 100644 --- a/Content-Filters.md +++ b/Content-Filters.md @@ -9,7 +9,7 @@ Matching is case-insensitive, [PCRE](http://php.net/manual/en/reference.pcre.pattern.syntax.php) pattern syntax is used. -!!! notice +[!NOTE] Filter test dialog may not give entirely accurate results, especially for complex filters. It is suggested to test filters using ``Feed debugger`` (hotkey `f D`) if you @@ -41,7 +41,7 @@ expressions. Filter matching is performed during feed processing. -!!! notice +[!NOTE] Some actions may be applied only when the article is initially imported from the feed. Other actions may be applied every time article is seen in the originating @@ -51,7 +51,7 @@ Filter matching is performed during feed processing. Several actions are available: -!!! warning +[!WARNING] Filters may not apply actions conditionally based on previous filters. All actions for an article are applied together, once. diff --git a/Email-Digests.md b/Email-Digests.md index 4f7b629..9966cec 100644 --- a/Email-Digests.md +++ b/Email-Digests.md @@ -1,15 +1,15 @@ -# Email Digests - -Users may opt into receiving daily (sent once every 24 hours) digests of unread headlines via email. - -Digests are sent out by the update daemon or if running update.php —feeds -manually. At most 15 messages are sent in one batch. - -!!! notice - - [PHPMailer plugin](https://github.com/supahgreg/tt-rss-plugin-mailer-smtp) is required to send mail under Docker. - - -* Digests may be customized by editing ``templates/digest_template*.txt``. -* You can preview your digest contents in preferences. - +# Email Digests + +Users may opt into receiving daily (sent once every 24 hours) digests of unread headlines via email. + +Digests are sent out by the update daemon or if running update.php —feeds +manually. At most 15 messages are sent in one batch. + +[!NOTE] + + [PHPMailer plugin](https://github.com/supahgreg/tt-rss-plugin-mailer-smtp) is required to send mail under Docker. + + +* Digests may be customized by editing ``templates/digest_template*.txt``. +* You can preview your digest contents in preferences. + diff --git a/Encryption.md b/Encryption.md index dfaa48a..e76c880 100644 --- a/Encryption.md +++ b/Encryption.md @@ -10,6 +10,6 @@ php ./update.php --gen-encryption-key If enabled, existing plaintext login sessions are automatically encrypted when used, plaintext feed passwords are encrypted on feed update. -!!! warning +[!WARNING] Automatic encryption of plaintext data is a one-way process. If you decide to disable `TTRSS_ENCRYPTION_KEY` afterwards, all encrypted sessions would become invalid and you will get logged out. Feed passwords would become unreadable until you either enable encryption back using same key or edit feeds manually. diff --git a/FAQ.md b/FAQ.md index 8691a25..2226f70 100644 --- a/FAQ.md +++ b/FAQ.md @@ -5,7 +5,7 @@ hide: # FAQ -!!! notice +[!NOTE] [Docker-related stuff has a separate FAQ page](Installation-Notes#faq) diff --git a/Feed-Handler-Plugins.md b/Feed-Handler-Plugins.md index 789a5ef..61fe15b 100644 --- a/Feed-Handler-Plugins.md +++ b/Feed-Handler-Plugins.md @@ -1,30 +1,30 @@ -# Feed handler plugins - -!!! warning - - Unless you have a strong need for these plugins, using them is not recommended. If - you do use them, at least don't enable them for all feeds. - -Some plugins utilize global per-feed content hooks which either modify fetched -feed XML data (i.e. fixing broken XML) or even generate it entirely, for tt-rss -to process, for websites that don't actually provide RSS feeds. - -While having this ability available for plugins is valuable there are several -downsides: - -1. This entirely bypasses rate-limiting and article duplicate checking done - during normal feed update process. A badly written plugin using - HOOK_FETCH_FEED may cause your tt-rss feed to keep updating - feeds indefinitely, processing all articles every time, causing unnecessary - CPU load on your server. - -2. If you have full text content plugins enabled, this may cause excessive load - on origin server, because your tt-rss instance is going to scrape site - content for every provided article on every feed update. - -This may result in your tt-rss instance being banned by origin servers for -causing excessive load and/or your VDS being suspended for suspected bad -behavior. - -Additionally, tt-rss being blacklisted by feed publishers may negatively affect -other users. +# Feed handler plugins + +[!WARNING] + + Unless you have a strong need for these plugins, using them is not recommended. If + you do use them, at least don't enable them for all feeds. + +Some plugins utilize global per-feed content hooks which either modify fetched +feed XML data (i.e. fixing broken XML) or even generate it entirely, for tt-rss +to process, for websites that don't actually provide RSS feeds. + +While having this ability available for plugins is valuable there are several +downsides: + +1. This entirely bypasses rate-limiting and article duplicate checking done + during normal feed update process. A badly written plugin using + HOOK_FETCH_FEED may cause your tt-rss feed to keep updating + feeds indefinitely, processing all articles every time, causing unnecessary + CPU load on your server. + +2. If you have full text content plugins enabled, this may cause excessive load + on origin server, because your tt-rss instance is going to scrape site + content for every provided article on every feed update. + +This may result in your tt-rss instance being banned by origin servers for +causing excessive load and/or your VDS being suspended for suspected bad +behavior. + +Additionally, tt-rss being blacklisted by feed publishers may negatively affect +other users. diff --git a/Generated-Feeds.md b/Generated-Feeds.md index e0afbfb..dd48e64 100644 --- a/Generated-Feeds.md +++ b/Generated-Feeds.md @@ -6,7 +6,7 @@ this icon: ![](../images/gen_feed_icon.png) -!!! warning +[!WARNING] Subscribing to your own feed of search results is going to produce duplicate articles on each and every feed update. diff --git a/Global-Config.md b/Global-Config.md index 9dfbe4b..1f2d972 100644 --- a/Global-Config.md +++ b/Global-Config.md @@ -48,7 +48,7 @@ putenv('TTRSS_SESSION_COOKIE_LIFETIME=86400*30'); // instead you're casting string literal "86400*30" to an integer ``` -!!! notice +[!NOTE] All values should be precalculated when setting via `.env` because they are not evaluated by PHP and used as-is. diff --git a/Installation-Notes.md b/Installation-Notes.md index effcf64..7e3aaf7 100644 --- a/Installation-Notes.md +++ b/Installation-Notes.md @@ -6,7 +6,7 @@ The Docker images related to https://github.com/supahgreg/tt-rss are: * https://hub.docker.com/r/supahgreg/tt-rss * https://hub.docker.com/r/supahgreg/tt-rss-web-nginx -!!! notice +[!NOTE] Podman is not Docker. Please don't report issues when using Podman or podman-compose. @@ -171,7 +171,7 @@ services: `BUILDKIT_CONTEXT_KEEP_GIT_DIR` build argument is needed to display tt-rss version info properly. If that doesn't work for you (no BuildKit?) you'll have to resort to terrible hacks. -!!! warning +[!WARNING] Self-built images are not supported. @@ -266,7 +266,7 @@ Note: `sudo -E` is needed to keep environment variables. ### How do I add plugins and themes? -!!! notice +[!NOTE] First party plugins can be added using plugin installer in `Preferences` → `Plugins`. diff --git a/Plugins.md b/Plugins.md index 6e981b7..99027bf 100644 --- a/Plugins.md +++ b/Plugins.md @@ -27,7 +27,7 @@ https://github.com/topics/tt-rss-plugin , https://github.com/topics/ttrss-plugin ### Installing plugins -!!! notice +[!NOTE] First party plugins can be added via built-in plugin installer in `Preferences` → `Plugins`. @@ -41,11 +41,11 @@ https://github.com/supahgreg?tab=repositories&q=tt-rss-plugin&sort=name ## Third party plugins -!!! warning +[!WARNING] We’re not responsible for third party plugins. Use at your own risk. -!!! notice +[!NOTE] Third party plugins may be unmaintained and incompatible with newer tt-rss code (especially those from the old forums). Please report plugin-related diff --git a/Publish-Articles.md b/Publish-Articles.md index 1cb4a50..50eca0e 100644 --- a/Publish-Articles.md +++ b/Publish-Articles.md @@ -13,6 +13,6 @@ icon](http://feedicons.com/) near headline title: Resulting URL is displayed in Preferences (`Feeds` → `Published & shared articles`). -!!! notice +[!NOTE] You can also publish articles automatically using filters (`Action` → `Publish article`). diff --git a/SSL-Certificate-Authentication.md b/SSL-Certificate-Authentication.md index c12f5cc..2d172ba 100644 --- a/SSL-Certificate-Authentication.md +++ b/SSL-Certificate-Authentication.md @@ -1,6 +1,6 @@ # SSL Certificate Authentication -!!! warning +[!WARNING] This guide is considered legacy and is no longer supported as it is not compatible with [stock docker compose](Installation-Notes) setup. Please don't report any issues when diff --git a/Search-Syntax.md b/Search-Syntax.md index 86a8d4d..7f5e22c 100644 --- a/Search-Syntax.md +++ b/Search-Syntax.md @@ -1,22 +1,22 @@ -# Search Syntax - -!!! notice - - This only applies to built-in search, other search plugins like may override this syntax. - -Search query consists of several keywords. Keyword starting with "-" is considered a negative match. Several special keywords are available: - -* ``@{date}`` - match by date. For example, @yesterday or @2011-11-03. Please note that due to incomplete implementation, special date keywords like yesterday might not match all articles if user timezone is different from tt-rss internal timezone (UTC). -* ``pub:{true,false}`` - match only published or unpublished articles -* ``star:{true, false}`` - same, starred articles -* ``unread:{true, false}`` - self explanatory (requires trunk as of 05.03.2015) -* ``note:{true, false, sometext}`` - same, for articles having an attached note or matching the specified text -* ``label:Somelabel`` - articles that belong to a specified label -* ``tag:mytag`` - articles which have specified tag -* ``title:``, ``author:`` - self explanatory - -When searching by keyword with spaces, use quotes like this: `"title:string with spaces"` or `tag:"multiple words"` - -If no special keywords are specified, search is done using PostgreSQL [Full Text Search](https://www.postgresql.org/docs/current/textsearch-intro.html) engine. - -Pointless as it may be, you can combine negative prefix with the special keywords: -star:true would essentially mean star:false. +# Search Syntax + +[!NOTE] + + This only applies to built-in search, other search plugins like may override this syntax. + +Search query consists of several keywords. Keyword starting with "-" is considered a negative match. Several special keywords are available: + +* ``@{date}`` - match by date. For example, @yesterday or @2011-11-03. Please note that due to incomplete implementation, special date keywords like yesterday might not match all articles if user timezone is different from tt-rss internal timezone (UTC). +* ``pub:{true,false}`` - match only published or unpublished articles +* ``star:{true, false}`` - same, starred articles +* ``unread:{true, false}`` - self explanatory (requires trunk as of 05.03.2015) +* ``note:{true, false, sometext}`` - same, for articles having an attached note or matching the specified text +* ``label:Somelabel`` - articles that belong to a specified label +* ``tag:mytag`` - articles which have specified tag +* ``title:``, ``author:`` - self explanatory + +When searching by keyword with spaces, use quotes like this: `"title:string with spaces"` or `tag:"multiple words"` + +If no special keywords are specified, search is done using PostgreSQL [Full Text Search](https://www.postgresql.org/docs/current/textsearch-intro.html) engine. + +Pointless as it may be, you can combine negative prefix with the special keywords: -star:true would essentially mean star:false. diff --git a/Securing-Cache-Directories.md b/Securing-Cache-Directories.md index b78cafc..15dba7a 100644 --- a/Securing-Cache-Directories.md +++ b/Securing-Cache-Directories.md @@ -1,40 +1,40 @@ -# Securing Cache Directories - -!!! notice - - Official container images restrict `/cache` access by default. This page applies only to - legacy host installations. - -While nothing critical is stored in cache directories by tt-rss nor do files -have easily guessable names, you may consider forbidding external access over -HTTP to these directories anyway. This is not required, however. - -You may also consider restricting access to config.php, just in case. - -## Using nginx - -```nginx -location /tt-rss/cache { - deny all; -} - -location = /tt-rss/config.php { - deny all; -} -``` - -Note: official docker setup has this out of the box. - -## Using apache (2.4 syntax) - -```apache - - Require all denied - - - - - Require all denied - - -``` +# Securing Cache Directories + +[!NOTE] + + Official container images restrict `/cache` access by default. This page applies only to + legacy host installations. + +While nothing critical is stored in cache directories by tt-rss nor do files +have easily guessable names, you may consider forbidding external access over +HTTP to these directories anyway. This is not required, however. + +You may also consider restricting access to config.php, just in case. + +## Using nginx + +```nginx +location /tt-rss/cache { + deny all; +} + +location = /tt-rss/config.php { + deny all; +} +``` + +Note: official docker setup has this out of the box. + +## Using apache (2.4 syntax) + +```apache + + Require all denied + + + + + Require all denied + + +``` diff --git a/Sorting.md b/Sorting.md index b107e82..1fa91a7 100644 --- a/Sorting.md +++ b/Sorting.md @@ -3,7 +3,7 @@ Tiny Tiny RSS provides four options for how articles appear within a selected feed: `Default`, `Newest`, `Oldest`, `Title`. -!!! notice +[!NOTE] Special feeds (e.g. *Starred articles*) have unique sorting when *Default* is selected, otherwise they behave as described below. -- cgit v1.2.3-54-g00ecf