Syntax + Docs

This commit is contained in:
Michael Grote 2023-04-10 18:52:51 +02:00
parent 1b21da5d51
commit a7438fbe77
1 changed files with 26 additions and 20 deletions

View File

@ -1,7 +1,5 @@
# miniflux-filter
[![Build Status](http://docker9.grote.lan/api/badges/Docker-Images/miniflux-filter/status.svg)](http://docker9.grote.lan/Docker-Images/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)
@ -16,15 +14,18 @@
<!-- /TOC -->
### Introduction
``miniflux-filter`` is a small bash-script for [miniflux](https://miniflux.app) that marks certain articles as read, if the search conditions are 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
```yaml
version: '3.2'
services:
@ -32,10 +33,10 @@ services:
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
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:
@ -43,6 +44,7 @@ services:
```
#### example filter-file
* Format: `url::search`
* case-insensitive
@ -57,32 +59,36 @@ heise.de::TechStage |
```
## Misc
- [tborychowski/miniflux-filter](https://github.com/tborychowski/miniflux-filter)
- [jqplay.org](https://jqplay.org)
- To clean up your `filter.txt` you can use the following script: `./sort_and_remove_double_lines.sh`
### 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 | `$MF_FILTERLIST_FILE` not found |
| 2 | `$MF_AUTH_TOKEN` not set |
| 3 | `$MF_API_URL` not set |
| 4 | `$MF_FILTERLIST_FILE` 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 |
| 11 | `awk` is not installed |
| RC | Description |
| --- | ------------------------------- |
| 1 | `$MF_FILTERLIST_FILE` not found |
| 2 | `$MF_AUTH_TOKEN` not set |
| 3 | `$MF_API_URL` not set |
| 4 | `$MF_FILTERLIST_FILE` 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 |
| 11 | `awk` is not installed |
## Build Container
```shell
git clone https://git.mgrote.net/mg/miniflux-filter
cd miniflux-filter
@ -91,6 +97,6 @@ export MF_DOCKERHUB_USER=<your_docker_hub_user>
./build.sh
```
## License
This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](./LICENSE) file for details.