From 930ddb648b2e2abbb175efd3dc34872223b86c69 Mon Sep 17 00:00:00 2001 From: DogeyStamp Date: Sun, 10 Apr 2022 14:10:04 -0400 Subject: [PATCH] Add posts/minrss.md --- src/css/style.css | 2 +- src/posts/minrss.md | 107 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 src/posts/minrss.md diff --git a/src/css/style.css b/src/css/style.css index 6905075..0496c4e 100644 --- a/src/css/style.css +++ b/src/css/style.css @@ -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; diff --git a/src/posts/minrss.md b/src/posts/minrss.md new file mode 100644 index 0000000..d502c81 --- /dev/null +++ b/src/posts/minrss.md @@ -0,0 +1,107 @@ + + + + +# 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 +```