14 releases

0.1.14 Jan 18, 2024
0.1.13 Oct 12, 2023
0.1.11 Sep 7, 2023
0.1.8 Jun 21, 2023
0.1.5 Nov 26, 2022

#1090 in Command line utilities

Download history 10/week @ 2024-01-18 56/week @ 2024-02-15 66/week @ 2024-02-22 20/week @ 2024-02-29 3/week @ 2024-03-07 2/week @ 2024-03-14 42/week @ 2024-03-28 22/week @ 2024-04-04

64 downloads per month

BlueOak-1.0.0

29KB
398 lines


openring-rs

A tool for generating a webring from RSS feeds.


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

This is a rust-port of Drew DeVault's openring, with the primary differences being:

  • the template is provided as an argument, not read from stdin
  • we show a little progress bar
  • we fetch all feeds concurrently
  • we allow filtering feeds with --before
  • we provide better error messages (via miette)

Install

cargo install --locked openring

Usage

A webring for static site generators written in Rust

Usage: openring [OPTIONS] --template-file <FILE>

Options:
  -n, --num-articles <NUM_ARTICLES>  Total number of articles to fetch [default: 3]
  -p, --per-source <PER_SOURCE>      Number of most recent articles to get from each feed [default: 1]
  -S, --url-file <FILE>              File with URLs of RSS feeds to read (one URL per line, lines starting with '#' or "//" ignored)
  -t, --template-file <FILE>         Tera template file
  -s, --url <URL>                    A single URL to consider (can be repeated to specify multiple)
  -b, --before <BEFORE>              Only include articles before this date (in YYYY-MM-DD format)
  -v, --verbose...                   More output per occurrence
  -q, --quiet...                     Less output per occurrence
  -h, --help                         Print help (see more with '--help')
  -V, --version                      Print version

Using Tera Templates

The templates supported by openring-rs are written using Tera. Please refer to the Tera documentation for details.

Why a Rust Port?

Just for fun. You probably want to use Drew's stuff, it's likely better. But, this works for me.

Dependencies

~24–39MB
~702K SLoC