Add posts/minrss.md
This commit is contained in:
parent
3652c5220c
commit
930ddb648b
@ -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
107
src/posts/minrss.md
Normal 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
|
||||
```
|
Loading…
Reference in New Issue
Block a user