aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTING.md4
-rw-r--r--CREDITS.md78
-rw-r--r--Docker/README.md34
-rw-r--r--README.fr.md26
-rw-r--r--README.md21
-rw-r--r--docs/en/admins/01_Index.md2
-rw-r--r--docs/en/admins/02_Prerequisites.md6
-rw-r--r--docs/en/admins/03_Installation.md4
-rw-r--r--docs/en/admins/05_Backup.md37
-rw-r--r--docs/en/admins/05_Configuring_email_validation.md2
-rw-r--r--docs/en/admins/06_LinuxInstall.md56
-rw-r--r--docs/en/admins/07_LinuxUpdate.md46
-rw-r--r--docs/en/contributing.md2
-rw-r--r--docs/en/developers/02_First_steps.md36
-rw-r--r--docs/en/developers/02_Github.md22
-rw-r--r--docs/en/developers/03_Running_tests.md18
-rw-r--r--docs/en/developers/04_Frontend/02_Design.md14
-rw-r--r--docs/en/developers/04_Pull_requests.md32
-rw-r--r--docs/en/developers/05_Release_new_version.md26
-rw-r--r--docs/en/users/04_Subscriptions.md26
-rw-r--r--docs/en/users/07_Frequently_Asked_Questions.md13
-rw-r--r--docs/fr/contributing.md5
-rw-r--r--docs/fr/developers/01_First_steps.md2
-rw-r--r--docs/fr/developers/02_Github.md34
-rw-r--r--docs/fr/developers/03_Running_tests.md12
-rw-r--r--docs/fr/developers/05_Release_new_version.md26
-rw-r--r--docs/fr/users/01_Installation.md24
-rw-r--r--docs/fr/users/04_Subscriptions.md15
-rw-r--r--docs/i18n/freshrss.fr.po60
-rw-r--r--docs/i18n/templates/freshrss.pot46
-rw-r--r--docs/pull_request_template.md2
31 files changed, 423 insertions, 308 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 032fa8192..2541eb992 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -31,7 +31,7 @@ Did you want to fix a bug? To keep a great coordination between collaborators, y
1. Be sure the bug is associated to a ticket and say you work on it.
2. [Fork this project repository](https://help.github.com/articles/fork-a-repo/).
3. [Create a new branch](https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/). The name of the branch must be explicit and being prefixed by the related ticket id. For instance, `783-contributing-file` to fix [ticket #783](https://github.com/FreshRSS/FreshRSS/issues/783).
-4. Make your changes to your fork and [send a pull request](https://help.github.com/articles/using-pull-requests/) on the **master branch**.
+4. Make your changes to your fork and [send a pull request](https://help.github.com/articles/using-pull-requests/) on the **edge branch**.
If you have to write code, please follow [our coding style recommendations](https://freshrss.github.io/FreshRSS/en/developers/01_First_steps.html).
@@ -49,4 +49,4 @@ Learn how to contribute to translations in [the dedicated documentation](./docs/
## Contribute to documentation
-[The documentation](https://freshrss.github.io/FreshRSS/) always needs improvements in order to be more useful to newcomers. If you want to give some help, meet us on [the dedicated sub-folder](https://github.com/FreshRSS/FreshRSS/tree/master/docs)!
+[The documentation](https://freshrss.github.io/FreshRSS/) always needs improvements in order to be more useful to newcomers. If you want to give some help, meet us on [the dedicated sub-folder](https://github.com/FreshRSS/FreshRSS/tree/edge/docs)!
diff --git a/CREDITS.md b/CREDITS.md
index 070e79177..dc7a910ad 100644
--- a/CREDITS.md
+++ b/CREDITS.md
@@ -8,22 +8,22 @@ People are sorted by name so please keep this order.
---
-* [Adrien Dorsaz](https://github.com/Trim): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=Trim), [Web](https://adorsaz.ch/)
+* [Adrien Dorsaz](https://github.com/Trim): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Trim), [Web](https://adorsaz.ch/)
* [Alexander Steinhöfer](https://github.com/lx-s): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:lx-s), [Web](https://lx-s.de/)
-* [Alexandre Alapetite](https://github.com/Alkarex): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=Alkarex), [Web](https://alexandre.alapetite.fr/)
-* [Alexis Degrugillier](https://github.com/aledeg): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=aledeg)
-* [Alwaysin](https://github.com/Alwaysin): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=Alwaysin)
-* [Amaury Carrade](https://github.com/AmauryCarrade): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=AmauryCarrade), [Web](https://amaury.carrade.eu/)
+* [Alexandre Alapetite](https://github.com/Alkarex): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Alkarex), [Web](https://alexandre.alapetite.fr/)
+* [Alexis Degrugillier](https://github.com/aledeg): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:aledeg)
+* [Alwaysin](https://github.com/Alwaysin): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Alwaysin)
+* [Amaury Carrade](https://github.com/AmauryCarrade): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:AmauryCarrade), [Web](https://amaury.carrade.eu/)
* [Andrew Hunter](https://github.com/rexbron): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:rexbron)
* [Andrew Rabert](https://github.com/nvllsvm): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:nvllsvm), [Web](https://nullsum.net)
* [Anton Smirnov](https://github.com/arokettu): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:arokettu), [Web](https://sandfox.me/)
* [ArthurHoaro](https://github.com/ArthurHoaro): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:ArthurHoaro)
-* [ASMfreaK](https://github.com/ASMfreaK): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=ASMfreaK)
+* [ASMfreaK](https://github.com/ASMfreaK): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:ASMfreaK)
* [Benjamin Bouvier](https://github.com/bnjbvr): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:bnjbvr), [Web](https://benj.me/)
* [bpatath](https://github.com/bpatath): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:bpatath)
* [Brewal Bouvet](https://github.com/Jucgshu): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Jucgshu), [Web](https://dizolo.eu/)
* [Brooke.](https://github.com/BrookeDot): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:BrookeDot), [Web](https://brooke.codes/)
-* [chemical1979](https://github.com/chemical1979): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=chemical1979)
+* [chemical1979](https://github.com/chemical1979): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:chemical1979)
* [Clemens Neubauer](https://github.com/cn-tools): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:cn-tools), [Web](http://cn-tools.eu/)
* [Corentin Garcia](https://github.com/corenting): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:corenting), [Web](http://corenting.fr/)
* [Craig Andrews](https://github.com/candrews): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:candrews), [Web](http://candrews.integralblue.com/)
@@ -31,69 +31,69 @@ People are sorted by name so please keep this order.
* [Crupuk](https://github.com/Crupuk): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Crupuk)
* [Damien Leroy](https://github.com/ShiiFu): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:ShiiFu)
* [Damstre](https://github.com/Damstre): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Damstre)
-* [danc](https://github.com/danc): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=danc), [Web](http://tintouli.free.fr/)
+* [danc](https://github.com/danc): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:danc), [Web](http://tintouli.free.fr/)
* [David Souza](https://github.com/araujo0205): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:araujo0205), [Web](http://davidsouza.tech/)
* [Django Janny](https://github.com/keltroth): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:keltroth)
* [dswd](https://github.com/dswd): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:dswd)
-* [ealdraed](https://github.com/ealdraed): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=ealdraed)
+* [ealdraed](https://github.com/ealdraed): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:ealdraed)
* [Ed Sandor](https://github.com/ewsandor): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:ewsandor), [Web](https://ewsandor.com)
* [equinoxmatt](https://github.com/equinoxmatt): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:equinoxmatt)
* [fabianski7](https://github.com/fabianski7): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:fabianski7)
* [Fake4d](https://github.com/Fake4d): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Fake4d)
* [Felix2yu 石渠清心](https://github.com/Felix2yu): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Felix2yu), [Web](https://yufei.im/)
* [flo0627](https://github.com/flo0627): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:flo0627)
-* [Frans de Jonge](https://github.com/Frenzie): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=Frenzie), [Web](http://fransdejonge.com/)
+* [Frans de Jonge](https://github.com/Frenzie): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Frenzie), [Web](http://fransdejonge.com/)
* [Gaurav Thakur](https://github.com/notfoss): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:notfoss), [Web](https://blog.notfoss.com/)
* [Gregor Nathanael Meyer](https://github.com/spackmat): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:spackmat), [Web](https://der-meyer.de)
* [gsongsong](https://github.com/gsongsong): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:gsongsong)
* [Guillaume Fillon](https://github.com/kokaz): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:kokaz), [Web](http://www.guillaume-fillon.com/)
* [Guillaume Hayot](https://github.com/postblue): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:postblue), [Web](https://postblue.info/)
* [Guillaume Pugnet](https://github.com/GuillaumePugnet): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:GuillaumePugnet)
-* [hckweb](https://github.com/hckweb): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=hckweb)
+* [hckweb](https://github.com/hckweb): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:hckweb)
* [hesch](https://github.com/hesch): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:hesch)
* [hoilc](https://github.com/hoilc): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:hoilc)
* [Jake Mannens](https://github.com/jakem72360): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:jakem72360)
* [Jan van den Berg](https://github.com/jan-vandenberg): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:jan-vandenberg), [Web](https://j11g.com/)
-* [Jaussoin Timothée](https://github.com/edhelas): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=edhelas), [Web](http://edhelas.movim.eu/)
+* [Jaussoin Timothée](https://github.com/edhelas): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:edhelas), [Web](http://edhelas.movim.eu/)
* [Jeremy](https://github.com/Germs2004): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Germs2004)
* [jlefler](https://github.com/jlefler): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:jlefler)
-* [Jonas Östanbäck](https://github.com/cez81): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=cez81)
+* [Jonas Östanbäck](https://github.com/cez81): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:cez81)
* [Joris Kinable](https://github.com/jkinable): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:jkinable)
* [Jules Bertholet](https://github.com/Jules-Bertholet): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Jules-Bertholet)
-* [Julien Reichardt](https://github.com/j8r): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=j8r), [Web](https://blog.jrei.ch/)
+* [Julien Reichardt](https://github.com/j8r): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:j8r), [Web](https://blog.jrei.ch/)
* [Julien-Pierre Avérous](https://github.com/javerous): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:javerous), [Web](https://www.sourcemac.com/)
-* [Kevin Papst](https://github.com/kevinpapst): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=kevinpapst), [Web](http://www.kevinpapst.de/)
+* [Kevin Papst](https://github.com/kevinpapst): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:kevinpapst), [Web](http://www.kevinpapst.de/)
* [Kiblyn11](https://github.com/Kiblyn11): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Kiblyn11)
* [kinoushe](https://github.com/kinoushe): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:kinoushe)
* [knasdk](https://github.com/knasdk): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:knasdk)
* [Kristian Salonen](https://github.com/krisu5): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:krisu5)
* [Leepic](https://github.com/Leepic): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Leepic)
* [loft17](https://github.com/loft17): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:loft17)
-* [Luc Didry](https://github.com/ldidry): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=ldidry), [Web](https://www.fiat-tux.fr/)
-* [Luc Sanchez](https://github.com/ColonelMoutarde): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=ColonelMoutarde), [Web](https://www.luc-sanchez.fr/)
+* [Luc Didry](https://github.com/ldidry): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:ldidry), [Web](https://www.fiat-tux.fr/)
+* [Luc Sanchez](https://github.com/ColonelMoutarde): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:ColonelMoutarde), [Web](https://www.luc-sanchez.fr/)
* [LucasVerneyDGE](https://github.com/LucasVerneyDGE): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:LucasVerneyDGE)
* [Lukas David Vacula](https://github.com/ldv8434): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:ldv8434), [Web](https://lvacula.com/)
* [Marc Ole Bulling](https://github.com/Forceu): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Forceu)
-* [Marco Hinniger](https://github.com/rom-1): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=rom-1), [Web](https://blog.rootdir.net/)
-* [marcomrc](https://github.com/marcomrc): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=marcomrc)
-* [Marcus Rohrmoser](https://github.com/mro): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=mro), [Web](http://mro.name/~me)
-* [Marien Fressinaud](https://github.com/marienfressinaud): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=marienfressinaud), [Web](https://marienfressinaud.fr/)
+* [Marco Hinniger](https://github.com/rom-1): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:rom-1), [Web](https://blog.rootdir.net/)
+* [marcomrc](https://github.com/marcomrc): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:marcomrc)
+* [Marcus Rohrmoser](https://github.com/mro): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:mro), [Web](http://mro.name/~me)
+* [Marien Fressinaud](https://github.com/marienfressinaud): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:marienfressinaud), [Web](https://marienfressinaud.fr/)
* [Martin](https://github.com/C0rn3j): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:C0rn3j), [Web](https://rys.pw/)
* [Maurice Schleußinger](https://github.com/maurice-schleussinger): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:maurice-schleussinger)
* [Mejans](https://github.com/Mejans): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Mejans)
-* [Melvyn Laïly](https://github.com/yaurthek): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=yaurthek), [Web](http://x2a.yt/)
+* [Melvyn Laïly](https://github.com/yaurthek): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:yaurthek), [Web](http://x2a.yt/)
* [Mike Vanbuskirk](https://github.com/codevbus): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:codevbus) [Web](http://mikevanbuskirk.io/)
-* [MSZ](https://github.com/mszkb): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=mszkb)
+* [MSZ](https://github.com/mszkb): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:mszkb)
* [Myuki](https://github.com/Myuki): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Myuki)
* [Nick Cross](https://github.com/rnc): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:rnc)
* [Nico B](https://github.com/youknow0): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:youknow0)
* [Nicola Spanti](https://github.com/RyDroid): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:RyDroid), [Web](http://www.nicola-spanti.info/)
-* [Nicolas Elie](https://github.com/nicolaselie): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=nicolaselie)
-* [Nicolas Frandeboeuf](https://github.com/nicofrand): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=nicofrand), [Web](https://nicofrand.ey)
-* [Nicolas Lœuillet](https://github.com/nicosomb): [contributions](https://github.com/FreshRSS/documentation/commits?author=nicosomb), [Web](http://www.loeuillet.org/)
-* [No Name Pro](https://github.com/NoNamePro0): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=NoNamePro0)
+* [Nicolas Elie](https://github.com/nicolaselie): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:nicolaselie)
+* [Nicolas Frandeboeuf](https://github.com/nicofrand): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:nicofrand), [Web](https://nicofrand.ey)
+* [Nicolas Lœuillet](https://github.com/nicosomb): [contributions](https://github.com/FreshRSS/documentation/pulls?q=is:pr+author:nicosomb), [Web](http://www.loeuillet.org/)
+* [No Name Pro](https://github.com/NoNamePro0): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:NoNamePro0)
* [Offerel](https://github.com/Offerel): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Offerel)
-* [Olivier Dossmann](https://github.com/blankoworld): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=blankoworld), [Web](https://olivier.dossmann.net)
+* [Olivier Dossmann](https://github.com/blankoworld): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:blankoworld), [Web](https://olivier.dossmann.net)
* [Pablo Caro](https://github.com/pcaro90): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:pcaro90), [Web](https://pcaro.es/)
* [PAHXO](https://github.com/PAHXO): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:PAHXO)
* [Patrick Crandol](https://github.com/pattems): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:pattems)
@@ -102,42 +102,42 @@ People are sorted by name so please keep this order.
* [Peter Stoinov](https://github.com/stoinov): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:stoinov), [Web](https://stoinov.com)
* [Petra Lamborn](https://github.com/petraoleum): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:petraoleum), [Web](https://petras.space)
* [Pim Snel](https://github.com/mipmip): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is%3Apr+author%3Amipmip), [Web](https://www.pimsnel.com)
-* [plopoyop](https://github.com/plopoyop): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=plopoyop)
+* [plopoyop](https://github.com/plopoyop): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:plopoyop)
* [Pofilo](https://github.com/Pofilo): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Pofilo), [Web](https://www.pofilo.fr/)
* [Prashant Tholia](https://github.com/prashanttholia): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:prashanttholia)
* [primaeval](https://github.com/primaeval): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:primaeval)
* [printfuck](https://github.com/printfuck): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:printfuck), [Web](https://eris.cc)
* [purexo](https://github.com/purexo): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:purexo), [Web](https://purexo.mom/)
* [Quent-in](https://github.com/Quent-in): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Quent-in)
-* [Quentin Dufour](https://github.com/superboum): [contributions](https://github.com/FreshRSS/documentation/commits?author=superboum), [Web](http://quentin.dufour.io/)
-* [Quentin Pagès](https://github.com/Quenty31): [contributions](https://github.com/FreshRSS/documentation/commits?author=Quenty31)
+* [Quentin Dufour](https://github.com/superboum): [contributions](https://github.com/FreshRSS/documentation/pulls?q=is:pr+author:superboum), [Web](http://quentin.dufour.io/)
+* [Quentin Pagès](https://github.com/Quenty31): [contributions](https://github.com/FreshRSS/documentation/pulls?q=is:pr+author:Quenty31)
* [Ramón Cutanda](https://github.com/rcutanda): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:rcutanda)
* [Rezad](https://github.com/rezad1393): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:rezad1393)
* [Robert Kaussow](https://github.com/xoxys): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:xoxys), [Web](https://geeklabor.de/)
-* [rocka](https://github.com/rocka): [contributions](https://github.com/FreshRSS/FreshRss/commits/dev?author=rocka)
-* [romibi](https://github.com/romibi): [contributions](https://github.com/FreshRSS/FreshRSS/commits/dev?author=romibi)
+* [rocka](https://github.com/rocka): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:rocka)
+* [romibi](https://github.com/romibi): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:romibi)
* [Rosemary Le Faive](https://github.com/rosiel): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:rosiel)
* [Sandro Jäckel](https://github.com/SuperSandro2000): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:SuperSandro2000), [Web](https://supersandro.de/)
* [Sebastian K](https://github.com/skrollme): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:skrollme)
* [shn7798](https://github.com/shn7798): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:shn7798), [Web](http://www.code2talk.com/)
-* [sirideain](https://github.com/sirideain): [contributions](https://github.com/FreshRSS/FreshRSS/commits/dev?author=sirideain)
+* [sirideain](https://github.com/sirideain): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:sirideain)
* [skrlet13](https://github.com/skrlet13): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:skrlet13), [Web](https://www.skrlet13.cl/)
* [Sp3r4z](https://github.com/Sp3r4z): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Sp3r4z)
-* [subic](https://github.com/subic): [contributions](https://github.com/FreshRSS/documentation/commits?author=subic)
-* [Tets42](https://github.com/Tets42): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=Tets42)
+* [subic](https://github.com/subic): [contributions](https://github.com/FreshRSS/documentation/pulls?q=is:pr+author:subic)
+* [Tets42](https://github.com/Tets42): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Tets42)
* [Thomas Citharel](https://github.com/tcitworld): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:tomgue), [Web](https://www.tcit.fr/)
* [Thomas Guesnon](https://github.com/patjennings): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:patjennings), [Web](http://www.thomasguesnon.fr/)
* [thomas-gt](https://github.com/thomas-gt): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:thomas-gt)
* [ThomasSmallert](https://github.com/ThomasSmallert): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:ThomasSmallert)
* [Ths2-9Y-LqJt6](https://github.com/Ths2-9Y-LqJt6): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Ths2-9Y-LqJt6)
* [Tibor Repček](https://github.com/tiborepcek): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:tiborepcek)
-* [tomgue](https://github.com/tomgue): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=tomgue)
-* [tonitonae](https://github.com/tonitonae): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=tonitonae)
+* [tomgue](https://github.com/tomgue): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:tomgue)
+* [tonitonae](https://github.com/tonitonae): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:tonitonae)
* [Troy Engel](https://github.com/troyengel): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:troyengel)
* [Twilek-de](https://github.com/Twilek-de): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Twilek-de)
* [Uncovery](https://github.com/uncovery): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:uncovery)
* [upskaling](https://github.com/upskaling): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:upskaling)
-* [Wanabo](https://github.com/Wanabo): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=Wanabo)
+* [Wanabo](https://github.com/Wanabo): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Wanabo)
* [wtoscer](https://github.com/wtoscer): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:wtoscer)
* [Yamakuni](https://github.com/Yamakuni): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Yamakuni), [Web](https://ofanch.me/)
* [yzqzss|一座桥在水上](https://github.com/yzqzss): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:yzqzss), [Web](https://blog.othing.xyz/)
diff --git a/Docker/README.md b/Docker/README.md
index fe414cc34..957416841 100644
--- a/Docker/README.md
+++ b/Docker/README.md
@@ -4,6 +4,7 @@
![Docker Pulls](https://img.shields.io/docker/pulls/freshrss/freshrss.svg)
# Deploy FreshRSS with Docker
+
* See also https://hub.docker.com/r/freshrss/freshrss/
@@ -16,11 +17,13 @@ sh get-docker.sh
## Create an isolated network
+
```sh
docker network create freshrss-network
```
## Recommended: use [Træfik](https://traefik.io/) reverse proxy
+
It is a good idea to use a reverse proxy on your host server, providing HTTPS.
Here is the recommended configuration using automatic [Let’s Encrypt](https://letsencrypt.org/) HTTPS certificates and with a redirection from HTTP to HTTPS. See further below for alternatives.
@@ -49,6 +52,7 @@ See [more information about Docker and Let’s Encrypt in Træfik](https://docs.
## Run FreshRSS
+
Example using the built-in refresh cron job (see further below for alternatives).
You must first chose a domain (DNS) or sub-domain, e.g. `freshrss.example.net`.
@@ -82,6 +86,7 @@ docker run -d --restart unless-stopped --log-opt max-size=10m \
This already works with a built-in **SQLite** database (easiest), but more powerful databases are supported:
### [MySQL](https://hub.docker.com/_/mysql/) or [MariaDB](https://hub.docker.com/_/mariadb)
+
```sh
# If you already have a MySQL or MariaDB instance running, just attach it to the FreshRSS network:
docker network connect freshrss-network mysql
@@ -99,6 +104,7 @@ docker run -d --restart unless-stopped --log-opt max-size=10m \
```
### [PostgreSQL](https://hub.docker.com/_/postgres/)
+
```sh
# If you already have a PostgreSQL instance running, just attach it to the FreshRSS network:
docker network connect freshrss-network postgres
@@ -115,6 +121,7 @@ docker run -d --restart unless-stopped --log-opt max-size=10m \
```
### Complete installation
+
Browse to your server https://freshrss.example.net/ to complete the installation via the FreshRSS Web interface,
or use the command line described below.
@@ -135,19 +142,23 @@ docker rm freshrss_old
## [Docker tags](https://hub.docker.com/r/freshrss/freshrss/tags)
+
The tags correspond to FreshRSS branches and versions:
-* `:latest` (default) is the `master` branch, more stable
-* `:dev` is the `dev` branch, rolling release
+
+* `:latest` (default) is the latest stable release
+* `:edge` is the rolling release
* `:x.y.z` are specific FreshRSS releases
* `:arm` or `:*-arm` are the ARM versions (e.g. for Raspberry Pi)
### Linux: Debian vs. Alpine
+
Our default image is based on [Debian](https://www.debian.org/). We offer an alternative based on [Alpine](https://alpinelinux.org/) (with the `*-alpine` tag suffix).
In [our tests](https://github.com/FreshRSS/FreshRSS/pull/2205), Ubuntu is faster,
while Alpine is [smaller on disk](https://hub.docker.com/r/freshrss/freshrss/tags) (and much faster to build).
## Optional: Build Docker image of FreshRSS
+
Building your own Docker image is optional because online images can be fetched automatically.
Note that prebuilt images are less recent and only available for x64 (Intel, AMD) platforms.
@@ -189,10 +200,12 @@ ls /var/www/FreshRSS/
## Cron job to automatically refresh feeds
+
We recommend a refresh rate of about twice per hour (see *WebSub* / *PubSubHubbub* for real-time updates).
There are no less than 3 options. Pick a single one.
### Option 1) Cron inside the FreshRSS Docker image
+
Easiest, built-in solution, also used already in the examples above
(but your Docker instance will have a second process in the background, without monitoring).
Just pass the environment variable `CRON_MIN` to your `docker run` command,
@@ -206,6 +219,7 @@ docker run ... \
```
### Option 2) Cron on the host machine
+
Traditional solution.
Set a cron job up on your host machine, calling the `actualize_script.php` inside the FreshRSS Docker instance.
Remember not pass the `CRON_MIN` environment variable to your Docker run, to avoid running the built-in cron daemon of option 1.
@@ -217,11 +231,13 @@ Example on Debian / Ubuntu: Create `/etc/cron.d/FreshRSS` with:
```
### Option 3) Cron as another instance of the same FreshRSS Docker image
+
For advanced users. Offers good logging and monitoring with auto-restart on failure.
Watch out to use the same run parameters than in your main FreshRSS instance, for database, networking, and file system.
See cron option 1 for customising the cron schedule.
#### For the Ubuntu image (default)
+
```sh
docker run -d --restart unless-stopped --log-opt max-size=10m \
-v freshrss-data:/var/www/FreshRSS/data \
@@ -233,6 +249,7 @@ docker run -d --restart unless-stopped --log-opt max-size=10m \
```
#### For the Alpine image
+
```sh
docker run -d --restart unless-stopped --log-opt max-size=10m \
-v freshrss-data:/var/www/FreshRSS/data \
@@ -267,7 +284,7 @@ The `FRESHRSS_ENV=development` environment variable increases the level of loggi
Changes in Apache `.htaccess` files are applied when restarting the container.
In particular, if you want FreshRSS to use HTTP-based login (instead of the easier Web form login), you can mount your own `./FreshRSS/p/i/.htaccess`:
-```
+```sh
docker run ...
-v /your/.htaccess:/var/www/FreshRSS/p/i/.htaccess \
-v /your/.htpasswd:/var/www/FreshRSS/data/.htpasswd \
@@ -276,7 +293,8 @@ docker run ...
```
Example of `/your/.htaccess` referring to `/your/.htpasswd`:
-```
+
+```apache
AuthUserFile /var/www/FreshRSS/data/.htpasswd
AuthName "FreshRSS"
AuthType Basic
@@ -286,6 +304,7 @@ Require valid-user
### Example with [docker-compose](https://docs.docker.com/compose/)
A [docker-compose.yml](docker-compose.yml) file is given as an example, using PostgreSQL. In order to use it, you have to adapt:
+
- In the `postgresql` service:
* `container_name` directive. Whatever you set this to will be the value you put in the "Host" field during the "Database Configuration" step of installation;
* the `volumes` section. Be careful to keep the path `/var/lib/postgresql/data` for the container. If the path is wrong, you will not get any error but your db will be gone at the next run;
@@ -296,6 +315,7 @@ A [docker-compose.yml](docker-compose.yml) file is given as an example, using Po
* the `environment` section to adapt the strategy to update feeds.
You can then launch the stack (FreshRSS + PostgreSQL) with:
+
```sh
docker-compose up -d
```
@@ -306,7 +326,7 @@ docker-compose up -d
Here is an example of configuration to run FreshRSS behind an Nginx reverse proxy (as subdirectory).
-```
+```nginx
upstream freshrss {
server 127.0.0.1:8080;
keepalive 64;
@@ -356,7 +376,7 @@ server {
Here is an example of configuration to run FreshRSS behind an Nginx reverse proxy (as domain root).
-```
+```nginx
upstream freshrss {
server 127.0.0.1:8080;
keepalive 64;
@@ -402,7 +422,7 @@ server {
Here is an example of a configuration file for running FreshRSS behind an Apache reverse proxy (as a subdirectory).
You need a working SSL configuration and the Apache modules `proxy`, `proxy_http` and `headers` installed (depends on your distribution) and enabled (```a2enmod proxy proxy_http headers```).
-```
+```apache
ProxyPreserveHost On
<Location /freshrss/>
diff --git a/README.fr.md b/README.fr.md
index f25de1eec..8e1e473d6 100644
--- a/README.fr.md
+++ b/README.fr.md
@@ -1,10 +1,11 @@
[![Statut de la compilation](https://travis-ci.org/FreshRSS/FreshRSS.svg)](https://travis-ci.org/FreshRSS/FreshRSS)
[![Dons Liberapay](https://img.shields.io/liberapay/receives/FreshRSS.svg?logo=liberapay)](https://liberapay.com/FreshRSS/donate)
-* Lire ce document sur [github.com/FreshRSS/FreshRSS/](https://github.com/FreshRSS/FreshRSS/blob/master/README.md) pour avoir les images et liens corrects.
+* Lire ce document sur [github.com/FreshRSS/FreshRSS/](https://github.com/FreshRSS/FreshRSS/blob/edge/README.md) pour avoir les images et liens corrects.
* [English version](README.md)
# FreshRSS
+
FreshRSS est un agrégateur de flux RSS à auto-héberger à l’image de [Leed](https://github.com/LeedRSS/Leed) ou de [Kriss Feed](https://tontof.net/kriss/feed/).
Il se veut léger et facile à prendre en main tout en étant un outil puissant et paramétrable.
@@ -27,17 +28,20 @@ Nous sommes une communauté amicale.
![Logo de FreshRSS](docs/img/FreshRSS-logo.png)
# Avertissements
+
FreshRSS n’est fourni avec aucune garantie.
![Capture d’écran de FreshRSS](docs/img/FreshRSS-screenshot.png)
# [Documentation](https://freshrss.github.io/FreshRSS/fr/)
+
* La [documentation utilisateurs](https://freshrss.github.io/FreshRSS/fr/users/02_First_steps.html) pour découvrir les fonctionnalités de FreshRSS.
* La [documentation administrateurs](https://freshrss.github.io/FreshRSS/fr/users/01_Installation.html) pour l’installation et la maintenance de FreshRSS.
* La [documentation développeurs](https://freshrss.github.io/FreshRSS/fr/developers/01_First_steps.html) pour savoir comment contribuer et mieux comprendre le code source de FreshRSS.
* Le [guide de contribution](https://freshrss.github.io/FreshRSS/fr/contributing.html) pour nous aider à développer FreshRSS.
# Prérequis
+
* Un navigateur Web récent tel que Firefox / IceCat, Internet Explorer 11 / Edge (sauf certains détails), Chromium / Chrome, Opera, Safari.
* Fonctionne aussi sur mobile (sauf certaines fonctionnalités)
* Serveur modeste, par exemple sous Linux ou Windows
@@ -53,17 +57,19 @@ FreshRSS n’est fourni avec aucune garantie.
Si vous préférez que votre FreshRSS soit stable, vous devriez télécharger la dernière version. De nouvelles versions sont publiées tous les 2 ou 3 mois. Voir la [liste des versions](https://github.com/FreshRSS/FreshRSS/releases).
-Si vous voulez une publication continue (rolling release) avec les dernières nouveautés, ou bien aider à tester ou développer la future version stable, vous pouvez utiliser [la branche master](https://github.com/FreshRSS/FreshRSS/tree/master/).
+Si vous voulez une publication continue (rolling release) avec les dernières nouveautés, ou bien aider à tester ou développer la future version stable, vous pouvez utiliser [la branche edge](https://github.com/FreshRSS/FreshRSS/tree/edge/).
# [Installation](https://freshrss.github.io/FreshRSS/fr/users/01_Installation.html)
## Installation automatisée
+
* [![Docker](https://www.docker.com/sites/default/files/horizontal.png)](./Docker/)
* [![YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=freshrss)
* [![Cloudron](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.freshrss.cloudronapp)
## Installation manuelle
+
1. Récupérez l’application FreshRSS via la commande git ou [en téléchargeant l’archive](../releases)
2. Placez l’application sur votre serveur (la partie à exposer au Web est le répertoire `./p/`)
3. Le serveur Web doit avoir les droits d’écriture dans le répertoire `./data/`
@@ -76,6 +82,7 @@ Si vous voulez une publication continue (rolling release) avec les dernières no
Plus d’informations sur l’installation et la configuration serveur peuvent être trouvées dans [notre documentation](https://freshrss.github.io/FreshRSS/fr/users/01_Installation.html).
### Exemple d’installation complète sur Linux Debian/Ubuntu
+
```sh
# Si vous utilisez le serveur Web Apache (sinon il faut un autre serveur Web)
sudo apt-get install apache2
@@ -119,13 +126,16 @@ sudo chown -R :www-data . && sudo chmod -R g+r . && sudo chmod -R g+w ./data/
Voir la [documentation de la ligne de commande](cli/README.md) pour plus de détails.
## Contrôle d’accès
+
Il est requis pour le mode multi-utilisateur, et recommandé dans tous les cas, de limiter l’accès à votre FreshRSS. Au choix :
+
* En utilisant l’identification par formulaire (requiert JavaScript)
* En utilisant un contrôle d’accès HTTP défini par votre serveur Web
* Voir par exemple la [documentation d’Apache sur l’authentification](https://httpd.apache.org/docs/trunk/howto/auth.html)
* Créer dans ce cas un fichier `./p/i/.htaccess` avec un fichier `.htpasswd` correspondant.
# Rafraîchissement automatique des flux
+
* Vous pouvez ajouter une tâche Cron lançant régulièrement le script d’actualisation automatique des flux.
Consultez la documentation de Cron de votre système d’exploitation ([Debian/Ubuntu](https://doc.ubuntu-fr.org/cron), [Red Hat/Fedora](https://doc.fedora-fr.org/wiki/CRON_:_Configuration_de_t%C3%A2ches_automatis%C3%A9es), [Slackware](https://docs.slackware.com/fr:slackbook:process_control?#cron), [Gentoo](https://wiki.gentoo.org/wiki/Cron/fr), [Arch Linux](https://wiki.archlinux.fr/Cron)…).
C’est une bonne idée d’utiliser le même utilisateur que votre serveur Web (souvent “www-data”).
@@ -136,6 +146,7 @@ Par exemple, pour exécuter le script toutes les heures :
```
### Exemple pour Debian / Ubuntu
+
Créer `/etc/cron.d/FreshRSS` avec :
```
@@ -143,6 +154,7 @@ Créer `/etc/cron.d/FreshRSS` avec :
```
## Conseils
+
* Pour une meilleure sécurité, faites en sorte que seul le répertoire `./p/` soit accessible depuis le Web, par exemple en faisant pointer un sous-domaine sur le répertoire `./p/`.
* En particulier, les données personnelles se trouvent dans le répertoire `./data/`.
* Le fichier `./constants.php` définit les chemins d’accès aux répertoires clés de l’application. Si vous les bougez, tout se passe ici.
@@ -151,17 +163,19 @@ Créer `/etc/cron.d/FreshRSS` avec :
# F.A.Q. :
+
* La date et l’heure dans la colonne de droite sont celles déclarées par le flux, pas l’heure à laquelle les articles ont été reçus par FreshRSS, et cette colonne n’est pas utilisée pour le tri.
* En particulier, lors de l’import d’un nouveau flux, ses articles sont importés en tête de liste.
# Sauvegarde
+
* Il faut conserver vos fichiers `./data/config.php` ainsi que `./data/users/*/config.php`
* Vous pouvez exporter votre liste de flux au format OPML soit depuis l’interface Web, soit [en ligne de commande](cli/README.md)
* Pour sauvegarder les articles eux-mêmes :
* **Dans le cas où vous utilisez MySQL**
Vous pouvez utiliser [phpMyAdmin](https://www.phpmyadmin.net) ou les outils de MySQL :
- ```bash
+ ```sh
mysqldump --skip-comments --disable-keys --user=<db_user> --password --host <db_host> --result-file=freshrss.dump.sql --databases <freshrss_db>
```
* **Pour toutes les bases supportées**
@@ -185,6 +199,7 @@ Créer `/etc/cron.d/FreshRSS` avec :
- corriger des erreurs de base de données.
# Extensions
+
FreshRSS permet l’ajout d’extensions en plus des fonctionnalités natives.
Voir le [dépôt dédié à ces extensions](https://github.com/FreshRSS/Extensions).
@@ -215,6 +230,7 @@ et [l’API Fever](https://freshrss.github.io/FreshRSS/fr/users/06_Fever_API.htm
| [Netnewswire](https://ranchero.com/netnewswire/) | iOS, MacOS | [✔️](https://github.com/Ranchero-Software/NetNewsWire) | En développement | GReader | ✔️ | ❔ | ❔ | ❔ | ✔️ | ➖ | ❔ | ✔️ |
# Bibliothèques incluses
+
* [SimplePie](https://simplepie.org/)
* [MINZ](https://github.com/marienfressinaud/MINZ)
* [php-http-304](https://alexandre.alapetite.fr/doc-alex/php-http-304/)
@@ -224,8 +240,6 @@ et [l’API Fever](https://freshrss.github.io/FreshRSS/fr/users/06_Fever_API.htm
* [PHPMailer](https://github.com/PHPMailer/PHPMailer)
## Uniquement pour certaines options ou configurations
+
* [bcrypt.js](https://github.com/dcodeIO/bcrypt.js)
* [phpQuery](https://github.com/phpquery/phpquery)
-
-
-
diff --git a/README.md b/README.md
index b69ec8b39..122c0686d 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,11 @@
[![Build Status][travis-badge]][travis-link]
[![Liberapay donations](https://img.shields.io/liberapay/receives/FreshRSS.svg?logo=liberapay)](https://liberapay.com/FreshRSS/donate)
-* Read this document on [github.com/FreshRSS/FreshRSS/](https://github.com/FreshRSS/FreshRSS/blob/master/README.md) to get the correct links and pictures.
+* Read this document on [github.com/FreshRSS/FreshRSS/](https://github.com/FreshRSS/FreshRSS/blob/edge/README.md) to get the correct links and pictures.
* [Version française](README.fr.md)
# FreshRSS
+
FreshRSS is a self-hosted RSS feed aggregator like [Leed](https://github.com/LeedRSS/Leed) or [Kriss Feed](https://tontof.net/kriss/feed/).
It is lightweight, easy to work with, powerful, and customizable.
@@ -27,17 +28,20 @@ We are a friendly community.
![FreshRSS logo](docs/img/FreshRSS-logo.png)
# Disclaimer
+
FreshRSS comes with absolutely no warranty.
![FreshRSS screenshot](docs/img/FreshRSS-screenshot.png)
# [Documentation](https://freshrss.github.io/FreshRSS/en/)
+
* [User documentation](https://freshrss.github.io/FreshRSS/en/users/02_First_steps.html), where you can discover all the possibilities offered by FreshRSS
* [Administrator documentation](https://freshrss.github.io/FreshRSS/en/admins/01_Index.html) for detailed installation and maintenance related tasks
* [Developer documentation](https://freshrss.github.io/FreshRSS/en/developers/01_First_steps.html) to guide you in the source code of FreshRSS and to help you if you want to contribute
* [Contributor guidelines](https://freshrss.github.io/FreshRSS/en/contributing.html) for those who want to help improve FreshRSS
# Requirements
+
* A recent browser like Firefox / IceCat, Internet Explorer 11 / Edge (minus a few details), Chromium / Chrome, Opera, Safari.
* Works on mobile (except a few features)
* Light server running Linux or Windows
@@ -53,18 +57,20 @@ FreshRSS comes with absolutely no warranty.
The latest stable release can be found [here](https://github.com/FreshRSS/FreshRSS/releases/latest). New versions are released every two to three months.
-If you want a rolling release with the newest features, or want to help testing or developing the next stable version, you can use [the `master` branch](https://github.com/FreshRSS/FreshRSS/tree/master/).
+If you want a rolling release with the newest features, or want to help testing or developing the next stable version, you can use [the `edge` branch](https://github.com/FreshRSS/FreshRSS/tree/edge/).
# [Installation](https://freshrss.github.io/FreshRSS/en/admins/03_Installation.html)
## Automated install
+
* [![Docker](https://www.docker.com/sites/default/files/horizontal.png)](./Docker/)
* [![YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=freshrss)
* [![Cloudron](https://cloudron.io/img/button.svg)](https://cloudron.io/button.html?app=org.freshrss.cloudronapp)
## Manual install
-1. Get FreshRSS with git or [by downloading the archive](https://github.com/FreshRSS/FreshRSS/archive/master.zip)
+
+1. Get FreshRSS with git or [by downloading the archive](https://github.com/FreshRSS/FreshRSS/archive/latest.zip)
2. Put the application somewhere on your server (expose only the `./p/` folder to the Web)
3. Add write access to the `./data/` folder for the webserver user
4. Access FreshRSS with your browser and follow the installation process
@@ -76,6 +82,7 @@ If you want a rolling release with the newest features, or want to help testing
More detailed information about installation and server configuration can be found in [our documentation](https://freshrss.github.io/FreshRSS/en/admins/03_Installation.html).
## Advice
+
* For better security, expose only the `./p/` folder to the Web.
* Be aware that the `./data/` folder contains all personal data, so it is a bad idea to expose it.
* The `./constants.php` file defines access to the application folder. If you want to customize your installation, look here first.
@@ -83,12 +90,14 @@ More detailed information about installation and server configuration can be fou
* The special folder `./data/users/_/` contains the part of the logs that are shared by all users.
-# F.A.Q.:
+# F.A.Q.
+
* The date and time in the right-hand column is the date declared by the feed, not the time at which the article was received by FreshRSS, and it is not used for sorting.
* In particular, when importing a new feed, all of its articles will appear at the top of the feed list regardless of their declared date.
# Extensions
+
FreshRSS supports further customizations by adding extensions on top of its core functionality.
See the [repository dedicated to those extensions](https://github.com/FreshRSS/Extensions).
@@ -121,6 +130,7 @@ and [Fever API](https://freshrss.github.io/FreshRSS/en/users/06_Fever_API.html)
\* Install and enable the [GReader Redate extension](https://github.com/javerous/freshrss-greader-redate) to have the correct publication date for feed articles if you are using Reeder.
# Included libraries
+
* [SimplePie](https://simplepie.org/)
* [MINZ](https://github.com/marienfressinaud/MINZ)
* [php-http-304](https://alexandre.alapetite.fr/doc-alex/php-http-304/)
@@ -130,8 +140,9 @@ and [Fever API](https://freshrss.github.io/FreshRSS/en/users/06_Fever_API.html)
* [PHPMailer](https://github.com/PHPMailer/PHPMailer)
## Only for some options or configurations
+
* [bcrypt.js](https://github.com/dcodeIO/bcrypt.js)
* [phpQuery](https://github.com/phpquery/phpquery)
-[travis-badge]:https://travis-ci.org/FreshRSS/FreshRSS.svg?branch=master
+[travis-badge]:https://travis-ci.org/FreshRSS/FreshRSS.svg?branch=edge
[travis-link]:https://travis-ci.org/FreshRSS/FreshRSS
diff --git a/docs/en/admins/01_Index.md b/docs/en/admins/01_Index.md
index 6798dc768..c4f3cee7f 100644
--- a/docs/en/admins/01_Index.md
+++ b/docs/en/admins/01_Index.md
@@ -15,6 +15,6 @@ Learn how to install, update, and backup FreshRSS, as well as how to use the com
* [Setting Up Automatic Feed Updating](08_FeedUpdates.md)
* [Access Control](09_AccessControl.md)
* [Apache/Nginx configuration files](10_ServerConfig.md)
-* [Using the command line interface (CLI)](https://github.com/FreshRSS/FreshRSS/tree/master/cli)
+* [Using the command line interface (CLI)](https://github.com/FreshRSS/FreshRSS/tree/edge/cli)
* [Configuring the email address validation](05_Configuring_email_validation.md)
* [Frequently asked questions](04_Frequently_Asked_Questions.md)
diff --git a/docs/en/admins/02_Prerequisites.md b/docs/en/admins/02_Prerequisites.md
index 7828972dd..608940839 100644
--- a/docs/en/admins/02_Prerequisites.md
+++ b/docs/en/admins/02_Prerequisites.md
@@ -8,7 +8,7 @@ You need to verify that your server can run FreshRSS before installing it. If yo
| ------------- | ----------------------- | ----------------------- |
| Web server | **Apache 2** | Nginx, lighttpd |
| PHP | **PHP 7+** | PHP 5.6+ |
-| PHP modules | Required: libxml, cURL, JSON, PDO\_MySQL, PCRE and ctype. <br>Required (32-bit only): GMP <br> Recommanded: Zlib, mbstring, iconv, ZipArchive <br> *For the whole modules list see [Dockerfile](https://github.com/FreshRSS/FreshRSS/blob/master/Docker/Dockerfile-Alpine#L7-L9)* | |
+| PHP modules | Required: libxml, cURL, JSON, PDO\_MySQL, PCRE and ctype. <br>Required (32-bit only): GMP <br> Recommanded: Zlib, mbstring, iconv, ZipArchive <br> *For the whole modules list see [Dockerfile](https://github.com/FreshRSS/FreshRSS/blob/edge/Docker/Dockerfile-Alpine#L7-L9)* | |
| Database | **MySQL 5.5.3+** | SQLite 3.7.4+, PostgreSQL 9.5+ |
| Browser | **Firefox** | Chrome, Opera, Safari, or IE11/Edge[^1] |
@@ -29,11 +29,11 @@ It could happen that we make two releases in a short span of time if we have a r
## Development version
-[Download](https://github.com/FreshRSS/FreshRSS/archive/master.zip)
+[Download](https://github.com/FreshRSS/FreshRSS/archive/edge.zip)
As its name suggests, the development version is the working codebase, intended for developers. **This release may be unstable!**
-If you want to keep track of the most recent enhancements or help the developers with bug reports, this is the branch for you. If you use this version, please keep in mind that you need to follow the branch activity on Github (via [the branch RSS feed](https://github.com/FreshRSS/FreshRSS/commits/master.atom), for instance), and manually pull new commits.
+If you want to keep track of the most recent enhancements or help the developers with bug reports, this is the branch for you. If you use this version, please keep in mind that you need to follow the branch activity on Github (via [the branch RSS feed](https://github.com/FreshRSS/FreshRSS/commits/edge.atom), for instance), and manually pull new commits.
Some say that the main developers use this branch on a daily basis without problem. They may know what they are doing…
diff --git a/docs/en/admins/03_Installation.md b/docs/en/admins/03_Installation.md
index 6cbbae6ad..2a2a886aa 100644
--- a/docs/en/admins/03_Installation.md
+++ b/docs/en/admins/03_Installation.md
@@ -10,13 +10,13 @@ Before you begin, make sure that you've read the [prerequisites](02_Prerequisite
3. Give ownership of the FreshRSS folder to your web server user (often `www-data`). Give group read permissions to all files in `.`[^2], and group write permissions to `./data/`.
-4. Install needed PHP modules. A precise and up-to-date list can be found in [the Dockerfile](https://github.com/FreshRSS/FreshRSS/blob/master/Docker/Dockerfile#L11-L12).
+4. Install needed PHP modules. A precise and up-to-date list can be found in [the Dockerfile](https://github.com/FreshRSS/FreshRSS/blob/edge/Docker/Dockerfile#L11-L12).
5. Create a database for FreshRSS to use. Note the username and password for this database, as it will be needed during installation!
6. Using your supported web browser of choice, navigate to the address you've installed your server to complete the installation from the GUI.[^3]
-7. You can then customize [the configuration of your instance](https://github.com/FreshRSS/FreshRSS/blob/master/config.default.php#L3-L4), [the default configuration for new users](https://github.com/FreshRSS/FreshRSS/blob/master/config-user.default.php#L3-L5) or [the default set of feeds for new users](https://github.com/FreshRSS/FreshRSS/blob/master/opml.default.xml#L2-L5).
+7. You can then customize [the configuration of your instance](https://github.com/FreshRSS/FreshRSS/blob/edge/config.default.php#L3-L4), [the default configuration for new users](https://github.com/FreshRSS/FreshRSS/blob/edge/config-user.default.php#L3-L5) or [the default set of feeds for new users](https://github.com/FreshRSS/FreshRSS/blob/edge/opml.default.xml#L2-L5).
---
diff --git a/docs/en/admins/05_Backup.md b/docs/en/admins/05_Backup.md
index 03fb8a7d1..cf8516f29 100644
--- a/docs/en/admins/05_Backup.md
+++ b/docs/en/admins/05_Backup.md
@@ -9,12 +9,14 @@ Do this before an upgrade.
### Creating a Backup
First, Enter the directory you wish to save your backup to. Here, for example, we'll save the backup to the user home directory
-```
+
+```sh
cd ~
```
Next, we'll create a gzipped tar archive of the FreshRSS directory. The following command will archive the entire contents of your FreshRSS installation in it's current state.
-```
+
+```sh
tar -czf FreshRSS-backup.tgz -C /usr/share/FreshRSS/ .
```
@@ -23,52 +25,63 @@ And you're done!
### Restoring from a Backup
First, copy the backup previously made into your FreshRSS directory
-```
+
+```sh
cp ~/FreshRSS-backup.tgz /usr/share/FreshRSS/
```
Next, change to your FreshRSS directory
-```
+
+```sh
cd /usr/share/FreshRSS/
```
Extract the backup
-```
+
+```sh
tar -xzf FreshRSS-backup.tgz
```
And optionally, as cleanup, remove the copy of your backup from the FreshRSS directory
-```
+
+```sh
rm FreshRSS-backup.tgz
```
## Backing up Feeds
### Feed list Export
-You can export your feed list in OPML format either from the web interface, or from the [Command-Line Interface](https://github.com/FreshRSS/FreshRSS/blob/master/cli/README.md).
+
+You can export your feed list in OPML format either from the web interface, or from the [Command-Line Interface](https://github.com/FreshRSS/FreshRSS/blob/edge/cli/README.md).
### Saving Articles
**If you are using MySQL**
You can use [phpMyAdmin](https://www.phpmyadmin.net/) or MySQL tools, where `<db_user>` is your database username, `<db_host>` is the hostname of your web server containing your FreshRSS database, and `<freshrss_db>` is the database used by FreshRSS:
-```
+
+```sh
mysqldump --skip-comments --disable-keys --user=<db_user> --password --host <db_host> --result-file=freshrss.dump.sql --databases <freshrss_db>
```
**From any database**
-You can use the [Command-Line Interface](https://github.com/FreshRSS/FreshRSS/blob/master/cli/README.md) to export your database to a SQLite database file:
-```
+You can use the [Command-Line Interface](https://github.com/FreshRSS/FreshRSS/blob/edge/cli/README.md) to export your database to a SQLite database file:
+
+```sh
./cli/export-sqlite-for-user.php --user <username> --filename </path/to/db.sqlite>
```
+
> Note that the database filename needs the `sqlite` extension in order to work properly.
-You can use the [Command-Line Interface](https://github.com/FreshRSS/FreshRSS/blob/master/cli/README.md) again to import the SQLite database file into your database:
-```
+You can use the [Command-Line Interface](https://github.com/FreshRSS/FreshRSS/blob/edge/cli/README.md) again to import the SQLite database file into your database:
+
+```sh
./cli/import-sqlite-for-user.php --user <username> --filename </path/to/db.sqlite>
```
+
> Again, note that the database filename needs the `sqlite` extension in order to work properly.
The SQLite process is useful when you need to:
+
- export a user fully,
- backup your service,
- migrate the service to another server,
diff --git a/docs/en/admins/05_Configuring_email_validation.md b/docs/en/admins/05_Configuring_email_validation.md
index 0379e4c1a..66b26bd3b 100644
--- a/docs/en/admins/05_Configuring_email_validation.md
+++ b/docs/en/admins/05_Configuring_email_validation.md
@@ -27,7 +27,7 @@ To configure a SMTP server, you'll have to modify the `data/config.php` file.
First, change the `mailer` item to `smtp` (instead of the default `mail`).
Then, you should change the `smtp` options like you would do with a regular
-email client. You can find the full list of options in the [`config.default.php` file](https://github.com/FreshRSS/FreshRSS/blob/master/config.default.php).
+email client. You can find the full list of options in the [`config.default.php` file](https://github.com/FreshRSS/FreshRSS/blob/edge/config.default.php).
If you're not sure to what each item is corresponding, you may find useful [the
PHPMailer documentation](http://phpmailer.github.io/PHPMailer/classes/PHPMailer.PHPMailer.PHPMailer.html#properties)
(which is used by FreshRSS under the hood).
diff --git a/docs/en/admins/06_LinuxInstall.md b/docs/en/admins/06_LinuxInstall.md
index d31758556..fa980a647 100644
--- a/docs/en/admins/06_LinuxInstall.md
+++ b/docs/en/admins/06_LinuxInstall.md
@@ -5,98 +5,115 @@ This tutorial will give you step-by-step commands to install the latest stable r
Please note: Commands need to be run as an administrator; either perform the following from a sudo shell (`sudo -s`) or use an administrator account.
## Part 1: Setting up and configuring the LAMP stack
+
Begin by installing Apache, and enable Apache modules needed for FreshRSS
-```
+
+```sh
apt install apache2
a2enmod headers expires rewrite ssl
```
Then, you have to configure Apache. You can create a file in `/etc/apache2/sites-available`, based on [our example configuration file](10_ServerConfig.md). Once you're done, create a symbolic link from this file to the `sites-enabled` folder:
-```
+```sh
ln -s /etc/apache2/sites-available/freshrss.conf /etc/apache2/sites-enabled/freshrss.conf
```
Next, install PHP and the necessary modules
-```
+
+```sh
apt install php php-curl php-gmp php-intl php-mbstring php-sqlite3 php-xml php-zip
```
Install the PHP module for Apache
-```
+
+```sh
apt install libapache2-mod-php
```
Next, we'll need to install and configure MySQL. Install MySQL components like so:
-```
+
+```sh
sudo apt install mysql-server mysql-client php-mysql
```
MySQL must now be started:
-```
+
+```sh
service mysql-server start
```
We'll need to configure MySQL.
**Note:** As you've just installed mysql, there will be no root password; simply hit enter on the first step
-```
+
+```sh
mysql_secure_installation
```
And restart it
-```
+
+```sh
service mysql-server restart
```
Finally, restart MySQL and the web server
-```
+```sh
service apache2 restart
```
## Part 2: Installing FreshRSS
Begin by installing git, if you don't already have it installed.
-```
+
+```sh
apt install git
```
Next, change to the install directory and download FreshRSS using git
-```
+
+```sh
cd /usr/share/
git clone https://github.com/FreshRSS/FreshRSS.git
```
Change to the new FreshRSS directory, and set the permissions so that your Web server can access the files
-```
+
+```sh
cd FreshRSS
chown -R :www-data .
sudo chmod -R g+r .
```
+
We'll also need to allow the data folder to be written to, like so:
-```
+
+```sh
chmod -R g+w ./data/
```
Optional: If you would like to allow updates from the Web interface, set write permissions
-```
+
+```sh
chmod -R g+w .
```
Finally, symlink the public folder to the root of your web directory
-```
+
+```sh
ln -s /usr/share/FreshRSS/p /var/www/html/
```
## Part 3: Creating a Database for FreshRSS
Start a MySQL session. running this command will ask you for the MySQL password you set earler, and then put you into a prompt that should look like `MariaDB [(none)]>`
-```
+
+```sh
mysql -u root -p
```
From the MySQL prompt (`MariaDB [(none)]>`), run the following commands, substituting `<username>`, `<password>`, and `<database_name>` for real values.
-```
+
+```sql
CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';
CREATE DATABASE `databaseName`;
GRANT ALL privileges ON `databaseName`.* TO 'userName'@localhost;
@@ -105,6 +122,7 @@ QUIT;
```
A brief explanation of the previous command block:
+
* You first create a database user for FreshRSS to use.
* Then you create a database for FreshRSS to store data in.
* You grant permissions for the user you created to read, write, and modify the database.
@@ -112,5 +130,5 @@ A brief explanation of the previous command block:
## Part 4: Finishing the Installation
-You can now finish the installation from a web browser by navigating to to `http://<your_server>/p` and following the graphical prompts.
-Alternatively, you can finish the installation using [the cli](https://github.com/FreshRSS/FreshRSS/tree/master/cli)
+You can now finish the installation from a web browser by navigating to to `http://<your_server>/` and following the graphical prompts.
+Alternatively, you can finish the installation using [the cli](https://github.com/FreshRSS/FreshRSS/tree/edge/cli)
diff --git a/docs/en/admins/07_LinuxUpdate.md b/docs/en/admins/07_LinuxUpdate.md
index 40698ab81..6f39f5a45 100644
--- a/docs/en/admins/07_LinuxUpdate.md
+++ b/docs/en/admins/07_LinuxUpdate.md
@@ -27,17 +27,20 @@ You may wish to run the cron task or systemd unit (`freshrss.service`) immediate
If your local user doesn't have write access to the FreshRSS folder, use a sudo shell (`sudo -s`), prefix the following commands with `sudo `, or switch to an account that does have write access to the folder.
1. Change to your FreshRSS directory
-```
+
+```sh
cd /usr/share/FreshRSS/
```
2. Fetch the most recent code from GitHub
-```
+
+```sh
git fetch --all
```
3. Discard manual changes and delete manual additions
-```
+
+```sh
git reset --hard
git clean -f -d
```
@@ -45,8 +48,9 @@ git clean -f -d
Note: If you wish to keep your changes, it's better to [create a pull request](https://github.com/FreshRSS/FreshRSS/compare) or [an extension](../developers/03_Backend/05_Extensions.md).
4. Update FreshRSS
-```
-git checkout master
+
+```sh
+git checkout edge
git pull
git checkout $(git describe --tags --abbrev=0)
```
@@ -54,51 +58,59 @@ git checkout $(git describe --tags --abbrev=0)
Note: If you want to use the rolling release, the last command is optional.
5. (optional) Make sure you use the correct version
-```
+
+```sh
git status
```
-The command should tell you the tag that you're using. It must be the same as the one associated with [the latest release on GitHub](https://github.com/FreshRSS/FreshRSS/releases/latest). If you use the rolling release, it should tell you that your `master` branch is up to date with `origin`.
+The command should tell you the tag that you're using. It must be the same as the one associated with [the latest release on GitHub](https://github.com/FreshRSS/FreshRSS/releases/latest). If you use the rolling release, it should tell you that your `edge` branch is up to date with `origin`.
6. Delete the file that triggers the install wizard
-```
+
+```sh
rm data/do-install.txt
```
7. Re-set correct permissions so that your web server can access the files
-```
+
+```sh
chown -R :www-data . && chmod -R g+r . && chmod -R g+w ./data/
```
## Using the Zip archive
-If your local user doesn't have write access to the FreshRSS folder, use a sudo shell (`sudo -s`), prefix the following commands with `sudo `, or switch to an account that does have write access to the folder.
+If your local user doesn't have write access to the FreshRSS folder, use a sudo shell (`sudo -s`), prefix the following commands with `sudo`, or switch to an account that does have write access to the folder.
1. Change to your FreshRSS directory
-```
+
+```sh
cd /usr/share/FreshRSS/
```
-2. Get the link to the Zip archive for [the latest release](https://github.com/FreshRSS/FreshRSS/releases/latest). It should be something like `https://github.com/FreshRSS/FreshRSS/archive/1.15.3.zip` (the numbers can change). If you want to use the rolling release, the link is `https://github.com/FreshRSS/FreshRSS/archive/master.zip`
+2. Get the link to the Zip archive for [the latest release](https://github.com/FreshRSS/FreshRSS/releases/latest): [`https://github.com/FreshRSS/FreshRSS/archive/latest.zip`](https://github.com/FreshRSS/FreshRSS/archive/latest.zip). If you want to use the rolling release, the link is [`https://github.com/FreshRSS/FreshRSS/archive/edge.zip`](https://github.com/FreshRSS/FreshRSS/archive/edge.zip).
3. Download and unzip the update file
-```
-wget -O freshrss.zip https://github.com/FreshRSS/FreshRSS/archive/1.15.3.zip
+
+```sh
+wget -O freshrss.zip https://github.com/FreshRSS/FreshRSS/archive/latest.zip
unzip freshrss.zip
```
3. Overwrite all your existing files with the new ones
-```
+
+```sh
cp -R FreshRSS-*/* .
```
4. Re-set permissions
-```
+
+```sh
chown -R :www-data . && chmod -R g+r . && chmod -R g+w ./data/
```
5. Clean up the FreshRSS directory by deleting the downloaded zip, the file forcing the setup wizard and the temporary directory
-```
+
+```sh
rm -f freshrss.zip
rm -f data/do-install.txt
rm -rf FreshRSS-*/
diff --git a/docs/en/contributing.md b/docs/en/contributing.md
index 91fc49797..62c74b2c2 100644
--- a/docs/en/contributing.md
+++ b/docs/en/contributing.md
@@ -46,4 +46,4 @@ Learn how to contribute to translations in [the dedicated documentation](./inter
## Contribute to documentation
The documentation needs a lot of improvements in order to be more useful to new contributors and we are working on it.
-If you want to give some help, meet us in the main repositories [docs directory](https://github.com/FreshRSS/FreshRSS/tree/master/docs)!
+If you want to give some help, meet us in the main repositories [docs directory](https://github.com/FreshRSS/FreshRSS/tree/edge/docs)!
diff --git a/docs/en/developers/02_First_steps.md b/docs/en/developers/02_First_steps.md
index 7b3a4c11f..21456fea4 100644
--- a/docs/en/developers/02_First_steps.md
+++ b/docs/en/developers/02_First_steps.md
@@ -12,17 +12,17 @@ First, you need to install [Docker](https://docs.docker.com/install/linux/docker
Once you're done, clone the repository with:
-```console
-$ git clone https://github.com/FreshRSS/FreshRSS.git
-$ cd FreshRSS
+```sh
+git clone https://github.com/FreshRSS/FreshRSS.git
+cd FreshRSS
```
Note that, if you want to contribute, you have to fork the repository first and clone your fork instead of the "root" one. Adapt the commands in consequence.
Then, the only command you need to know is the following:
-```console
-$ make start
+```sh
+make start
```
This might take some time while Docker downloads the image. If your user isn't in the `docker` group, you'll need to prepend the command with `sudo`.
@@ -31,39 +31,39 @@ This might take some time while Docker downloads the image. If your user isn't i
You can stop the containers by typing <kbd>Control</kbd> + <kbd>c</kbd> or with the following command, in another terminal:
-```console
-$ make stop
+```sh
+make stop
```
If you're interested in the configuration, the `make` commands are defined in the [`Makefile`](/Makefile).
If you need to use a different tag image (default is `alpine`), you can set the `TAG` environment variable:
-```console
-$ TAG=arm make start
+```sh
+TAG=arm make start
```
You can find the full list of available tags [on the Docker hub](https://hub.docker.com/r/freshrss/freshrss/tags).
If you want to build the Docker image yourself, you can use the following command:
-```console
-$ make build
-$ # or
-$ TAG=arm make build
+```sh
+make build
+# or
+TAG=arm make build
```
The `TAG` variable can be anything (e.g. `local`). You can target a specific architecture by adding `-alpine` or `-arm` at the end of the tag (e.g. `local-arm`).
-# Project architecture
+## Project architecture
- the PHP framework: [Minz](Minz/index.md)
-# Extensions
+## Extensions
If you want to create your own FreshRSS extension, take a look at the [extension documentation](03_Backend/05_Extensions.md).
-# Coding style
+## Coding style
If you want to contribute to the source code, it's important to follow the project's coding style. The actual code doesn't always follow it throughout the project, but we should fix it every time an opportunity presents itself.
@@ -72,6 +72,7 @@ Contributions which don't follow the coding style will be rejected as long as th
## Spaces, tabs and other whitespace characters
### Indentation
+
Code indentation must use tabs.
### Alignment
@@ -89,7 +90,7 @@ The newline character must be a line feed (LF), which is the default line ending
You can verify if there is any unintended white space at the end of line with the following Git command:
-```bash
+```sh
# command to check files before adding them in the Git index
git diff --check
# command to check files after adding them in the Git index
@@ -208,6 +209,7 @@ Please ensure that your code works with the oldest PHP version officially suppor
## Miscellaneous
### Operators
+
Operators must be at the end of the line if a condition is split over more than one line.
```php
diff --git a/docs/en/developers/02_Github.md b/docs/en/developers/02_Github.md
index 953785d4f..7a7769caa 100644
--- a/docs/en/developers/02_Github.md
+++ b/docs/en/developers/02_Github.md
@@ -1,6 +1,7 @@
# Branching
## Basic
+
If you are new to Git, here are some of the resources you might find useful:
* [GitHub's blog post](https://github.com/blog/120-new-to-git)
@@ -9,30 +10,35 @@ If you are new to Git, here are some of the resources you might find useful:
* <http://rogerdudler.github.io/git-guide/>
## Getting the latest code from the FreshRSS repository
+
First you need to add the official repo to your remote repo list:
-```bash
+
+```sh
git remote add upstream git@github.com:FreshRSS/FreshRSS.git
```
You can verify the remote repo is successfully added by using:
-```bash
+
+```sh
git remote -v show
```
Now you can pull the latest development code:
-```bash
-git checkout master
-git pull upstream master
+
+```sh
+git checkout edge
+git pull upstream edge
```
## Starting a new development branch
-```bash
+
+```sh
git checkout -b my-development-branch
```
-# Sending a patch
+## Sending a patch
-```bash
+```sh
# Add the changed file, here actualize_script.php
git add app/actualize_script.php
# Commit the change and write a proper commit message
diff --git a/docs/en/developers/03_Running_tests.md b/docs/en/developers/03_Running_tests.md
index 666df0412..24d80fe9a 100644
--- a/docs/en/developers/03_Running_tests.md
+++ b/docs/en/developers/03_Running_tests.md
@@ -1,28 +1,28 @@
# Running tests
-FreshRSS is tested with [PHPUnit](https://phpunit.de/). No code should be merged in `master` if the tests don't pass.
+FreshRSS is tested with [PHPUnit](https://phpunit.de/). No code should be merged in `edge` if the tests don’t pass.
## Locally
As a developer, you can run the test suite on your PC easily with `make` commands. You can run the test suite with:
-```console
-$ make test
+```sh
+make test
```
This command downloads the PHPUnit binary and verifies its checksum. If the verification fails, the file is deleted. In this case, you should [open an issue on GitHub](https://github.com/FreshRSS/FreshRSS/issues/new) to let maintainers know about the problem.
Then, it executes PHPUnit in a Docker container. If you don't use Docker, you can run the command directly with:
-```console
-$ NO_DOCKER=true make test
+```sh
+NO_DOCKER=true make test
```
The linter can be run with a `make` command as well:
-```console
-$ make lint # to execute the linter on the PHP files
-$ make lint-fix # or, to fix the errors detected by the linter
+```sh
+make lint # to execute the linter on the PHP files
+make lint-fix # or, to fix the errors detected by the linter
```
Similarly to PHPUnit, it downloads a [PHP\_CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) binary (i.e. `phpcs` or `phpcbf` depending on the command) and verifies its checksum.
@@ -31,4 +31,4 @@ Similarly to PHPUnit, it downloads a [PHP\_CodeSniffer](https://github.com/squiz
Tests are automatically run when you open a pull request on GitHub. It is done with [Travis CI](https://travis-ci.org/FreshRSS/FreshRSS/). This is done to ensure there is no regressions in your code. We cannot merge a PR if the tests fail so we'll ask you to fix bugs before to review your code.
-If you're interested in, you can take a look at [the configuration file](https://github.com/FreshRSS/FreshRSS/blob/master/.travis.yml).
+If you're interested in, you can take a look at [the configuration file](https://github.com/FreshRSS/FreshRSS/blob/edge/.travis.yml).
diff --git a/docs/en/developers/04_Frontend/02_Design.md b/docs/en/developers/04_Frontend/02_Design.md
index 625fede28..74b92dee2 100644
--- a/docs/en/developers/04_Frontend/02_Design.md
+++ b/docs/en/developers/04_Frontend/02_Design.md
@@ -4,7 +4,8 @@
**As of writing (02-02-2021), support for themes as extensions is under development.**
-The easiest way to create a theme is by copying and modifying the base theme (or another of the pre-installed themes). The base theme can be found in [/p/themes/base-theme](https://github.com/FreshRSS/FreshRSS/tree/master/p/themes/base-theme). Themes require:
+The easiest way to create a theme is by copying and modifying the base theme (or another of the pre-installed themes). The base theme can be found in [/p/themes/base-theme](https://github.com/FreshRSS/FreshRSS/tree/edge/p/themes/base-theme). Themes require:
+
- a **metadata.json** file to describe the theme.
- a **loader.gif** file to use as a loading icon (assuming .loading's background has not been overridden)
- an **icons** folder containing .svg, .ico, and .png files to override existing icons
@@ -16,14 +17,15 @@ The easiest way to create a theme is by copying and modifying the base theme (or
RTL (right-to-left) support for languages such as Hebrew and Arabic is handled through CSSJanus. To generate an RTL CSS file from your standard file, use `make rtl`. Be sure to commit the resulting file (filename.rtl.css).
-# Overriding icons
+## Overriding icons
To replace the default icons, add an "icons" folder to your theme's folder. Use files with the same name as the default icon to override them.
-# Template file
+## Template file
-metadata.json
-```
+`metadata.json`
+
+```json
{
"name": "Theme name",
"author": "Theme author",
@@ -33,4 +35,4 @@ metadata.json
}
```
-An example of a css theme file can be found at [/p/themes/base-theme/base.css](https://github.com/FreshRSS/FreshRSS/blob/master/p/themes/base-theme/base.css)
+An example of a css theme file can be found at [/p/themes/base-theme/base.css](https://github.com/FreshRSS/FreshRSS/blob/edge/p/themes/base-theme/base.css)
diff --git a/docs/en/developers/04_Pull_requests.md b/docs/en/developers/04_Pull_requests.md
index a648616bf..6f5bab655 100644
--- a/docs/en/developers/04_Pull_requests.md
+++ b/docs/en/developers/04_Pull_requests.md
@@ -2,11 +2,13 @@
So you want to propose a patch to the community? It's time to open a [pull request](https://github.com/FreshRSS/FreshRSS/pulls)!
-When you open a PR, your message will be prefilled with a message based on [a template](https://github.com/FreshRSS/FreshRSS/blob/master/docs/pull_request_template.md). It contains a checklist to make sure you didn't forget anything. It is very important to verify you did everything mentioned so documentation is up-to-date, the commit history stays clear and the code is always stable.
+When you open a PR, your message will be prefilled with a message based on [a template](https://github.com/FreshRSS/FreshRSS/blob/edge/docs/pull_request_template.md). It contains a checklist to make sure you didn't forget anything. It is very important to verify you did everything mentioned so documentation is up-to-date, the commit history stays clear and the code is always stable.
The rest of this document explains specific points.
-## How to rebase your branch on `master`
+## How to rebase your branch on `edge`
+
+**TODO:** Update this section. With GitHub’s *squash and merge*, rebasing (and other forms of history rewriting) is more dangerous and annoying (e.g. breaking review mechanism) than useful.
Rebasing a branch is useful to make sure your code is based on the most recent version of FreshRSS and there are no conflicts. You have two ways to do that.
@@ -20,26 +22,26 @@ Note that you should never rebase a branch if someone else is working on it. Oth
To rebase a branch:
-```console
-$ git checkout master # go on master branch
-$ git pull upstream master # pull the last version of master
-$ git checkout - # go back to your branch
-$ git rebase master # rebase your branch on master
+```sh
+git checkout edge # go on edge branch
+git pull upstream edge # pull the last version of edge
+git checkout - # go back to your branch
+git rebase edge # rebase your branch on edge
```
-If you feel confident, you can use `git rebase -i master` to rewrite your history and make it clearer.
+If you feel confident, you can use `git rebase -i edge` to rewrite your history and make it clearer.
### Merging
-If you prefer, you can simply merge `master` into your own branch. Conflicts might be easier to resolve, but your Git history will be less readable. Don't worry, we'll take care of it before merging your PR back into `master`.
+If you prefer, you can simply merge `edge` into your own branch. Conflicts might be easier to resolve, but your Git history will be less readable. Don't worry, we'll take care of it before merging your PR back into `edge`.
-To merge `master`:
+To merge `edge`:
-```console
-$ git checkout master # go on master branch
-$ git pull upstream master # pull the last version of master
-$ git checkout - # go back to your branch
-$ git merge master # merge master into your branch
+```sh
+git checkout edge # go on edge branch
+git pull upstream edge # pull the last version of edge
+git checkout - # go back to your branch
+git merge edge # merge edge into your branch
```
## How to write a Git commit message
diff --git a/docs/en/developers/05_Release_new_version.md b/docs/en/developers/05_Release_new_version.md
index 0cb296d0c..f4e38d0de 100644
--- a/docs/en/developers/05_Release_new_version.md
+++ b/docs/en/developers/05_Release_new_version.md
@@ -4,16 +4,16 @@ In order to get as much feedback as possible before a release, it's preferable t
It's also recommended to make the announcement on mailing@freshrss.org.
-# Check the dev status
+## Check the dev status
Before releasing a new version of FreshRSS, you must ensure that the code is stable and free of major bugs. Ideally, our tests should be automated and executed before any publication.
You must also **make sure that the CHANGELOG file is up to date** with the updates of the version to be released.
-# Git process
+## Git process
-```bash
-$ git checkout master
+```sh
+$ git checkout edge
$ git pull
$ vim constants.php
# Update version number x.y.y.z of FRESHRSS_VERSION
@@ -24,15 +24,15 @@ Version x.y.z
$ git push && git push --tags
```
-# Updating `update.freshrss.org`
+## Updating `update.freshrss.org`
It's important to update update.freshrss.org since this is the default service for automatic FreshRSS updates.
-The repository managing the code is located on GitHub: [FreshRSS/update.freshrss.org] (https://github.com/FreshRSS/update.freshrss.org/).
+The repository managing the code is located on GitHub: [FreshRSS/update.freshrss.org](https://github.com/FreshRSS/update.freshrss.org/).
## Writing the update script
-The scripts are located in the `./scripts/` directory and must take the form `update_to_x.y.z.z.php`. This directory also contains `update_to_dev.php` intended for updates of the `master` branch (this script must not include code specific to a particular version!) and `update_util.php`, which contains a list of functions useful for all scripts.
+The scripts are located in the `./scripts/` directory and must take the form `update_to_x.y.z.z.php`. This directory also contains `update_to_dev.php` intended for updates of the `edge` branch (this script must not include code specific to a particular version!) and `update_util.php`, which contains a list of functions useful for all scripts.
In order to write a new script, it's better to copy/paste the last version or to start from `update_to_dev.php`. The first thing to do is to define the URL from which the FreshRSS package will be downloaded (`PACKAGE_URL`). The URL is in the form of `https://codeload.github.com/FreshRSS/FreshRSS/zip/x.y.z`.
@@ -67,7 +67,7 @@ return array(
And here's how this table works:
* on the left you can find the N version, on the right the N+1 version;
-* the `x.y.z.z-dev` versions are **all** updated to `master`;
+* the `x.y.z.z-dev` versions are **all** updated to `edge`;
* stable versions are updated to stable versions;
* it's possible to skip several versions at once, provided that the update scripts support it;
* it's advisable to indicate the correspondence of the current version to its potential future version by specifying that this version does not yet exist. As long as the corresponding script does not exist, nothing will happen.
@@ -80,14 +80,14 @@ Before updating update.freshrss.org, it's better to test with dev.update.freshrs
When you're satisfied, update update.freshrss.org with the new script, test it again, and then move on.
-# Updating the FreshRSS services
+## Updating the FreshRSS services
Two services need to be updated immediately after the update.
* rss.freshrss.org;
* demo.freshrss.org (public login: `demo` / `demodemo`).
-# Publicly announce the release
+## Publicly announce the release
When everything's working, it's time to announce the release to the world!
@@ -96,10 +96,10 @@ When everything's working, it's time to announce the release to the world!
* on Twitter ([@FreshRSS](https://twitter.com/FreshRSS) account)
* and on mailing@freshrss.org
-# Starting the next development version
+## Starting the next development version
-```bash
-$ git checkout master
+```sh
+$ git checkout edge
$ vim constants.php
# Update the FRESHRSS_VERSION
$ vim CHANGELOG.md
diff --git a/docs/en/users/04_Subscriptions.md b/docs/en/users/04_Subscriptions.md
index bfb3eabe4..881899ce0 100644
--- a/docs/en/users/04_Subscriptions.md
+++ b/docs/en/users/04_Subscriptions.md
@@ -8,13 +8,13 @@
6. (optional): You can set a timeout for the feed request if the feed requires it.
7. (optional): You can choose to ignore SSL certificate errors (such as with self-signed certificates) by setting "Verify SSL security" to "No". This is not recommended, and it is better to either add the root certificate to the FreshRSS server or to fix the SSL certificate problems on the feed hosting server.
-# Subscription management
+## Subscription management
The "Subscription management" submenu allows categories and feeds to be configured. Feeds can be moved between categories by drag-and-drop, or in the individual feed's settings. Hovering over a feed/category will cause a gear icon to appear. Clicking the icon will bring up the settings for that item.
## Category Settings
-### Information
+### Information
* **Title:** Name of category
* **Display position:** Defines the order of categories. Lower numbers get priority, non-numbered items come last, and equally numbered items will sort by alphabetical order.
@@ -25,7 +25,6 @@ If "Purge Policy" has "By default" selected, then the [default purge policy](./0
## Feed Settings
-
These fields will be auto-filled when adding a feed, but they can be modified later. **Visibility** will define if the feed is displayed in the main feed, only in specific categories, or not at all.
### Archival
@@ -60,8 +59,10 @@ Here we find that the block that encompasses nothing but the content of the arti
* Phoronix: ```#main .content```
##### Combining CSS Classes
+
Let's say we have an article which contains ads, and we do not want to have those ads retrieved by FreshRSS. Example HTML:
-```
+
+```html
<div id="article">
<h2>wanted</h2>
<p class="content">wanted content</p>
@@ -73,6 +74,7 @@ Let's say we have an article which contains ads, and we do not want to have thos
<p class="content">wanted content</p>
</div>
```
+
In this case it's possible to combine multiple CSS selectors with a comma: ```#article p.content, #article h2```
#### Retrieve a truncated feed with external tools
@@ -86,8 +88,9 @@ Complementary tools can be used to retrieve full article content, such as:
Articles can be automatically marked as read based on some search terms. See [filtering](./03_Main_view.md#filtering-articles) for more information on how to create these filters.
-# Import / export
-See [SQLite export/import]( https://github.com/FreshRSS/FreshRSS/tree/master/cli) as an alternative.
+## Import / export
+
+See [SQLite export/import]( https://github.com/FreshRSS/FreshRSS/tree/edge/cli) as an alternative.
## Export
@@ -101,7 +104,7 @@ See [SQLite export/import]( https://github.com/FreshRSS/FreshRSS/tree/master/cli
4. Click on “export”.
## Import
-
+
1. Go to the page “Import / export”.
2. Click on “Browse” and select your OPML or archive file on your computer.
3. Click on “Import”
@@ -109,11 +112,12 @@ See [SQLite export/import]( https://github.com/FreshRSS/FreshRSS/tree/master/cli
> **Important**: you can not import directly a list of feeds from a text file.
> You need to convert it beforehand to _OPML_.
> Here is some tools you could use :
-> - [Pandoc](https://pandoc.org/) available for most systems,
-> - [OPML generator](https://opml-gen.ovh/) available online,
-> - [txt2opml](https://alterfiles.com/convert/txt/opml) available online.
+>
+> * [Pandoc](https://pandoc.org/) available for most systems,
+> * [OPML generator](https://opml-gen.ovh/) available online,
+> * [txt2opml](https://alterfiles.com/convert/txt/opml) available online.
-# Use bookmarklet
+## Use bookmarklet
Bookmarklets are little scripts that you can execute to perform various tasks. FreshRSS offers a bookmarklet for subscribing to newsfeeds.
diff --git a/docs/en/users/07_Frequently_Asked_Questions.md b/docs/en/users/07_Frequently_Asked_Questions.md
index c5f039f17..f9b6fcd61 100644
--- a/docs/en/users/07_Frequently_Asked_Questions.md
+++ b/docs/en/users/07_Frequently_Asked_Questions.md
@@ -34,14 +34,17 @@ Since the [1.10.0](https://github.com/FreshRSS/FreshRSS/releases/tag/1.10.0) rel
Select a user, enter a password, and validate.
Since the [1.8.0](https://github.com/FreshRSS/FreshRSS/releases/tag/1.8.0) release, admins can change user passwords using a terminal. It worth mentioning that you must have access to PHP CLI. Open a terminal, and type the following command:
+
```sh
./cli/update_user.php --user <username> --password <password>
```
-For more information on that matter, please refer to the [dedicated documentation](https://github.com/FreshRSS/FreshRSS/blob/master/cli/README.md).
+
+For more information on that matter, please refer to the [dedicated documentation](https://github.com/FreshRSS/FreshRSS/blob/edge/cli/README.md).
## Permissions under SELinux
Some Linux distribution, like Fedora or RedHat Enterprise Linux, have SELinux enabled. This acts similar to a firewall application, so that applications can't write or modify files under certain conditions. While installing FreshRSS, step 2 can fail if the httpd process can't write to some data sub-directories. The following command should be executed as root to fix this problem:
+
```sh
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/FreshRSS/data(/.*)?'
restorecon -Rv /usr/share/FreshRSS/data
@@ -55,8 +58,8 @@ If you are using a version prior to 1.16, you can disable your ad-blocker for Fr
Examples with _uBlock_:
-- Whitelist your FreshRSS instance by adding it in _uBlock > Open the dashboard > Whitelist_.
-- Authorize your FreshRSS instance to call `sharing` configuration page by adding the rule `*sharing,domain=~yourdomain.com` in _uBlock > Open the dashboard > My filters_
+* Whitelist your FreshRSS instance by adding it in _uBlock > Open the dashboard > Whitelist_.
+* Authorize your FreshRSS instance to call `sharing` configuration page by adding the rule `*sharing,domain=~yourdomain.com` in _uBlock > Open the dashboard > My filters_
## Problems with firewalls
@@ -64,8 +67,8 @@ If you have the error "Blast! This feed has encountered a problem. Please verify
To identify the problem, here are the steps to follow:
-- step 1: Try to reach the feed locally to discard a problem with the feed itself. You can use your browser to this purpose.
-- step 2: Try to reach the feed from the host in which FreshRSS is installed. Something like `time curl -v 'https://github.com/FreshRSS/FreshRSS/commits/master.atom'` should make the deal. If you are running FreshRSS within a Docker container, then you can check connectivity from within the container itself with something similar to `sudo docker exec freshrss php -r "readfile('https://github.com/FreshRSS/FreshRSS/commits/master.atom');"`. If none of this works, then it might be a problem with your firewall.
+* step 1: Try to reach the feed locally to discard a problem with the feed itself. You can use your browser to this purpose.
+* step 2: Try to reach the feed from the host in which FreshRSS is installed. Something like `time curl -v 'https://github.com/FreshRSS/FreshRSS/commits/edge.atom'` should make the deal. If you are running FreshRSS within a Docker container, then you can check connectivity from within the container itself with something similar to `sudo docker exec freshrss php -r "readfile('https://github.com/FreshRSS/FreshRSS/commits/edge.atom');"`. If none of this works, then it might be a problem with your firewall.
Then to fix it, you need to do check your firewall configuration and ensure that you are not blocking connections to IPs and/or ports in which your feeds are located. If using iptables and you are blocking inbound connections to ports 80/443, check that the rules are properly configured and you are not also blocking outbound connections to the very same ports.
diff --git a/docs/fr/contributing.md b/docs/fr/contributing.md
index a58f4fac4..bb67db304 100644
--- a/docs/fr/contributing.md
+++ b/docs/fr/contributing.md
@@ -61,7 +61,7 @@ les collaborateurs, vous devrez suivre ces indications :
Si vous devez écrire du code, veuillez suivre [nos recommandations de style
de codage](developers/01_First_steps.md).
-**Conseil : **si vous cherchez des bugs faciles à corriger, jetez un coup d'oeil à la vignette "[good first issue](https://github.com/FreshRSS/FreshRSS/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)".
+**Conseil :** si vous cherchez des bugs faciles à corriger, jetez un coup d'oeil à la vignette "[good first issue](https://github.com/FreshRSS/FreshRSS/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)".
## Soumettre une idée
@@ -86,5 +86,4 @@ mais n'hésitez pas à nous suggérer des idées !
Il ne vous aura pas échappé que la documentation est encore un peu vide… il
y a énormément de choses à faire ! Si vous souhaitez aider à écrire quelques
-pages, rendez-vous dans les principaux dépôts[fichier
-docs](https://github.com/FreshRSS/FreshRSS/tree/master/docs) !
+pages, rendez-vous dans les principaux dépôts [fichier docs](https://github.com/FreshRSS/FreshRSS/tree/edge/docs) !
diff --git a/docs/fr/developers/01_First_steps.md b/docs/fr/developers/01_First_steps.md
index e7c862ae5..8c2bf4505 100644
--- a/docs/fr/developers/01_First_steps.md
+++ b/docs/fr/developers/01_First_steps.md
@@ -125,7 +125,7 @@ précédé par des caractères blanc.
Il est possible de vérifier la présence de caractères blancs en fin de ligne
grâce à Git avec la commande suivante :
-```bash
+```sh
# commande à lancer avant l'ajout des fichiers dans l'index
git diff --check
# commande à lancer après l'ajout des fichiers dans l'index mais avant le commit
diff --git a/docs/fr/developers/02_Github.md b/docs/fr/developers/02_Github.md
index 724e56e8a..d850dee09 100644
--- a/docs/fr/developers/02_Github.md
+++ b/docs/fr/developers/02_Github.md
@@ -30,7 +30,7 @@ pas cet aspect "social" !
français :)
5. Merci de bien vouloir suivre les quelques conseils donnés plus bas pour
faciliter la prise en compte de votre ticket.
-
+
## De façon informelle
Tout le monde n'aime pas ou n'utilise pas GitHub pour des raisons aussi
@@ -104,9 +104,10 @@ Pensez à donner les informations suivantes si vous les connaissez :
version ?
5. Quelle distribution sur le serveur ? Et… quelle version ?
-# Système de branches
+## Système de branches
+
+### Élémentaire
-## Élémentaire
Si vous êtes novice dans Git, voici quelques ressources qui pourraient vous
être utiles :
@@ -115,33 +116,38 @@ Si vous êtes novice dans Git, voici quelques ressources qui pourraient vous
* <http://sixrevisions.com/resources/git-tutorials-beginners/>
* <http://rogerdudler.github.io/git-guide/>
-## Obtenir le dernier code du répertoire FreshRSS
+### Obtenir le dernier code du répertoire FreshRSS
+
Vous devez avant tout ajouter le repo officiel à votre liste de repo remote
:
-```bash
+
+```sh
git remote add upstream git@github.com:FreshRSS/FreshRSS.git
```
Vous pouvez vérifier que le repo remote a été ajouté avec succès en
utilisant :
-```bash
+
+```sh
git remote -v show
```
Vous pouvez maintenant pull le dernier code de développement :
-```bash
-git checkout master
-git pull upstream master
+
+```sh
+git checkout edge
+git pull upstream edge
```
-## Lancer une nouvelle branche de développement
-```bash
+### Lancer une nouvelle branche de développement
+
+```sh
git checkout -b mon-branch-developpement
```
-# Proposer un patch
+## Proposer un patch
-```bash
+```sh
# Ajoutez le fichier modifié, ici actualize_script.php
git add app/actualize_script.php
# Commitez le changement et écrivez un message de commit approprié.
@@ -154,7 +160,7 @@ git push
Vous pouvez maintenant créer une PR en fonction de votre branche.
-## Comment écrire un message de commit
+### Comment écrire un message de commit
Un message de commit devrait décrire succinctement les changements sur la
première ligne. Par exemple :
diff --git a/docs/fr/developers/03_Running_tests.md b/docs/fr/developers/03_Running_tests.md
index 70aafc02a..90a4b72ef 100644
--- a/docs/fr/developers/03_Running_tests.md
+++ b/docs/fr/developers/03_Running_tests.md
@@ -1,15 +1,15 @@
# Running tests
FreshRSS is tested with [PHPUnit](https://phpunit.de/). No code should be
-merged in `master` if the tests don't pass.
+merged in `edge` if the tests don't pass.
## Locally
As a developer, you can run the test suite on your PC easily with `make`
commands. You can run the test suite with:
-```console
-$ make test
+```sh
+make test
```
This command downloads the PHPUnit binary and verifies its checksum. If the
@@ -20,8 +20,8 @@ maintainers know about the problem.
Then, it executes PHPUnit in a Docker container. If you don't use Docker,
you can run the command directly with:
-```console
-$ NO_DOCKER=true make test
+```sh
+NO_DOCKER=true make test
```
## Travis
@@ -32,4 +32,4 @@ done to ensure there is no regressions in your code. We cannot merge a PR if
the tests fail so we'll ask you to fix bugs before to review your code.
If you're interested in, you can take a look at [the configuration
-file](https://github.com/FreshRSS/FreshRSS/blob/master/.travis.yml).
+file](https://github.com/FreshRSS/FreshRSS/blob/edge/.travis.yml).
diff --git a/docs/fr/developers/05_Release_new_version.md b/docs/fr/developers/05_Release_new_version.md
index face8d5cb..116d50ca6 100644
--- a/docs/fr/developers/05_Release_new_version.md
+++ b/docs/fr/developers/05_Release_new_version.md
@@ -7,7 +7,7 @@ Ceci est à faire **au moins une semaine à l'avance**.
Il est aussi recommandé de faire l'annonce sur mailing@freshrss.org.
-# S'assurer de l'état de dev
+## S'assurer de l'état de dev
Avant de sortir une nouvelle version de FreshRSS, il faut vous assurer que
le code est stable et ne présente pas de bugs majeurs. Idéalement, il
@@ -17,10 +17,10 @@ publication.
Il faut aussi **vous assurer que le fichier CHANGELOG est à jour** avec les
mises à jour de la version à sortir.
-# Processus Git
+## Processus Git
-```bash
-$ git checkout master
+```sh
+$ git checkout edge
$ git pull
$ vim constants.php
# Mettre à jour le numéro de version x.y.z de FRESHRSS_VERSION
@@ -31,7 +31,7 @@ Version x.y.z
$ git push && git push --tags
```
-# Mise à jour de update.freshrss.org
+## Mise à jour de update.freshrss.org
Il est important de mettre à jour update.freshrss.org puisqu'il s'agit du
service par défaut gérant les mises à jour automatiques de FreshRSS.
@@ -39,11 +39,11 @@ service par défaut gérant les mises à jour automatiques de FreshRSS.
Le dépot gérant le code se trouve sur GitHub :
[FreshRSS/update.freshrss.org](https://github.com/FreshRSS/update.freshrss.org/).
-## Écriture du script de mise à jour
+### Écriture du script de mise à jour
Les scripts se trouvent dans le répertoire `./scripts/` et doivent être de
la forme `update_to_x.y.z.php`. On trouve aussi dans ce répertoire
-`update_to_dev.php` destiné aux mises à jour de la branche `master` (ce
+`update_to_dev.php` destiné aux mises à jour de la branche `edge` (ce
script ne doit pas inclure de code spécifique à une version particulière !)
et `update_util.php` contenant une liste de fonctions utiles à tous les
scripts.
@@ -98,7 +98,7 @@ return array(
Et voici comment fonctionne cette table :
* à gauche se trouve la version N, à droite la version N+1 ;
-* les versions `x.y.z-dev` sont **toutes** mises à jour vers `master` ;
+* les versions `x.y.z-dev` sont **toutes** mises à jour vers `edge` ;
* les versions stables sont mises à jour vers des versions stables ;
* il est possible de sauter plusieurs versions d'un coup à condition que les
scripts de mise à jour le prennent en charge ;
@@ -121,7 +121,7 @@ déroule correctement.
Lorsque vous serez satisfait, mettez à jour update.freshrss.org avec le
nouveau script et en testant de nouveau puis passez à la suite.
-# Mise à jour des services FreshRSS
+## Mise à jour des services FreshRSS
Deux services sont à mettre à jour immédiatement après la mise à jour de
update.freshrss.org :
@@ -129,7 +129,7 @@ update.freshrss.org :
* rss.freshrss.org ;
* demo.freshrss.org (identifiants publics : `demo` / `demodemo`).
-# Annoncer publiquement la sortie
+## Annoncer publiquement la sortie
Lorsque tout fonctionne, il est temps d'annoncer la sortie au monde entier !
@@ -141,10 +141,10 @@ Lorsque tout fonctionne, il est temps d'annoncer la sortie au monde entier !
* sur Twitter (compte [@FreshRSS](https://twitter.com/FreshRSS)) ;
* et sur mailing@freshrss.org ;
-# Lancer la prochaine version de développement
+## Lancer la prochaine version de développement
-```bash
-$ git checkout master
+```sh
+$ git checkout edge
$ vim constants.php
# Mettre à jour le numéro de version de FRESHRSS_VERSION
$ vim CHANGELOG.md
diff --git a/docs/fr/users/01_Installation.md b/docs/fr/users/01_Installation.md
index 2f31e4c77..9ef5ea6c5 100644
--- a/docs/fr/users/01_Installation.md
+++ b/docs/fr/users/01_Installation.md
@@ -8,29 +8,29 @@ Il est toutefois de votre responsabilité de vérifier que votre hébergement pe
| -------- | ----------- | --------------------- |
| Serveur web | **Apache 2** | Nginx |
| PHP | **PHP 7+** | PHP 5.6+ |
- | Modules PHP | Requis : libxml, cURL, JSON, PDO_MySQL, PCRE et ctype<br>Requis (32 bits seulement) : GMP<br>Recommandé : Zlib, mbstring et iconv, ZipArchive<br>*Pour une liste complète des modules nécessaires voir le [Dockerfile](https://github.com/FreshRSS/FreshRSS/blob/master/Docker/Dockerfile-Alpine#L7-L9)* | |
+ | Modules PHP | Requis : libxml, cURL, JSON, PDO_MySQL, PCRE et ctype<br />Requis (32 bits seulement) : GMP<br />Recommandé : Zlib, mbstring et iconv, ZipArchive<br />*Pour une liste complète des modules nécessaires voir le [Dockerfile](https://github.com/FreshRSS/FreshRSS/blob/edge/Docker/Dockerfile-Alpine#L7-L9)* | |
| Base de données | **MySQL 5.5.3+** | SQLite 3.7.4+, PostgreSQL 9.5+ |
| Navigateur | **Firefox** | Chrome, Opera, Safari, or IE 11+ |
-# Choisir la bonne version de FreshRSS
+## Choisir la bonne version de FreshRSS
FreshRSS possède trois versions différentes (nous parlons de branches) qui sortent à des fréquences plus ou moins rapides. Aussi prenez le temps de comprendre à quoi correspond chacune de ces versions.
-## La version stable
+### La version stable
-[Téléchargement](https://github.com/FreshRSS/FreshRSS/archive/master.zip)
+[Téléchargement](https://github.com/FreshRSS/FreshRSS/archive/latest.zip)
Cette version sort lorsqu’on considère qu’on a répondu à nos objectifs en terme de nouvelles fonctionnalités. Deux versions peuvent ainsi sortir de façon très rapprochée si les développeurs travaillent bien. En pratique, comme nous nous fixons de nombreux objectifs et que nous travaillons sur notre temps libre, les versions sont souvent assez espacées (plusieurs mois). Son avantage est que le code est particulièrement stable et vous ne devriez pas faire face à de méchants bugs.
-## La version de développement
+### La version de développement
-[Téléchargement](https://github.com/FreshRSS/FreshRSS/archive/dev.zip)
+[Téléchargement](https://github.com/FreshRSS/FreshRSS/archive/edge.zip)
-Comme son nom l’indique, il s’agit de la version sur laquelle les développeurs travaillent. **Elle est donc instable !** Si vous souhaitez recevoir les améliorations au jour le jour, vous pouvez l’utiliser, mais attention à bien suivre les évolutions sur Github (via [le flux RSS de la branche](https://github.com/FreshRSS/FreshRSS/commits/dev.atom) par exemple). On raconte que les développeurs principaux l’utilisent quotidiennement sans avoir de soucis. Sans doute savent-ils ce qu’ils font…
+Comme son nom l’indique, il s’agit de la version sur laquelle les développeurs travaillent. **Elle est donc instable !** Si vous souhaitez recevoir les améliorations au jour le jour, vous pouvez l’utiliser, mais attention à bien suivre les évolutions sur Github (via [le flux RSS de la branche](https://github.com/FreshRSS/FreshRSS/commits/edge.atom) par exemple). On raconte que les développeurs principaux l’utilisent quotidiennement sans avoir de soucis. Sans doute savent-ils ce qu’ils font…
-# Installation sur Apache
+## Installation sur Apache
-```
+```apache
<VirtualHost *:80>
DocumentRoot /var/www/html/
@@ -84,13 +84,13 @@ Comme son nom l’indique, il s’agit de la version sur laquelle les développe
</IfModule>
```
-# Installation sur Nginx
+## Installation sur Nginx
Voici un fichier de configuration pour nginx. Il couvre la configuration pour HTTP, HTTPS, et PHP.
_Vous pourrez trouver d’autres fichiers de configuration plus simples mais ces derniers ne seront peut-être pas compatibles avec l’API FreshRSS._
-```
+```nginx
server {
listen 80;
listen 443 ssl;
@@ -135,6 +135,6 @@ server {
Pour un tutoriel pas à pas, vous pouvez suivre [cet article dédié](http://www.pihomeserver.fr/2013/05/08/raspberry-pi-home-server-installer-un-agregateur-de-flux-rss-pour-remplacer-google-reader/).
-# Conseils de sécurité
+## Conseils de sécurité
**TODO**
diff --git a/docs/fr/users/04_Subscriptions.md b/docs/fr/users/04_Subscriptions.md
index af55bec80..2c5808fbf 100644
--- a/docs/fr/users/04_Subscriptions.md
+++ b/docs/fr/users/04_Subscriptions.md
@@ -5,8 +5,10 @@
3. Collez l’URL du flux dans le champ « Ajouter un flux RSS » juste en dessous du titre.
4. (facultatif) : Vous pouvez descendre jusqu’à « Catégorie » et sélectionner la catégorie dans laquelle vous souhaitez enregistrer votre flux. Par défaut, le nouveau flux sera dans « Sans catégorie ».
-# Import et export
-Voir [export/import SQLite]( https://github.com/FreshRSS/FreshRSS/tree/master/cli) pour une alternative.
+## Import et export
+
+Voir [export/import SQLite]( https://github.com/FreshRSS/FreshRSS/tree/edge/cli) pour une alternative.
+
## Exportation
1. Pour exporter votre liste d’abonnements, allez dans « Gestion des abonnements ».
@@ -18,8 +20,8 @@ Voir [export/import SQLite]( https://github.com/FreshRSS/FreshRSS/tree/master/cl
4. et enfin, vous pouvez sélectionner les flux que vous voulez exporter (par défaut tous les flux sont sélectionnés)
4. Cliquez sur « Exporter ».
- ## Importation
-
+## Importation
+
1. Pour importer un fichier d’abonnement vers votre compte FreshRSS, allez dans l’espace « Importer / exporter » comme ci-dessus
2. Cliquez sur « Parcourir » et sélectionnez votre fichier sur votre ordinateur.
3. Validez en cliquant sur « Importer ».
@@ -27,11 +29,12 @@ Voir [export/import SQLite]( https://github.com/FreshRSS/FreshRSS/tree/master/cl
> **Important**: vous ne pouvez pas importer directement depuis un fichier texte.
> Vous devez le convertir au format _OPML_ au préalable.
> Voici une liste d’outils que vous pouvez utiliser :
+>
> - [Pandoc](https://pandoc.org/) disponible sur la plus part des systèmes,
> - [OPML generator](https://opml-gen.ovh/) disponible en ligne,
> - [txt2opml](https://alterfiles.com/convert/txt/opml) disponible en ligne.
-# Utiliser le « bookmarklet »
+## Utiliser le « bookmarklet »
Les « bookmarklets » sont de petits scripts que vous pouvez exécuter pour effectuer des tâches diverses et variées. FreshRSS offre un signet « bookmark » pour s’abonner aux fils de nouvelles.
@@ -40,7 +43,7 @@ Les « bookmarklets » sont de petits scripts que vous pouvez exécuter pour eff
3. Glissez le bouton « S’abonner » dans la barre d’outils des signets ou
cliquez droit et choisissez l’action « Lien vers les signets » de votre navigateur.
-# Organisation des flux
+## Organisation des flux
Vous pouvez trier vos flux dans différentes catégories. Un flux ne peut être que dans une seule catégorie.
diff --git a/docs/i18n/freshrss.fr.po b/docs/i18n/freshrss.fr.po
index 3d490e99e..9958cd861 100644
--- a/docs/i18n/freshrss.fr.po
+++ b/docs/i18n/freshrss.fr.po
@@ -295,12 +295,12 @@ msgid ""
"The documentation needs a lot of improvements in order to be more useful to "
"new contributors and we are working on it. If you want to give some help, "
"meet us in the main repositories [docs directory](https://github.com/"
-"FreshRSS/FreshRSS/tree/master/docs)!"
+"FreshRSS/FreshRSS/tree/edge/docs)!"
msgstr ""
"Il ne vous aura pas échappé que la documentation est encore un peu vide… il "
"y a énormément de choses à faire ! Si vous souhaitez aider à écrire quelques "
"pages, rendez-vous dans les principaux dépôts[fichier docs](https://github."
-"com/FreshRSS/FreshRSS/tree/master/docs) !"
+"com/FreshRSS/FreshRSS/tree/edge/docs) !"
#. type: Title #
#: en/./developers/01_First_steps.md:1
@@ -1476,11 +1476,11 @@ msgstr "Vous pouvez maintenant pull le dernier code de développement :"
#: en/./developers/02_Github.md:90
#, no-wrap
msgid ""
-"git checkout master\n"
-"git pull upstream master\n"
+"git checkout edge\n"
+"git pull upstream edge\n"
msgstr ""
-"git checkout master\n"
-"git pull upstream master\n"
+"git checkout edge\n"
+"git pull upstream edge\n"
#. type: Title ##
#: en/./developers/02_Github.md:95
@@ -3013,7 +3013,7 @@ msgstr ""
#: en/./developers/03_Running_tests.md:4
msgid ""
"FreshRSS is tested with [PHPUnit](https://phpunit.de/). No code should be "
-"merged in `master` if the tests don't pass."
+"merged in `edge` if the tests don't pass."
msgstr ""
#. type: Title ##
@@ -3082,7 +3082,7 @@ msgstr ""
#| "FreshRSS/FreshRSS/issues/new)"
msgid ""
"If you're interested in, you can take a look at [the configuration file]"
-"(https://github.com/FreshRSS/FreshRSS/blob/master/.travis.yml)."
+"(https://github.com/FreshRSS/FreshRSS/blob/edge/.travis.yml)."
msgstr ""
"Si votre demande est nouvelle, [ouvrez un nouveau ticket de bug](https://"
"github.com/FreshRSS/FreshRSS/issues/new)"
@@ -3146,7 +3146,7 @@ msgstr ""
#: en/./developers/04_Pull_requests.md:6
msgid ""
"When you open a PR, your message will be prefilled with a message based on "
-"[a template](https://github.com/FreshRSS/FreshRSS/blob/master/docs/"
+"[a template](https://github.com/FreshRSS/FreshRSS/blob/edge/docs/"
"pull_request_template.md). It contains a checklist to make sure you didn't "
"forget anything. It is very important to verify you did everything mentioned "
"so documentation is up-to-date, the commit history stays clear and the code "
@@ -3161,7 +3161,7 @@ msgstr ""
#. type: Title ##
#: en/./developers/04_Pull_requests.md:9
#, no-wrap
-msgid "How to rebase your branch on `master`"
+msgid "How to rebase your branch on `edge`"
msgstr ""
#. type: Plain text
@@ -3211,16 +3211,16 @@ msgstr ""
#: en/./developers/04_Pull_requests.md:23
#, no-wrap
msgid ""
-"$ git checkout master # go on master branch\n"
-"$ git pull upstream master # pull the last version of master\n"
-"$ git checkout - # go back to your branch\n"
-"$ git rebase master # rebase your branch on master\n"
+"$ git checkout edge # go on edge branch\n"
+"$ git pull upstream edge # pull the last version of edge\n"
+"$ git checkout - # go back to your branch\n"
+"$ git rebase edge # rebase your branch on edge\n"
msgstr ""
#. type: Plain text
#: en/./developers/04_Pull_requests.md:31
msgid ""
-"If you feel confident, you can use `git rebase -i master` to rewrite your "
+"If you feel confident, you can use `git rebase -i edge` to rewrite your "
"history and make it clearer."
msgstr ""
@@ -3234,24 +3234,24 @@ msgstr "Déboguer"
#. type: Plain text
#: en/./developers/04_Pull_requests.md:35
msgid ""
-"If you prefer, you can simply merge `master` into your own branch. Conflicts "
+"If you prefer, you can simply merge `edge` into your own branch. Conflicts "
"might be easier to resolve, but your Git history will be less readable. "
-"Don't worry, we'll take care of it before merging your PR back into `master`."
+"Don't worry, we'll take care of it before merging your PR back into `edge`."
msgstr ""
#. type: Plain text
#: en/./developers/04_Pull_requests.md:37
-msgid "To merge `master`:"
+msgid "To merge `edge`:"
msgstr ""
#. type: Plain text
#: en/./developers/04_Pull_requests.md:38
#, no-wrap
msgid ""
-"$ git checkout master # go on master branch\n"
-"$ git pull upstream master # pull the last version of master\n"
-"$ git checkout - # go back to your branch\n"
-"$ git merge master # merge master into your branch\n"
+"$ git checkout edge # go on edge branch\n"
+"$ git pull upstream edge # pull the last version of edge\n"
+"$ git checkout - # go back to your branch\n"
+"$ git merge edge # merge edge into your branch\n"
msgstr ""
#. type: Title ##
@@ -3435,7 +3435,7 @@ msgstr "Processus Git"
#: en/./developers/05_Release_new_version.md:15
#, no-wrap
msgid ""
-"$ git checkout master\n"
+"$ git checkout edge\n"
"$ git pull\n"
"$ vim constants.php\n"
"# Update version number x.y.y.z of FRESHRSS_VERSION\n"
@@ -3445,7 +3445,7 @@ msgid ""
"Version x.y.z\n"
"$ git push && git push --tags\n"
msgstr ""
-"$ git checkout master\n"
+"$ git checkout edge\n"
"$ git pull\n"
"$ vim constants.php\n"
"# Mettre à jour le numéro de version x.y.z de FRESHRSS_VERSION\n"
@@ -3490,13 +3490,13 @@ msgstr "Écriture du script de mise à jour"
msgid ""
"The scripts are located in the `./scripts/` directory and must take the form "
"`update_to_x.y.z.z.php`. This directory also contains `update_to_dev.php` "
-"intended for updates of the `master` branch (this script must not include "
+"intended for updates of the `edge` branch (this script must not include "
"code specific to a particular version!) and `update_util.php`, which "
"contains a list of functions useful for all scripts."
msgstr ""
"Les scripts se trouvent dans le répertoire `./scripts/` et doivent être de "
"la forme `update_to_x.y.z.php`. On trouve aussi dans ce répertoire "
-"`update_to_dev.php` destiné aux mises à jour de la branche `master` (ce "
+"`update_to_dev.php` destiné aux mises à jour de la branche `edge` (ce "
"script ne doit pas inclure de code spécifique à une version particulière !) "
"et `update_util.php` contenant une liste de fonctions utiles à tous les "
"scripts."
@@ -3637,8 +3637,8 @@ msgstr "à gauche se trouve la version N, à droite la version N+1 ;"
#. type: Bullet: '* '
#: en/./developers/05_Release_new_version.md:74
-msgid "the `x.y.z.z-dev` versions are **all** updated to `master`;"
-msgstr "les versions `x.y.z-dev` sont **toutes** mises à jour vers `master` ;"
+msgid "the `x.y.z.z-dev` versions are **all** updated to `edge`;"
+msgstr "les versions `x.y.z-dev` sont **toutes** mises à jour vers `edge` ;"
#. type: Bullet: '* '
#: en/./developers/05_Release_new_version.md:74
@@ -3778,14 +3778,14 @@ msgstr "Lancer la prochaine version de développement"
#: en/./developers/05_Release_new_version.md:101
#, no-wrap
msgid ""
-"$ git checkout master\n"
+"$ git checkout edge\n"
"$ vim constants.php\n"
"# Update the FRESHRSS_VERSION\n"
"$ vim CHANGELOG.md\n"
"# Prepare the changelog for the next version\n"
"$ git add CHANGELOG.md && git commit && git push\n"
msgstr ""
-"$ git checkout master\n"
+"$ git checkout edge\n"
"$ vim constants.php\n"
"# Mettre à jour le numéro de version de FRESHRSS_VERSION\n"
"$ vim CHANGELOG.md\n"
diff --git a/docs/i18n/templates/freshrss.pot b/docs/i18n/templates/freshrss.pot
index cf7fd72e6..143469022 100644
--- a/docs/i18n/templates/freshrss.pot
+++ b/docs/i18n/templates/freshrss.pot
@@ -244,7 +244,7 @@ msgid ""
"The documentation needs a lot of improvements in order to be more useful to "
"new contributors and we are working on it. If you want to give some help, "
"meet us in the main repositories [docs "
-"directory](https://github.com/FreshRSS/FreshRSS/tree/master/docs)!"
+"directory](https://github.com/FreshRSS/FreshRSS/tree/edge/docs)!"
msgstr ""
#. type: Title #
@@ -1170,8 +1170,8 @@ msgstr ""
#: en/./developers/02_Github.md:90
#, no-wrap
msgid ""
-"git checkout master\n"
-"git pull upstream master\n"
+"git checkout edge\n"
+"git pull upstream edge\n"
msgstr ""
#. type: Title ##
@@ -2408,7 +2408,7 @@ msgstr ""
#: en/./developers/03_Running_tests.md:4
msgid ""
"FreshRSS is tested with [PHPUnit](https://phpunit.de/). No code should be "
-"merged in `master` if the tests don't pass."
+"merged in `edge` if the tests don't pass."
msgstr ""
#. type: Title ##
@@ -2471,7 +2471,7 @@ msgstr ""
#: en/./developers/03_Running_tests.md:25
msgid ""
"If you're interested in, you can take a look at [the configuration "
-"file](https://github.com/FreshRSS/FreshRSS/blob/master/.travis.yml)."
+"file](https://github.com/FreshRSS/FreshRSS/blob/edge/.travis.yml)."
msgstr ""
#. type: Title #
@@ -2528,7 +2528,7 @@ msgstr ""
msgid ""
"When you open a PR, your message will be prefilled with a message based on "
"[a "
-"template](https://github.com/FreshRSS/FreshRSS/blob/master/docs/pull_request_template.md). "
+"template](https://github.com/FreshRSS/FreshRSS/blob/edge/docs/pull_request_template.md). "
"It contains a checklist to make sure you didn't forget anything. It is very "
"important to verify you did everything mentioned so documentation is "
"up-to-date, the commit history stays clear and the code is always stable."
@@ -2542,7 +2542,7 @@ msgstr ""
#. type: Title ##
#: en/./developers/04_Pull_requests.md:9
#, no-wrap
-msgid "How to rebase your branch on `master`"
+msgid "How to rebase your branch on `edge`"
msgstr ""
#. type: Plain text
@@ -2592,16 +2592,16 @@ msgstr ""
#: en/./developers/04_Pull_requests.md:23
#, no-wrap
msgid ""
-"$ git checkout master # go on master branch\n"
-"$ git pull upstream master # pull the last version of master\n"
-"$ git checkout - # go back to your branch\n"
-"$ git rebase master # rebase your branch on master\n"
+"$ git checkout edge # go on edge branch\n"
+"$ git pull upstream edge # pull the last version of edge\n"
+"$ git checkout - # go back to your branch\n"
+"$ git rebase edge # rebase your branch on edge\n"
msgstr ""
#. type: Plain text
#: en/./developers/04_Pull_requests.md:31
msgid ""
-"If you feel confident, you can use `git rebase -i master` to rewrite your "
+"If you feel confident, you can use `git rebase -i edge` to rewrite your "
"history and make it clearer."
msgstr ""
@@ -2614,25 +2614,25 @@ msgstr ""
#. type: Plain text
#: en/./developers/04_Pull_requests.md:35
msgid ""
-"If you prefer, you can simply merge `master` into your own branch. Conflicts "
+"If you prefer, you can simply merge `edge` into your own branch. Conflicts "
"might be easier to resolve, but your Git history will be less "
"readable. Don't worry, we'll take care of it before merging your PR back "
-"into `master`."
+"into `edge`."
msgstr ""
#. type: Plain text
#: en/./developers/04_Pull_requests.md:37
-msgid "To merge `master`:"
+msgid "To merge `edge`:"
msgstr ""
#. type: Plain text
#: en/./developers/04_Pull_requests.md:38
#, no-wrap
msgid ""
-"$ git checkout master # go on master branch\n"
-"$ git pull upstream master # pull the last version of master\n"
-"$ git checkout - # go back to your branch\n"
-"$ git merge master # merge master into your branch\n"
+"$ git checkout edge # go on edge branch\n"
+"$ git pull upstream edge # pull the last version of edge\n"
+"$ git checkout - # go back to your branch\n"
+"$ git merge edge # merge edge into your branch\n"
msgstr ""
#. type: Title ##
@@ -2799,7 +2799,7 @@ msgstr ""
#: en/./developers/05_Release_new_version.md:15
#, no-wrap
msgid ""
-"$ git checkout master\n"
+"$ git checkout edge\n"
"$ git pull\n"
"$ vim constants.php\n"
"# Update version number x.y.y.z of FRESHRSS_VERSION\n"
@@ -2842,7 +2842,7 @@ msgstr ""
msgid ""
"The scripts are located in the `./scripts/` directory and must take the form "
"`update_to_x.y.z.z.php`. This directory also contains `update_to_dev.php` "
-"intended for updates of the `master` branch (this script must not include "
+"intended for updates of the `edge` branch (this script must not include "
"code specific to a particular version!) and `update_util.php`, which "
"contains a list of functions useful for all scripts."
msgstr ""
@@ -2949,7 +2949,7 @@ msgstr ""
#. type: Bullet: '* '
#: en/./developers/05_Release_new_version.md:74
-msgid "the `x.y.z.z-dev` versions are **all** updated to `master`;"
+msgid "the `x.y.z.z-dev` versions are **all** updated to `edge`;"
msgstr ""
#. type: Bullet: '* '
@@ -3068,7 +3068,7 @@ msgstr ""
#: en/./developers/05_Release_new_version.md:101
#, no-wrap
msgid ""
-"$ git checkout master\n"
+"$ git checkout edge\n"
"$ vim constants.php\n"
"# Update the FRESHRSS_VERSION\n"
"$ vim CHANGELOG.md\n"
diff --git a/docs/pull_request_template.md b/docs/pull_request_template.md
index 5d1f225b7..18544d989 100644
--- a/docs/pull_request_template.md
+++ b/docs/pull_request_template.md
@@ -19,4 +19,4 @@ Pull request checklist:
- [ ] unit tests written (optional if too hard)
- [ ] documentation updated
-[Additional information can be found in the documentation](https://github.com/FreshRSS/FreshRSS/tree/master/docs/en/developers/04_Pull_requests.md).
+[Additional information can be found in the documentation](https://github.com/FreshRSS/FreshRSS/tree/edge/docs/en/developers/04_Pull_requests.md).