README.md 4.61 KB
Newer Older
1
# Pétrolette
yPhil's avatar
yPhil committed
2

yPhil's avatar
yPhil committed
3
*RSS/Atom morning news reader ; Works at night too.*
yPhil's avatar
yPhil committed
4

yPhil's avatar
yPhil committed
5
---
yPhil's avatar
yPhil committed
6

yPhil's avatar
yPhil committed
7
[![pipeline status](https://framagit.org/yphil/petrolette/badges/master/pipeline.svg)](https://framagit.org/yphil/petrolette/-/pipelines)
8
[![License GPLv3](https://img.shields.io/badge/license-GPL_v3-green.svg)](http://www.gnu.org/licenses/gpl-3.0.html)
yPhil's avatar
yPhil committed
9
[![Liberapay](https://img.shields.io/badge/donate-Liberapay-yellow.svg)](https://liberapay.com/yPhil/donate)
yPhil's avatar
yPhil committed
10
[![PayPal Donate](https://img.shields.io/badge/donate-PayPal.me-ff69b4.svg)](https://www.paypal.me/yphil)
yPhil's avatar
yPhil committed
11

yPhil's avatar
yPhil committed
12
13
<!-- [![coverage](https://framagit.org/yphil/petrolette/badges/master/coverage.svg)](https://framagit.org/yphil/petrolette/-/pipelines) -->

yPhil's avatar
yPhil committed
14
[Pétrolette](http://petrolette.space) is a news reading home page, [free](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.
yPhil's avatar
yPhil committed
15

yPhil's avatar
yPhil committed
16
News feeds are organized into tabs, which can contain an infinite number of columns; everything is configurable, and saved directly in the browser cache.
yPhil's avatar
yPhil committed
17

yPhil's avatar
yPhil committed
18
To view the same feeds on your phone, either export / import the `petrolette.conf` file, or (recommended) use the user's personal cloud synchronization feature.
yPhil's avatar
yPhil committed
19

yPhil's avatar
yPhil committed
20
![Petrolette](https://framagit.org/yphil/assets/-/raw/main/img/petrolette.png)
21

yPhil's avatar
yPhil committed
22
## Features
23

yPhil's avatar
yPhil committed
24
25
26
27
28
29
30
31
32
33
- Reads modern feeds (Atom, Media-RSS, etc.)
- Searches for feeds in a page / website
- Direct link to the article's resources (image, video, sound) for opening in an external reader
- Advanced image management
- Import / Export of the feeds file
- Online synchronization (Cloud)
- Construction of web search feeds
- Mobile / responsive interface
- Bookmarklet for adding the feed of a site to Pétrolette on the fly
- Compatible with FLOSS browsers (uncompressed executable files, licenses available directly and in standard format)
34

yPhil's avatar
yPhil committed
35
## New
yPhil's avatar
yPhil committed
36

yPhil's avatar
yPhil committed
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
### Client-side

- [The "folded" flows remain so, considerably speeding up the start-up](https://framagit.org/yphil/petrolette/-/blob/master/public/js/PTL.feed.js#L201)
- [Configurable search feed engine](https://framagit.org/yphil/petrolette/-/blob/master/public/js/PTL.prefs.js#L105)
- [Scrollable menu, collapsible elements](https://framagit.org/yphil/petrolette/-/blob/master/public/js/PTL.main.js#L52)
- [New themes](https://framagit.org/yphil/petrolette/-/blob/master/public/css/themes/night.css)

### Server-side

- [Compression](http://expressjs.com/en/advanced/best-practice-performance.html#use-gzip-compression)
- [Process management](https://pm2.keymetrics.io/)
- [CI / CD unit tests](https://framagit.org/yphil/petrolette/-/pipelines)
- Reinforced security on the test instance ([Sanitize](https://github.com/pocketly/node-sanitize), [Helmet](https://expressjs.com/en/advanced/best-practice-security .html # use-helmet), etc.)

### Companion libs

- Rewrite of [Feedrat](https://framagit.org/yphil/feedrat) and [Favrat](https://framagit.org/yphil/favrat) in async / Await
- [Installation directly from the repository (C-to-D no longer with npm)](https://framagit.org/yphil/petrolette/-/blob/master/package.json#L27)
- CI / CD unit tests ([Feedrat](https://framagit.org/yphil/feedrat/-/pipelines) / [Favrat](https://framagit.org/yphil/favrat/-/pipelines))

## In the pipe

- [SSL / HTTPS](https://framagit.org/yphil/petrolette/-/issues/59)
- [HTTP2](https://http2.github.io/faq/)
- [Import Netvibes](https://framagit.org/yphil/petrolette/-/issues/65)
- [Redesign of the flow configuration system](https://framagit.org/yphil/petrolette/-/issues/74)
- [Recurrent search by keywords](https://framagit.org/yphil/petrolette/-/issues/70)
- [Infinite / asynchronous scrolling in flows](https://framagit.org/yphil/petrolette/-/issues/63)
- [User themes](https://framagit.org/yphil/petrolette/-/issues/75)
- [Dedicated feeds for participating users](https://framagit.org/yphil/petrolette/-/issues/72)
67

yPhil's avatar
yPhil committed
68

yPhil's avatar
yPhil committed
69
70
71
### Installation

```sh
yPhil's avatar
yPhil committed
72
git clone https://framagit.org/yphil/petrolette
yPhil's avatar
yPhil committed
73
74
75
cd petrolette
npm install
npm start
yPhil's avatar
yPhil committed
76
xdg-open http://localhost:8000
yPhil's avatar
yPhil committed
77

yPhil's avatar
yPhil committed
78
79
80
81
82
```
#### Testing

```javascript
npm test
yPhil's avatar
yPhil committed
83
```
yPhil's avatar
yPhil committed
84

yPhil's avatar
yPhil committed
85
### LICENSE
yPhil's avatar
yPhil committed
86

yPhil's avatar
yPhil committed
87
88
89
90
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
yPhil's avatar
yPhil committed
91

yPhil's avatar
yPhil committed
92
93
94
95
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
yPhil's avatar
yPhil committed
96

yPhil's avatar
yPhil committed
97
98
You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
yPhil's avatar
yPhil committed
99

yPhil's avatar
yPhil committed
100
*Icon by yPhil*
yPhil's avatar
yPhil committed
101

yPhil's avatar
yPhil committed
102
---