Subscribe to RSS/Atom feeds and save items to Instapaper.
- Add your Instapaper cookies to
config/cookies.yml - Configure the RSS feeds you would like to subscribe to in
config/sources.yml - Run command
make run
In the config/sources.yml the following attributes may be used:
| Attribute | Description | Required |
|---|---|---|
url |
The URL to the RSS feed, a webpage which has an RSS feed, or an Instagram profile | Required |
description |
A description of what the source is | Optional |
wrappers |
Ordered list of wrapper names to apply to the entry URL | Optional |
blacklist_regex |
A regex pattern to match against the title of the RSS item. If it matches, the item will not be saved | Optional |
whitelist_regex |
A regex pattern to match against the title of the RSS item. If it matches, the item will be saved | Optional |
allowed_languages |
A list of allowable languages for the RSS item's title to be writen in, in order to be saved | Optional |
Wrappers let you transform where an item is saved or viewed. Each template takes the original entry URL and nests it into another URL before it is sent to Instapaper.
Wrappers are defined in config/wrappers.yml as a mapping of wrapper names to URL templates containing {url}. The {url} placeholder is replaced with the entry URL and wrappers are applied in the order listed per feed. Two wrappers are included by default:
summarise: Sends the entry URL to Perplexity with a summarisation prompt.archive: Saves via Archive.todayen_translate: Translates the page via Google Translate to English.
The application reads configuration values from config/settings.yml. The following keys are supported:
testing_mode: When true the program will not actually save entries to Instapaper; it will only print what it would do. Useful for development and testing.frequent_feed_threshold: If a feed has more than this number of entries in the last month it will be treated as frequent and the feed will be processed every time.max_skips: Controls many runs should occur before infrequent feeds are processed (defined byfrequent_feed_threshold). Infrequent feed processing is staggered by URL hash.
A reccomended way to use this tool:
- Set up an internet-connected always-on computer (such as a Raspberry Pi)
- Unstall
uvon that computer - Update
REMOTE_LOGIN_IDENTIFIERandREMOTE_PATHin theMakefileto your choice - Run command
make deploy - Add crontab
0 6-21 * * * cd /home/pi/Documents/instapaper-rss && PATH="/home/pi/.local/bin:$PATH" make run > /home/pi/log.txt 2>&1