This is a little utility that produces single html page with content of RSS/Atom feeds (content itself, not just titles), by parsing feeds items prepared by sfeed. This utility also tracks finished read items so you don't have to.
I have a few feeds sources which have posting style of multiple short-text posts in short period of time (generally they are channels on social networks like Twitter/X, Mastodon, Telegram). I find it easier to quickly scroll through all of them in single place instead of opening each one by one. Also this approach gives context in case of multi posts in short period of time.
(To be honest I'm still confused why I haven't found many solutions for this exact problem. Maybe I did bad research, who knows)
P.S. I still keep some short-text but rare-posting channels in regular feed reader to have bigger attention span dedicated to them.
Why sfeed?
It was chosen because of its format simplicity and its philosophical separation of gathering feeds and displaying them.
In theory, you could prepare sfeed's format lines even from newsboat or newsraft by calling to their sqlite database directly.
TODO
sfeed_update
cat ~/.sfeed/feeds/* | sfeed_bhtml > res.html
$BROWSER res.html
If you'll run sfeed_bhtml now once again, output will be empty, because it
tracks finished read items and outputs only new items.
If you want to see history of previous read items, check helper.sh for example of how you can keep previous generated html pages.
One item per line, fields separated by TAB character. Order of fields:
- UNIX timestamp in UTC+0
- title
- link
- content. TABs, newlines and
\must be escaped with\, so it becomes:\t,\nand\\ - not used
- not used
- author
Not intended and not planned.
At first it was meant to be self-contained script, but sadly cargo-script is not yet stabilized. That being said, feel free to edit source code itself to suit your needs (in best traditions of suckless).
cargo build --release
cp target/release/sfeed_bhtml /you/know/where/to/put/it