This commit is contained in:
Tomasz Borychowski 2020-11-01 15:51:25 +00:00
parent c00ded115d
commit a18c856eb9
3 changed files with 111 additions and 2 deletions

View File

@ -170,8 +170,16 @@ So, without further ado, here's the current list:
# RSS
- Miniflux
- Miniflux-filter
- [Miniflux](rss/../apps/rss/miniflux.md)
- [Miniflux-filter](rss/../apps/rss/miniflux-filter.md)
- [FreshRSS](https://www.freshrss.org/) [external] - second best :-)
## RSS Tools
- [PolitePol](https://github.com/taroved/pol) [external] - Create RSS where there was none
- [FetchRSS](https://fetchrss.com/) [external] - Create RSS for FB, Twitter, YT, and websites
- [rss-bridge](https://github.com/RSS-Bridge/rss-bridge) [external] - The RSS feed for websites missing it
- [rss2full](https://github.com/feedocean/rss2full) [external] - Transform summary feeds into full-text
# Search engines

View File

@ -0,0 +1,45 @@
# Miniflux-filter
Filter for miniflux - "mark as read" all unwanter articles.
I created that before miniflux added some basic filtering. Maybe still useful to someone.
The difference from the built-in filtering is that this marks articles as read, whereas the built-in filtering filters articles out BEFORE adding them to the DB.
<br>
- [Github repo](https://github.com/tborychowski/miniflux-filter)
## docker-compose.yml
```yml
---
version: '3'
services:
miniflux-filter:
image: tborychowski/miniflux-filter
container_name: miniflux-filter
restart: unless-stopped
environment:
- TZ=Europe/Dublin
- HOST=https://rss.example.com
- API_KEY=<YOUR MINIFLUX API KEY>
- CHECK_EVERY_S=300 # 300 seconds = 5 min
ports:
- "5011:3000"
volumes:
- ./filters.yml:/app/filters.yml
- ./logs:/app/logs # optional
```
## filters.yml
This is a simple list of matchers: it loops through the unread articles and for every one of them - it loops through this list. If the article URL matches a filter `url` and the article title contains the string from `title` field - this article will be marked as read.
```yml
filters:
- url: 'feed.example.com' # match feed url
title: 'windows 10' # match title
- url: 'feed.example.com'
title: 'sponsored'
- url: 'feed.another.com'
title: 'spam'
```

56
apps/rss/miniflux.md Normal file
View File

@ -0,0 +1,56 @@
# Miniflux
The best RSS reader that I've tested. Simple, extremely fast and minimalistic.
<br>
- [Homepage](https://miniflux.app/)
- [Github repo](https://github.com/miniflux/v2)
- [Docs](https://miniflux.app/docs/index.html)
## docker-compose.yml
```yml
version: '3'
services:
miniflux:
image: miniflux/miniflux:nightly
ports:
- "5010:8080"
depends_on:
- db
environment:
- DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable
- RUN_MIGRATIONS=1
- CREATE_ADMIN=1
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=test123
db:
image: postgres:latest
environment:
- POSTGRES_USER=miniflux
- POSTGRES_PASSWORD=secret
volumes:
- ./db:/var/lib/postgresql/data
```
## Tips & Tricks
- [Rules](https://miniflux.app/docs/rules.html) can be set for every feed source:
### Filter Rules - block rules
exclude articles containing a word (case insensitive), e.g.
```
(?i)windows,(?i)miniflux
```
### Rewrite rules
```
add_dynamic_image,add_image_title,add_youtube_video
```
### Scraper rules
This is just a css selector for the main article DOM element, e.g.:
```css
#phContent_divMetaBody>p, #phContent_divMetaBody>.content-image-wrapper
```