lukehsiao/openring-rs: :chains: a webring for static site generators written in Rust

A tool to generate webrings from Atom/RSS feeds.

openring-rs Atom/RSS is a tool for generating weblinks from feeds, so you can create a template with articles from those feeds and embed them in your blog. An example template is provided in.html,

This is a Rust-port of Drew Dewalt’s opening, with the primary differences:

  • We respect throttling and send conditional requests when using --cache (recommended!)
  • The template is written using Terra and provided as an argument, not read from stdin
  • we show a little progress bar
  • We bring all the feeds together
  • We provide better error messages (via miette)
  • We allow feed filtering --before

To see this in action, you can look at the footer of this blog post.

https://luke.hsiao.dev/blog/openring-rs/

cargo install --locked openring
A webring for static site generators written in Rust

Usage: openring [OPTIONS] --template-file 

Options:
  -n, --num-articles     Total number of articles to fetch [default: 3]
  -p, --per-source         Number of most recent articles to get from each feed [default: 1]
  -S, --url-file                 File with URLs of Atom/RSS feeds to read (one URL per line, lines starting with '#' or "//" are ignored)
  -t, --template-file            Tera template file
  -s, --url                       A single URL to consider (can be repeated to specify multiple)
  -b, --before                 Only include articles before this date (in YYYY-MM-DD format)
  -c, --cache                          Use request cache stored on disk at `.openringcache`
      --max-cache-age   Discard all cached requests older than this duration [default: 14d]
  -v, --verbose...                     Increase logging verbosity
  -q, --quiet...                       Decrease logging verbosity
  -h, --help                           Print help (see more with '--help')
  -V, --version                        Print version

Templates supported by openring-rs Written using Terra. Please see Terra documentation for details.

just for fun.



Leave a Comment