* Newsboat support
Newsboat is a feed reader for the unix-derived terminal, and is the successor to Newsbeuter. FreshRSS support has been merged into master <f18145fc98> but there has not yet been a release since then. In the meantime I've created this pull request that can be merged whenever it becomes strictly accurate.
I've filled out the table to the best of my ability, but I'm not completely clear on what "Fast sync" and "Fetch more in individual views" mean.
* Does not work offline with freshrss
* More doc
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Remove file data/do-install.txt
This file was painful during update because we had to remember to delete
it each time. It added a security issue by allowing an attacker to
reinstall FreshRSS during the update process.
The (more powerful) file data/applied_migrations.txt has been introduced
in 8619cf6fa to replace do-install.txt. We had to wait for at least one
release in order to make sure existing instances of FreshRSS created the
migration file. It should be ok now.
* Replace i18n install.not_deleted key
* Update documentation to update FreshRSS
* adding self CREDITS.md
* add "theme" to link for easier navigation
* add documentation about themes and the files that go in them
* add admin documentation for themes
* fix markdown styling
* fix CSSJanus usage
Before, the extension configuration was handled by its author. There
was discrepancies between extensions on how the configuration was
stored.
Now, we could rely on a single way of storing configuration. This won't
invalidate how the extensions are storing their configuration but will
allow authors to focus on what is important.
* remove outdated mailing list information
* add information about normal view
* add information about global and reader view
* fix import section header
* reorder documentation to reflect menu's order
* clarify setting as default in normal view
* add info about reading section for config
* fix heading levels, add info about archive + profile sections
* unfix heading levels
* move section on feed-specific settings to the subscription management page
* update information about adding feeds, add information about feed management
* fix link to security page in installation
* fix broken links
* fix broken link to install page
* add lighttpd from project readme
* add php modules to step 4, add horizontal line to better separate steps from footnotes visually
* fix broken link
* add index page for easier access of other pages
* move first steps document
* make dedicated bug reporting page
* make index page for linking to other pages
* moved fever API to relevant location, linked to index
* remove outdated mailing list information
* add information about normal view
* add information about global and reader view
* fix import section header
* reorder documentation to reflect menu's order
* clarify setting as default in normal view
* add info about reading section for config
* fix heading levels, add info about archive + profile sections
* unfix heading levels
* move section on feed-specific settings to the subscription management page
* update information about adding feeds, add information about feed management
* fix link to security page in installation
* fix broken links
* fix broken link to install page
* add lighttpd from project readme
* add php modules to step 4, add horizontal line to better separate steps from footnotes visually
* fix broken link
* add index page for easier access of other pages
* move first steps document
* make dedicated bug reporting page
* make index page for linking to other pages
* moved fever API to relevant location, linked to index
* re-fix link
* remove mention of defunct mailing list
* grammar fix
* replace stream with feed
* add optional items, replace stream with feed
* replace stream with feed
* fix word choice
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* fix word choice
better reflect age of project
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* grammar fixes
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* remove double headings
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* change single quote to double quote for consistency
* add subreddit link
* change php module list to Dockerfile link
* fix link to developer index, change html links to md for consistency
* update css selector terms
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
When an extension defines an `autoload` method, it will be registered
automatically before enabling the extension.
For the extension creator, it's easier because there is no need to
register it manually.
There is a CLI command to export from any database to a SQLite database
and also a CLI command to import a SQLite database to any database than
need to be documented.
See #961
* Change user query wording
There was some misunderstanding in the use of the user query feature,
probably because of the wording. I've change it to make it more obvious.
* Fix feedback when a query is bookmarked
Before, the displayed query name was not the one intended. Now, the name is the one of the current bookmark
* Document user queries
I've added a few words on how to use the user queries because it seems there was some misunderstanding. See #3219
* add two new hooks
I develop a new extension and i need 2 new hooks for it
* update EN documentation
* Correct typing errors
* Update app/views/helpers/javascript_vars.phtml
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Adding info about combining css classes
Adding info about combining css classes using comma separation
* Update 05_Configuration.md
* Apply suggestions from code review
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
Before, we had 5 classes in the ModelPdo file. It was bad for 2 reasons.
The first reason is that it is considered bad practice to have multiple
class in one file. This is especially true when using autoloading. On top
of that it is less readable considering the size of the file. The second
reason is that so far we were lucky. Everytime we needed to access the
database, it was through the ModelPdo class which loads all the other
classes. If we want to access directly the connection, it wont be loaded.
On top of that, the system is configured to work on a single database,
but as we have every connection definition in a single file, all classes
were loaded at the same time. Thus using memory and processing time for
nothing.
Now, we have a file for each class. To work with autoloading, classes
were slightly renamed to match autoloading rules.
Before, we had 5 classes in the ModelPdo file. It was bad for 2 reasons.
The first reason is that it is considered bad practice to have multiple
class in one file. This is especially true when using autoloading. On top
of that it is less readable considering the size of the file. The second
reason is that so far we were lucky. Everytime we needed to access the
database, it was through the ModelPdo class which loads all the other
classes. If we want to access directly the connection, it wont be loaded.
On top of that, the system is configured to work on a single database,
but as we have every connection definition in a single file, all classes
were loaded at the same time. Thus using memory and processing time for
nothing.
Now, we have a file for each class. To work with autoloading, classes
were slightly renamed to match autoloading rules.
* Remove News+ (Google Reader extension does not exist anymore)
* Remove News+ (Google Reader extension does not exist anymore)
* Update link to News+ Google Reader extension
* Update link to News+ Google Reader extension
* A few more links
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Docs: Add Fluent Reader to API Clients
Fluent Reader is a desktop RSS reader built with Electron, React, and Fluent UI supporting Fever API.
See more: https://github.com/yang991178/fluent-reader
* RSS client list: Add section for cross plattform
Adds in the RSS Client List a Section for Cross-Plattform Desktop Clients (Windows, Linux and MacOS)
* Docs: API Clients: Table instead of List
* Docs: API Clients: Change `Free Software` to `License`
* Add me (No Name Pro) to Credits-File :)
* Docs (FR): API Client List as table + Fluent Reader
* Add a Minz_Migrator class
Until now, we updated the database structure somewhere in the code but
it wasn't always consistent and somehow complicated to find. Also, this
code was always checked for nothing.
The Migrator aims to improve and ease the creation of migrations. It
should improve the way we apply the updates, making the update server
almost useless.
References:
- example of migration (before Migrator): cc0db9af4f (diff-11a53443fa81512b128c66b065df0679R10)
- update server: https://github.com/FreshRSS/update.freshrss.org
- PR moving the code of the update server to the core: https://github.com/FreshRSS/FreshRSS/pull/1760
* Automatically apply migrations
For now, administrators are used to have nothing to do during an update
else than getting the new code. I suggest to keep this behaviour and
automatically apply migrations if we detect new ones.
Another solution would be to create a CLI command and ask admins to call
it after getting the new code. It could hide migrations errors to end
users, but admin can forget to apply migrations since there are not used
to it.
* Add documentation for Minz Migrator
* Execute migrations even if next ones are applied
* Change mechanism to prevent multiple update at once
* Use mkdir to create the lock and to test it exists
Reference: https://stackoverflow.com/a/731634
* Append .lock to applied_migrations_path
There are no needs to define another file to serve as a lock.
* Change migrations naming convention
* Apply suggestions from code review
Co-Authored-By: Alexandre Alapetite <alexandre@alapetite.fr>
* Perform a low-cost migration versions comparaison
* Clarify version numbers concerning the migration system
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Add auto-registration when using http_auth
* Document HTTP auth auto-registration
* Check email variable for HTTP auth auto-registration
* Auto-create HTTP users by default
* Fix Context init
(I will provide in another PR a better fix requiring a bit of global refactoring)
* Init language
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
By default, the container starts without extensions. But if for some reasons,
you need to add them without copying or moving some code, you can embed them
while starting the container. The syntax is:
```
make start extensions="/full/path/to/extension/1 /full/path/to/extension/2"
```
* doc: Write proper doc for internationalization
* Apply suggestions from code review
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update docs/en/internationalization.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update 04_Subscriptions.md
- ajouter un flux
- import/export
* Update 04_Subscriptions.md
* Update 04_Subscriptions.md
* Update 04_Subscriptions.md
Translated in english from https://github.com/Saimyx/FreshRSS/edit/master/docs/fr/users/04_Subscriptions.md
* Update 04_Subscriptions.md
* Update docs/en/users/04_Subscriptions.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update docs/en/users/04_Subscriptions.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update docs/en/users/04_Subscriptions.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update docs/en/users/04_Subscriptions.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update docs/en/users/04_Subscriptions.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update docs/en/users/04_Subscriptions.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update docs/en/users/04_Subscriptions.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update docs/en/users/04_Subscriptions.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update docs/en/users/04_Subscriptions.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update docs/en/users/04_Subscriptions.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update docs/en/users/04_Subscriptions.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update docs/en/users/04_Subscriptions.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update docs/fr/users/04_Subscriptions.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update 04_Subscriptions.md
* Update docs/en/users/04_Subscriptions.md
* Update docs/en/users/04_Subscriptions.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update docs/en/users/04_Subscriptions.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update docs/en/users/04_Subscriptions.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update docs/en/users/04_Subscriptions.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Language improvements
* Language improvements
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Add the possibility to filter by feed ID like `f:123 more-search`
or multiple feed IDs, like `f:123,234,345 more-search` or an exclusion
like `!f:456,789 more-search`
* Implement negation for searching by date intervals
#fix https://github.com/FreshRSS/FreshRSS/issues/2866
Allow searching for e.g. `!date:P1W` to exlude all articles newer than
one week.
More generally, allows exclusion on some date intervals.
* Fix OR
The main reason for this checklist is to not forget about documentation,
and to encourage us to write more tests. I hope it'll help us to improve
both!
* tec: Add a test target to Makefile
Minor edit put php7-phar on third line
I try to keep on the third line the Alpine-specific PHP extensions (i.e.
that are not by default in Ubuntu), and in alphabetic order
Co-Authored-By: Alexandre Alapetite <alexandre@alapetite.fr>
* Allow to run make test without Docker
* Change default TAG in Makefile
We are going to drop the `dev` branch. The Docker tag `dev-*` are based
on this branch and so there will be no longer be generated. We must use
images based on the `master` branch (i.e. `latest`, `alpine` and `arm`).
* Remove references to dev branch in documentation
* Synchronize French documentation
* [i18n] Add docs po4a script
* Add proof of concept
* Add a few more translations
* Hush ShellCheck and shfmt
* Make that list po4a-friendly
* drat, this document could've probably been auto-generated
* Definitive proof that it's translated from French ;-)
* Add some brand spanking new French translation
* More translation
* Mostly finish that config page
* Fix up FAQ
* More contributing
* Dev first steps
* Let's ignore that admin stuff at the very least for now
* Translate release new version, make French the source first and copy all translations
Then replace French with English in the source.
Much quicker than any alternative route.
* And add the English translation
* Minor stylistic leftover from French
* Most of first steps
* Forgot the extensions
* Use po4a 0.56 to get rid of way too many newlines
* Fix up those newlines
* No point linking to Firefox integration anymore from the new user guide
* Start on main view
* A bunch of main view stuff
* More main view
* And some subscriptions before going to bed
* First steps for devs
* More dev first steps
* Incomplete French → English dev/GH translation
Because I need to ask about that mailing list thing
* Fix typo in docs/en/developers/02_Github.md
* Translate & complete devs/github to English
* Fix up most of extensions
* Is that supposed to be a non-breaking space? Let's see
* Match up some users/mobile access
* More users/mobile access
* Add fresh French translation to Fever API
* Fix typo
* Match frontend todo thingies
* Fix a typo
* Some extensions strings
* Remove Fx subscription service from the docs
Cf. https://github.com/FreshRSS/FreshRSS/pull/2606
* Add translation for https://github.com/FreshRSS/FreshRSS/pull/2643
* fix typo as per https://github.com/FreshRSS/FreshRSS/pull/2643#discussion_r345433009
* Add some more French translations
* Update French translation as per @aledeg comment https://github.com/FreshRSS/FreshRSS/pull/2590#discussion_r345465909
* Translate some of the meaningless stuff
* Translate the rest of contributing.md to French
* Fix conflicts
* Translate Docker first steps to French
* Update with change from #2665
* Add @aledeg corrections
* Overlooked a couple @aledeg corrections thanks to GitHub autohide
* Latest @aledeg suggestions
Before, some ad-blocker rules were preventing to display the sharing page
because of its name. I've renamed that page to integration but kept every
thing else identical. So it's still called sharing through out the
application.
If needed, this can be addressed as well.
See #2509 and #2419