diff --git a/README.md b/README.md index 5e0b72a..c5e4dbf 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ Table of Contents + # RSS2Email This project began life as a naive port of the python-based [r2e](https://github.com/wking/rss2email) utility to golang. @@ -35,6 +36,7 @@ Over time we've now gained a few more features: + # Installation If you have golang installed you can fetch, build, and install the latest binary by running: @@ -54,6 +56,12 @@ go build . go install . ``` +Finally you can find automatically generated docker images, these are built on a nightly basis, and when releases are made: + +* https://github.com/skx/rss2email/pkgs/container/rss2email + + + **Version NOTES**: * You'll need go version **1.17** or higher to build. @@ -72,6 +80,8 @@ source <(rss2email bash-completion) ``` + + # Feed Configuration Once you have installed the application you'll need to configure the feeds to monitor, this could be done by editing the configuration file: @@ -112,6 +122,7 @@ Adding per-feed items allows excluding feed-entries by regular expression, for e + # Usage Once you've populated your feed list, via a series of `rss2email add ..` commands, or by editing the configuration file directly, you are now ready to actually launch the application. @@ -140,6 +151,7 @@ The state of feed-entries is recorded beneath `~/.rss2email/state.db`, which is + # Daemon Mode Typically you'd invoke `rss2email` with the `cron` sub-command as we documented above. This works in the naive way you'd expect: @@ -164,6 +176,7 @@ In short the process runs forever, in the foreground. This is expected to be dr + # Initial Run When you add a new feed all the items contained within that feed will initially be unseen/new, and this means you'll receive a flood of emails if you were to run: @@ -178,6 +191,8 @@ record each item as having been seen, rather than sending you emails: $ rss2email cron -send=false user@domain.com + + # Assumptions Because this application is so minimal there are a number of assumptions baked in: @@ -190,6 +205,7 @@ Because this application is so minimal there are a number of assumptions baked i + # SMTP Setup By default the outgoing emails we generate are piped to `/usr/sbin/sendmail` to be delivered. If that is unavailable, or unsuitable, you can instead configure things such that SMTP is used directly. @@ -208,6 +224,7 @@ If those values are present then SMTP will be used, otherwise the email will be + # Email Customization By default the emails are sent using a template file which is embedded in the application. You can override the template by creating the file `~/.rss2email/email.tmpl`, if that is present then it will be used instead of the default. @@ -230,6 +247,7 @@ If you're a developer who wishes to submit changes to the embedded version you s **NOTE**: If you read the earlier section on configuration you'll see that it is possible to add per-feed configuration values to the config file. One of the supported options is to setup a feed-specific template-file. + ## Changing default From address As noted earlier when sending the notification emails the recipient address is used as the sender-address too. There are no flags for changing the From: address used to send the emails, however using the section above you can [use a customized email-template](#email-customization), and simply update the template to read something like this: @@ -246,6 +264,7 @@ X-RSS-Feed: {{.Feed}} + # Implementation Overview The two main commands are `cron` and `daemon` and they work in roughly the same way: @@ -261,6 +280,8 @@ The two main commands are `cron` and `daemon` and they work in roughly the same The other subcommands mostly just interact with the feed-list, via the use of [configfile/configfile.go](configfile/configfile.go) to add/delete/list the contents of the feed-list. + + # Github Setup This repository is configured to run tests upon every commit, and when