Do not follow this link

~witcher/rss-email

Send new RSS/Atom posts as email
chore: bump version to v0.5.0
chore: add myself to the mailmap
fix: Set rustls log level to "Warn"

clone

read-only
https://git.sr.ht/~witcher/rss-email
read/write
git@git.sr.ht:~witcher/rss-email

You can also use your local clone with git send-email.

#rss-email

Fetch new RSS (and Atom) feed items and send them via E-Mail.

#Installation

#Alpine Linux

A package for Alpine Linux exists in the testing repository: rss-email

#Arch Linux

There are 2 packages available in the AUR:

#Compiling

Install the dependencies:

  • Rust
  • sqlite
  • sqlx-cli (optional, only for development)
  • scdoc

First specify the DATABASE_URL environment variable and set up the database with cargo-sqlx:

export DATABASE_URL='sqlite://./dev.db'
cargo sqlx database setup

Then compile rss-email:

cargo build

To build the man pages, use scdoc:

scdoc < docs/rss-email.1.scd > docs/rss-email.1
scdoc < docs/rss-email.5.scd > docs/rss-email.5

#Usage

  • Copy the config.example.toml to ~/.config/rss-email/config.toml and adjust the values
  • Create a urls file at ~/.config/rss-email/urls with one RSS url per line

The database used with rss-email is generated automatically if it doesn't exist yet

See the man page or -h for more info. You can view the man page after generating it with scdoc with man -l docs/rss-email.1.
A man page for the configuration exists, too, which you can view after building with scdoc: man -l doc/rss-email.5.

#Resources

Send patches and questions to ~witcher/rss-email-devel@lists.sr.ht.

Instructions for preparing a patch are available at git-send-email.io.

Bugs and todo can be found at ~witcher/rss-email.

#Contributing

#git hooks

A pre-commit hook is available in contrib/githooks/pre-commit that catches most errors that the CI fail on. I recommend installing it in .git/hooks/pre-commit to catch errors before the CI can since building Rust in the CI is quite expensive.

#Making changes on the database

When making changes on the database, make sure that:

  • a migration is created in the migrations folder with cargo sqlx migrate add -r $MIGRATION_DESCRIPTION
  • sqlx-data.json is up to date by issuing cargo sqlx prepare
Do not follow this link