r2k
is a tool that lets you to track your favorite RSS/Atom feeds, and send cleaned-up (i.e. only text
and images) articles received from them directly to your Kindle.
The best way to get up and running with r2k
us to use pipx. Simply run:
pipx install r2k
If you're not using pipx
(you should!), pip install r2k
will also do.
If you want to add r2k
to your Poetry project, run poetry add r2k
.
There are currently 3 ways to clean up articles:
- The default is using the
readability
Python implementation. It doesn't require any extra steps or installations, and thus is the easiest to use. It is, however, a bit less precise than the other 2 methods. - Using the PushToKindle service. The service works by attaching an email address that forwards cleaned up versions of URLs to your Kindle. It's free for a certain amount of articles, but you need to become their supporter afterward.
The free version of PTK only allows for 25 articles to be sent using their service. After this, you'll have to become their "sustainer" (for as low as 1$/month) on Patreon here.
Before using r2k
with PTK you need to:
-
Know your kindle email address (find it here, under "Preferences" -> "Personal Document Settings").
-
Add
[email protected]
to the list of approved email senders (in the same place in Amazon's settings).
Most of what r2k
does involves the configuration file, in which the feeds you're subscribed to
are kept, as well as some other data.
After installation, run:
r2k config init [-p CONFIG_PATH]
The default location for the config YAML file is in ~/.r2k/config.yml
.
During the init you'll be asked several questions (like your kindle email address).
To see your configuration run:
r2k config show [-p CONFIG_PATH]
Currently r2k
relies on the fact that you have a GMail address, and it requires a
Google App Password.
These are useful in cases where you don't want to go through 2FA authentication. Go
here to generate an r2k
App Password, and
add it to the configuration.
The OPML format is widely used in the RSS/Atom world (as well as in podcasting and other areas) to represent a collection of feeds. You can export your existing subscriptions from most feed readers into an OPML file.
To load all of your subscriptions in one move run:
r2k feed import PATH_TO_OPML_FILE
If you don't have an OPML export, or just want to add a single feed you can run:
r2k feed add -t FEED_TITLE -u FEED_URL
If the FEED_URL
is a proper RSS feed (i.e. an actual XML feed URL), it will be added as is.
If the FEED_URL
is a regular URL, r2k
will attempt to find the RSS feed by analyzing the page
source. In the case of multiple candidates (e.g. WordPress content feed and comment feed), you will
be presented with a list of choices.
Right now the "periodical" part of r2k
is not yet operational. In order to send updates to your
Kindle you'll have to run:
r2k kindle send [-f FEED_TITLE]
If you don't pass the -f/--feed-title
option, updates will be sent for all of your subscriptions.
The first time that kindle send
is run for any feed, you will be presented with a list of all the
available articles in the feed (note that RSS feeds usually only keep a subset of the most recent
entries), and will be asked to choose the last one you've already read. This is to avoiding sending
you any article you've already consumed.