| Branch | Commit message | Author | Age | |
|---|---|---|---|---|
| main | rss-bundler 0.2.0 | trimill | 4 months | |
| Age | Commit message | Author | Files | Lines |
| 2025-10-24 | rss-bundler 0.2.0HEADmain | trimill | 12 | -1117/+499 |
| 2022-11-29 | clippy | TriMill | 4 | -8/+8 |
| 2022-11-29 | added hooks | TriMill | 9 | -94/+139 |
| 2022-07-04 | Added LICENSE and README | TriMill | 2 | -0/+725 |
| 2022-07-03 | forgot to delete slashes | TriMill | 1 | -2/+2 |
| 2022-07-03 | fix to allow for reverse proxying | TriMill | 1 | -1/+2 |
| 2022-07-03 | Initial commit | TriMill | 8 | -0/+1426 |
| Clone | ||||
| https://g.trimill.xyz/rss-bundler | ||||
RSS Bundler
RSS Bundler is a Rust program that allows you to combine multiple RSS feeds into one.
Running
The binary takes only one argument: a path to the config file. The resulting feed is located at ./site/rss.xml, and the status page at ./site/status
Config
The config file is written in JSON. The following fields are required:
| Field | Description |
|---|---|
title |
The feed's title |
link |
A link to the feed's website |
sources |
A list of sources. Each source must have a name field containing the source's name and a rss field with a link to an RSS feed. |
The following fields are optional:
| Field | Description | Default value |
|---|---|---|
description |
The feed's description | Empty |
default_title |
Title to use for posts that do not have a title field |
<untitled> |
status_page |
Generate the status page (see below) | true |
hook |
Path to hook to run upon receiving new blog posts | ./hook.sh |
Here is an example configuration:
{
"title": "Example bundle",
"description": "Demonstration of RSS Bundler",
"link": "https://g.trimill.xyz/rss-bundler",
"sources": [
{ "name": "trimill", "rss": "https://trimill.xyz/blog/rss.xml" }
]
}
Hook
Every time a new post is loaded, the hook program (if specified) will be executed. This is based on GUIDs, so feeds that do not fill the guid field will not trigger hooks. The following environment variables will be set:
- TITLE - the original title of the post
- TITLE_FMT - the formatted title of the post
- AUTHOR - the post's author
- LINK - the link to the post
- GUID - the post's GUID
- PUB_DATE - the post's publishing date
Status page
RSS Bundler also generates a status page, available at /site/status. This page shows the last date a feed was fetched and parsed successfully and, if the last try was erroneous, the error that occured. If an error occurs while fetching or parsing a feed, the last good version will be used instead.
