miniflux-filter/README.md
mg 0b1946f9ad weniger API-Calls usw. (#1)
Co-authored-by: Michael Grote <michael.grote@posteo.de>
Reviewed-on: mg/miniflux-filter#1
Co-authored-by: mg <michael.grote@posteo.de>
Co-committed-by: mg <michael.grote@posteo.de>
2021-11-01 16:45:31 +01:00

95 lines
2.5 KiB
Markdown

# miniflux-filter
<!-- TOC titleSize:3 tabSpaces:2 depthFrom:2 depthTo:6 withLinks:1 updateOnSave:1 orderedList:0 skip:0 title:1 charForUnorderedList:* -->
### Table of Contents
* [Introduction](#introduction)
* [Getting Started](#getting-started)
* [example docker-compose](#example-docker-compose)
* [example filter-file](#example-filter-file)
* [Misc](#misc)
* [Debug](#debug)
* [Exit-Codes](#exit-codes)
* [Build Container](#build-container)
* [ToDo](#todo)
* [License](#license)
<!-- /TOC -->
### Introduction
``miniflux-filter`` is a small bash-script for [miniflux](https://miniflux.app) that marks certain articles as read, if the search conditions met.
### Getting Started
1. create an [api-key](https://miniflux.app/docs/api.html#authentication) in miniflux
2. create a [compose-file](./docker-compose.yml)
3. create a [filter-file](./filter.txt)
4. ````docker-compose up````
#### example docker-compose
```
version: '3.2'
services:
mf-filter:
container_name: mf-filter
restart: always
environment:
- TZ=Europe/Berlin
- MF_AUTH_TOKEN=XN2klsvvD[...]-dcHPaeQ=
- MF_API_URL=https://miniflux.[...].net/v1
- MF_SLEEP=60
#- MF_DEBUG=1
image: quotengrote/miniflux-filter:latest
volumes:
- ./filter.txt:/data/filter.txt
```
#### example filter-file
```
<part_of_url>:<search string, anything goes, but not :>
sueddeutsche.de:FC Bayern
heise.de:software-architektur.tv
heise.de:heise-angebot
tagesschau.de:FC Barcelona
heise.de:TechStage |
[...]
```
## Misc
- [tborychowski/miniflux-filter](https://github.com/tborychowski/miniflux-filter)
- [jqplay.org](https://jqplay.org)
### Debug
If `MF_DEBUG` is set to `1` `miniflux-filter` will print extra output to stdout.
- the current Variable
- URL + Values for filtering
- almost all function calls
#### Exit-Codes
| RC | Description |
| -- | -- |
| 1 | Filter-File not found |
| 2 | MF_AUTH_TOKEN not set |
| 3 | MF_API_URL not set |
| 4 | Filter-Datei is a dir |
| 5 | jq is not installed |
| 6 | curl is not installed |
| 7 | could not connect to miniflux |
| 8 | xargs is not installed |
| 9 | sed is not installed |
| 10 | sort is not installed |
## Build Container
git clone https://git.mgrote.net/mg/miniflux-filter
cd miniflux-filter
export MF_DOCKER_HUB_PASS=<your_docker_hub_pass>
export MF_DOCKER_HUB_USER=<your_docker_hub_user>
./build.sh
## ToDo
- [ ] search in content, not only title
## License
This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](./LICENSE) file for details.
IF DEBUG IS SET TAHN XXXXXXX