rss - command-line RSS feed manipulation
rss
is like jq
for RSS files. A
simple tool to fetch, filter, and extract information from RSS
feeds.
As an example, here is how to generate a summary of all posts submitted to lobste.rs yersterday:
$ rss fetch https://lobste.rs/rss | rss filter --date $(date -d "-1 day" "+%Y-%m-%d") | rss render template.tera
- "6.33 times faster than C - part one": https://owen.cafe/posts/six-times-faster-than-c/
...
- "Simulation Testing For Liveness": https://tigerbeetle.com/blog/2023-07-06-simulation-testing-for-liveness/
$ cat template.tera
{% for item in items -%}
- "{{ item.title }}": {{ item.link }}
{% endfor %}
Templates use the Tera
templating language, which is basically the same as Jinja2. A template
is passed a copy of the input RSS feed's items, a list of rss::Item
.
Building
This project is written in Rust, and uses the Cargo package manager. Building it requires a Rust toolchain, which can be installed using the rustup program.
Building the project is as simple as running:
$ cargo build
Reporting bugs
Please report any bugs you find to bugs+rss@sixfoisneuf.fr. Contributions are welcomed, as long as they follow the git send-email format.