Add posts/minrss.md

This commit is contained in:
dogeystamp 2022-04-10 14:10:04 -04:00
parent 3652c5220c
commit 930ddb648b
Signed by: dogeystamp
GPG Key ID: 7225FE3592EFFA38
2 changed files with 108 additions and 1 deletions

View File

@ -43,7 +43,7 @@ img {
height: auto;
}
pre, p > code {
pre, p > code, li > code {
font-size: 1.5vmin;
font-family: JetBrainsMono, monospace;
background: #090909;

107
src/posts/minrss.md Normal file
View File

@ -0,0 +1,107 @@
<!--- date: 2022-03-26 --->
<!--- title: feed reader --->
# minrss
I used to have [newsboat](https://newsboat.org/) as an RSS/Atom feed reader. However, I was looking for a project to do so I made a replacement.
minrss is intended to be minimal and small.
It pulls a lot of inspiration from suckless.org's projects like their IRC clients ii and sic too. A structure similar to these projects is used. Each feed is represented as a folder, and each article as files.
```
rss
|--news
| |--article1
| `--article2
`--blog
|--post
`--other_post
```
## usage
minrss will inform the user about new articles. If another action should be done for each article, it can be easily patched in, like any suckless software.
```
$ cd ~/dox/rss
$ minrss
Finished downloads.
2 new articles for feed news.
2 new articles for feed blog.
Finished parsing feeds.
```
After being run, there will be a folder for each feed.
```
$ ls
news blog
```
I personally use basic shell utilities to list off the new articles.
```
$ ls -t news/ | head -n 2
article1.html
article2.html
```
Since articles are saved as HTML, I then have w3m parse them. minrss will also provide a link to the original site by default, in case the feed only has summaries of articles.
```
$ w3m news/article1.html
article1
Link
Loren ipsum dolor sit amet...
```
Obviously, all this extra work could be condensed into aliases, or patched into the program.
## installation
The installation of minrss is similar to suckless software like dwm or st.
- Clone the repo.
```
$ git clone https://d.nerdpol.ovh/git/dogeystamp/minrss
$ cd minrss
```
- Copy `config.def.h` to `config.h`.
```
$ cp config.def.h config.h
```
- Edit config.h to add your RSS feeds.
```
static const linkStruct links[] = {
{
.url = "https://news.org/rss/",
.feedName = "news",
},
{
.url = "https://blog.com/rss/",
.feedName = "blog",
},
};
```
- Compile and install the resulting binary.
Do note that `$PREFIX` is set to `~/.local/bin` in the Makefile because the feed list is generally personal.
If you need to install minrss system-wide for whatever reason, change `$PREFIX` to `/usr`.
```
$ make
$ make install
```