aboutsummaryrefslogtreecommitdiff
path: root/docs/en/developers
AgeCommit message (Collapse)Author
2023-02-23docs: Minz Framwork (#5102)Gravatar maTh
* done * Update docs/fr/developers/Minz/index.md Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2023-02-23Corrected `frss:xPathItemTitle` definition (#5140)Gravatar mincerafter42
2023-02-09XML+XPath (#5076)Gravatar Alexandre Alapetite
* XML+XPath #fix https://github.com/FreshRSS/FreshRSS/issues/5075 Implementation allowing to take an XML document as input using an XML parser (instead of an HTML parser for HTML+XPath) * Remove noise from another PR * Better MIME for XML * And add glob *.xml for cache cleaning * Minor syntax * Add glob json for clean cache
2023-01-09Update dev dependencies (#4993)Gravatar Alexandre Alapetite
Related to https://github.com/FreshRSS/FreshRSS/pull/4991 Required a few changes in code to pass the tests
2022-10-23GReader API doc and improvements (#4763)Gravatar Alexandre Alapetite
* GReader API doc and improvements #fix https://github.com/FreshRSS/FreshRSS/issues/4762 * Minor slash * HTTPS for web.archive.org
2022-10-16Update NewsFlash app entry (#4650)Gravatar Jan Lukas Gernert
* Update NewsFlash app entry * update fr readme & remove FeedReader * Tested Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2022-10-09Add support for custom XPath date/time format (#4703)Gravatar Alexandre Alapetite
* Add support for custom XPath date/time format #fix https://github.com/FreshRSS/FreshRSS/issues/4701 Improvement of https://github.com/FreshRSS/FreshRSS/pull/4220 * Format is not XPath * Remove TODOs in en-GB
2022-10-03Add documentation to work with feed snapshots (#4598)Gravatar Alexis Degrugillier
2022-09-29Rename template.css (#4644)Gravatar maTh
* Fix conflicts * Update doc * Misses * Update prefix in CSS Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2022-09-10Add Fluent Reader Lite (#4595)Gravatar Alexandre Alapetite
#fix https://github.com/FreshRSS/FreshRSS/issues/3418
2022-08-22lire app (#4523)Gravatar Matt Sephton
* Update README.md Add lire, sort alphabetically * Mix conflict * English * GReader * Duplicate line Reeder Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2022-08-18XPath ability to define the UID manually (#4507)Gravatar Alexandre Alapetite
* XPath ability to define the UID manually * Fix error in i18n
2022-08-18Easier full-text search possibility (#4505)Gravatar Alexandre Alapetite
* Easier full-text search possibility Contributes to https://github.com/FreshRSS/FreshRSS/issues/1331 Avoid concats in searches to make text indexes easier to build * Fix tests * Documentation
2022-08-15Article css filtering (#4501)Gravatar papaschloss
* Update feedController.php * Update subscriptionController.php * Update DatabaseDAO.php * Update Entry.php * Update Feed.php * Update FeedDAO.php * Update install.sql.mysql.php * Update install.sql.pgsql.php * Update install.sql.sqlite.php * Update sub.php * Update opml.phtml * Update ImportService.php * Update update.phtml * Update feed.js * Update install.sql.mysql.php * Update install.sql.pgsql.php * Update install.sql.sqlite.php * Update sub.php * Update sub.php * Update sub.php * Update sub.php * Update sub.php * Update sub.php * Update sub.php * Update sub.php * Update sub.php * Update sub.php * Update sub.php * Update sub.php * Update sub.php * Update sub.php * Update sub.php * Update sub.php * Update sub.php * Update FeedDAO.php * Update feedController.php * Update subscriptionController.php * Update Entry.php * Update Feed.php * Update feedController.php * Update subscriptionController.php * Update ImportService.php * Update opml.phtml * Update update.phtml * Update update.phtml * Update update.phtml * Update DatabaseDAO.php * Update app/Models/Entry.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> * Update app/i18n/fr/sub.php Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> * Update p/scripts/feed.js Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr> * Update app/Controllers/feedController.php * make fix-all * Update documentation * css_path_filter help message * i18n en-us ignore Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2022-08-10Composer require php extensions (#4497)Gravatar Alexandre Alapetite
#fix https://github.com/FreshRSS/FreshRSS/discussions/4494
2022-07-04Dynamic OPML (#4407)Gravatar Alexandre Alapetite
* Dynamic OPML draft #fix https://github.com/FreshRSS/FreshRSS/issues/4191 * Export dynamic OPML http://opml.org/spec2.opml#1629043127000 * Restart with simpler approach * Minor revert * Export dynamic OPML also for single feeds * Special category type for importing dynamic OPML * Parameter for excludeMutedFeeds * Details * More draft * i18n * Fix update * Draft manual import working * Working manual refresh * Draft automatic update * Working Web refresh + fixes * Import/export dynamic OPML settings * Annoying numerous lines in SQL logs * Fix minor JavaScript error * Fix auto adding new columns * Add require * Add missing 🗲 * Missing space * Disable adding new feeds to dynamic categories * Link from import * i18n typo * Improve theme icon function * Fix pink-dark
2022-06-19Document fixes & tests (#4418)Gravatar Alexandre Alapetite
* Document fixes & tests #fix https://github.com/FreshRSS/FreshRSS/issues/4213 Help https://github.com/FreshRSS/FreshRSS/pull/4400#issuecomment-1159347683 * Link to tests.yml * sudo * Link to GitHub Actions * Add Fedora and Alpine
2022-05-12Refactor OPML export categories (#4356)Gravatar Alexandre Alapetite
* Refactor OPML export categories Simplify code to comply with types hints. And renamed a property to plural. * Link to OPML namespace
2022-05-12OPML export/import of some proprietary FreshRSS attributes (#4342)Gravatar Alexandre Alapetite
* OPML export/import of some proprietary FreshRSS attributes #fix https://github.com/FreshRSS/FreshRSS/issues/4077 And one of the TODOs of https://github.com/FreshRSS/FreshRSS/pull/4220 XPath options, CSS Selector, and action filters * Bump library patch version * OPML namespace + documentation * Add example
2022-03-08Documentation: added information about code checks (#4266)Gravatar maTh
* Update 02_First_steps.md * Update 02_First_steps.md * Update 02_First_steps.md * Update 02_First_steps.md * Update 02_First_steps.md
2022-03-06News+ use GitHub links (#4262)Gravatar Alexandre Alapetite
Google Play links do not work anymore
2022-02-28Update markdownlint-cli dev dependency (#4241)Gravatar Alexandre Alapetite
* Update markdownlint-cli dev dependency And fix https://github.com/advisories/GHSA-6vfc-qv3f-vr6c * npm ci
2022-02-27Documentation improved: mobile access (#4235)Gravatar maTh
* Update 06_Mobile_access.md * Readme: Windows + MacOS * fix markdown * Update docs/en/users/06_Mobile_access.md Co-authored-by: Frans de Jonge <fransdejonge@gmail.com> * Update docs/en/users/06_Mobile_access.md Co-authored-by: Frans de Jonge <fransdejonge@gmail.com> * MacOS -> macOS * Update 06_Mobile_access.md * Update docs/en/users/06_Mobile_access.md Co-authored-by: Frans de Jonge <fransdejonge@gmail.com> Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
2022-01-08Use typographic quotes (#4133)Gravatar Alexandre Alapetite
* Use typographic quotes * A few fixes * Fix * Fix not saved * Implement feedback * Detail * Revert spoken English fixes Left for a future dedicated discussion * More reverts * Final reverts * Final minor
2022-01-08Fix various typos and spelling errors in documentation, comments and code. ↵Gravatar Thomas Renes
(#4134)
2022-01-04PHPStan level 5 (#4110)Gravatar Alexandre Alapetite
* Fix most PHPDocs errors Contributes to https://github.com/FreshRSS/FreshRSS/issues/4103 https://phpstan.org/writing-php-code/phpdoc-types * Avoid func_get_args Use variadic syntax instead https://php.net/manual/functions.arguments#functions.variable-arg-list And avoid dynamic functions names when possible to more easily identify calls and unused functions. Contributes to https://github.com/FreshRSS/FreshRSS/issues/4103 * PHPStan level 3 * PHPStand level 4 * Update default to PHPStan level 4 * Towards level 5 * Fix level 4 regression * Towards level 5 * Pass PHPStan level 5 * Towards level 6 * Remove erronenous regression from changelog https://github.com/FreshRSS/FreshRSS/pull/4116
2021-11-02Remove remains of Travis (#3941)Gravatar Alexandre Alapetite
* Remove remains of Travis Follow-up of https://github.com/FreshRSS/FreshRSS/pull/3920 * Update docs/en/developers/03_Running_tests.md Co-authored-by: Frans de Jonge <fransdejonge@gmail.com> * Apply suggestions from code review Co-authored-by: Frans de Jonge <fransdejonge@gmail.com> Co-authored-by: Alexis Degrugillier <aledeg@users.noreply.github.com>
2021-10-23Improved markdownlint (#3918)Gravatar Alexandre Alapetite
* Improved markdownlint * Relaxed rules slighlty * `npm run markdownlint` for automatic tests * `npm run markdownlint_fix` for automatic syntax fixing * Applied the fixes on all our Markdown files
2021-10-23Split fever & greader into two separate pages. (#3905)Gravatar Felix Bühler
* [docs] add newsflash to fever-clients * [docs] split fever&greader-apis into two pages and make the more consistent
2021-07-11Add system configuration for extension (#3626)Gravatar Alexis Degrugillier
Before, only the user configuration was supported by extensions. But it was limiting if one has to create a system extension with configuration. Now, both user and system configuration are supported.
2021-05-04Update README.md (#3601)Gravatar Strubbl
* Update README.md Readably is not available anymore * More lines to remove Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2021-03-15Quick update the doc for master renaming to edgeGravatar Alexandre Alapetite
2021-02-17Add user maintenance hooks (#3440)Gravatar Alexis Degrugillier
The new hook allows to add maintenance extensions at the user level. See #3398
2021-02-06Theme Documentation (#3415)Gravatar Lukas Vacula
* 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
2021-02-02Add comprehensive user configuration in extensions (#3397)Gravatar Alexis Degrugillier
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.
2021-01-13Update extension documentation (#3352)Gravatar Alexis Degrugillier
Before the extension documentation was not very clear about the methods in the extension and how to use them. I hope that now it makes more sense.
2021-01-10Update and add to documentation (#3348)Gravatar ldv8434
* 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>
2021-01-09Add class autoload for extension (#3350)Gravatar Alexis Degrugillier
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.
2021-01-07two new hooks (#3342)Gravatar Clemens Neubauer
* 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>
2020-12-29Add a file for each PDO class (#3301)Gravatar Alexis Degrugillier
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.
2020-12-28Revert "Add a file for each PDO class (#3297)"Gravatar Alexandre Alapetite
This reverts commit e1ee58816ba76734e4115fc12898b13de665b220.
2020-12-28Add a file for each PDO class (#3297)Gravatar Alexis Degrugillier
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.
2020-07-08Add a migration system (#2760)Gravatar Marien Fressinaud
* 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): https://github.com/FreshRSS/FreshRSS/commit/cc0db9af4f980829faa4bf0960617807b32fb4fa#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>
2020-06-10Add support for extensions in Docker environment (#3042)Gravatar Alexis Degrugillier
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" ```
2020-05-25tec: Add a make lint command in the Makefile (#2996)Gravatar Marien Fressinaud
2020-05-21Add documentation for i18n (#2978)Gravatar Marien Fressinaud
* 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>
2020-02-29[i18n] Add documentation for new hooks (#2815)Gravatar Frans de Jonge
See <https://github.com/FreshRSS/FreshRSS/pull/2704#issuecomment-592950971>.
2020-01-06Add guidance for pull requestsGravatar Marien Fressinaud
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!
2019-12-29tec: Add a test target to Makefile (#2725)Gravatar Marien Fressinaud
* 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
2019-12-15Make master the rolling release branch (#2705)Gravatar Marien Fressinaud
* 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