All work is done on `dev` or its child branches, then merged into `server` and pushed for testing, then merged into master at each release or critical bugfix. Pull Requests on `dev`, please.
All work is done on `dev` or its child branches, then merged into `server` and pushed for testing, then merged into `master` at each release or critical bugfix. Pull Requests on `dev`, please.
## Installation notes & caveats
The two libs [Feedrat](https://framagit.org/yphil/feedrat)(to discover a RSS/Atom feed at a given URL) and [Favrat](https://framagit.org/yphil/favrat)(to discover a favicon at a given URL) are no longer hosted on npm, but installed directly from the repo ; however their dependancies have to be installed manually by running `npm install` in their respective directories.
The two libs [Feedrat](https://framagit.org/yphil/feedrat)(to discover a RSS/Atom feed at a given URL) and [Favrat](https://framagit.org/yphil/favrat)(to discover a favicon at a given URL) are no longer hosted on npm, but installed directly from the repo ; their dependancies are installed and updated using a `postinstall` command.
## Under the hood
...
...
@@ -29,11 +29,11 @@ Pétrolette is its own server, a standard [express](https://github.com/expressjs
-`npm start` launches `pm2` as per [package.json](package.json)
-`pm2` launches [http/server.js](http/server.js) as per [pm2.config.json](pm2.config.json)
-[petrolette.js](petrolette.js) uses [routes/router.js](routes/router.js) to define 4 routes: `/` for the actual Pétrolette page, `/discover` for the RSS searching (see Feedrat), `/favicon` for the site icon searching (see Favrat) and `static` for serving the static (CSS, icons, fonts, etc.) files.
-[petrolette.js](petrolette.js) uses [routes/router.js](routes/router.js) to define 4 routes: `/` for the actual Pétrolette page, `/discover` for the RSS searching (see [Feedrat](https://framagit.org/yphil/feedrat)), `/favicon` for the site icon searching (see [Favrat](https://framagit.org/yphil/favrat)) and `static` for serving the static (CSS, icons, fonts, etc.) files.
- The client send the (RSS / favicon / discover / static) request to the server
- The server returns the content to the client
- The server returns the formatted feed to the client
At the first startup, Pétrolette generates its page using a default tabs and feeds list, then copies this structured list the the client's local storage persistent cache. The user can (should) also use a third party cloud storage to write / read his / her tabs and feeds, in order to have the same contents on all machines : Desktop, laptop, phone, etc.
At the first startup, Pétrolette generates its page using a default tabs and feeds list, then copies this structured list the the client's [local storage persistent cache](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage). The user can (should) also use a third party cloud storage to write / read his / her tabs and feeds, in order to have the same contents on all machines : Desktop, laptop, phone, etc.
## Why is there a server in the first place ?
...
...
@@ -60,10 +60,14 @@ Those logs are also rotated by pm2, using the [pm2-logrotate](https://github.com
### Fonts
The [glyph font](public/font/fontello) is a custom one, containing only the dozen of glyphs used throughout the app, made with [Fontello](https://fontello.com/). To edit this font, juste load (or just D&Drop) [fontello-config.json](public/font/fontello-config.json) into [Fontello](https://fontello.com/), make the changes, then DLoad the archive into petrolette/tmp/fontello.zip, then
The [glyph font](public/font/fontello) is a custom one, containing only the dozen of glyphs used throughout the app, made with [Fontello](https://fontello.com/) and Pétrolette's own logo / glyph. To edit this font, juste load (or just D&Drop) [fontello-config.json](public/font/fontello-config.json) into [Fontello](https://fontello.com/), make the changes, then DLoad the archive into petrolette/tmp/fontello.zip, then
[Pétrolette](http://petrolette.space) is a news reading home page, [Free, Libre, and Open-Source Software](https://framagit.org/yphil/petrolette/-/blob/master/LICENSE). It is immediately usable **without registration** with the **same URL** on the desktop or a mobile device.
[Pétrolette](https://petrolette.space) is a news home page, [Free, Libre, and Open-Source Software](https://framagit.org/yphil/petrolette/-/blob/master/LICENSE). She is immediately usable **without registration** with the **same URL** on the desktop or a mobile device.
Go ahead, it's yours : Create, delete, move feeds and tabs, close / quit your browser, come back tomorrow, everything is how you left it.
"Media preloading":{fr:"Pré-chargement des médias",ja:"メディアのプリロード",es:"Precarga de medios"},
...
...
@@ -436,9 +438,9 @@ PTL.i18n.translations = {
"Move the current feed to this tab":{fr:"Déplacer le flux courant dans cet onglet",ja:"このグループの現在のフィードを移動する",es:"Mueve el fuente actual en este grupo"},
"Display only text":{fr:"Affichage du texte seul",ja:"テキストのみ",es:"visualización del solo texto"},
"Display text and image":{fr:"Affichage du texte et de l'image",ja:"テキストとイメージ",es:"visualización del texto e imagen"},
"Display only image":{fr:"Affichage de l'image seule",ja:"画像のみ",es:"visualización del solo imagen"},
"Only display text":{fr:"Affichage du texte seul",ja:"テキストのみを表示する",es:"Mostrar solo texto"},
"Display text and media (image, audio, video)":{fr:"Affichage du texte et du média (image, audio, video)",ja:"テキストとメディア(画像、音声、ビデオ)を表示する",es:"Mostrar texto y medios (imagen, audio, video)"},
"Only display media (image, audio, video)":{fr:"Affichage du média seul (image, audio, video)",ja:"表示メディア(画像、音声、ビデオ)のみ",es:"Mostrar solo medios (imagen, audio, video)"},
"Validate /verify this feed file with the W3C":{fr:"Valider / vérifier ce fichier flux avec le W3C",ja:"このソースファイルをW3Cで検証/検証する",es:"Validar / verificar este archivo fuente con el W3C"},