https://github.com/djdefi/rss-firehose
Aggregate RSS feeds into a light page
https://github.com/djdefi/rss-firehose
docker erb httparty lightweight news-aggregator newsfeed rss-aggregator ruby
Last synced: 6 months ago
JSON representation
Aggregate RSS feeds into a light page
- Host: GitHub
- URL: https://github.com/djdefi/rss-firehose
- Owner: djdefi
- License: unlicense
- Created: 2017-09-12T16:30:45.000Z (about 8 years ago)
- Default Branch: main
- Last Pushed: 2025-05-03T03:19:58.000Z (6 months ago)
- Last Synced: 2025-05-03T04:22:09.591Z (6 months ago)
- Topics: docker, erb, httparty, lightweight, news-aggregator, newsfeed, rss-aggregator, ruby
- Language: Ruby
- Size: 430 KB
- Stars: 8
- Watchers: 4
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## rss-firehose
Aggregate Local RSS feeds into a lightweight page.
Example page: https://djdefi.github.io/rss-firehose/
### Rendering:
To render the page:
```
ruby render.rb
```Outputs to: `public/index.html`
### Writing and Running Rendering Tests
To ensure the integrity of rendering changes, it's crucial to write and run rendering tests. Here's how:
1. Write new tests in `test/render_test.rb` when modifying rendering logic.
2. To run the tests, execute the following command:```
ruby test/render_test.rb
```This will verify that the output of `render.rb` matches the expected HTML structure or content.
### Docker
To run the application using Docker, build the Docker image and then run the container:
```
docker build -t djdefi/rss-firehose .
docker run --rm -v rss-firehose:/usr/src/app/public -it djdefi/rss-firehose
```Re-run the `rss-firehose` container to update the page.
#### Environment variables
Optional settings can be configured an Docker run time, or be set in your local Ruby environment:
```
## Docker:
docker run --rm -v rss-firehose:/usr/src/app/public -e "RSS_TITLE=My News" -e "RSS_URLS=https://url1/feed,http://url2/rss" -e "RSS_BACKUP_URLS=https://backup1/feed,http://backup2/rss" -e "ANALYTICS_UA=UA-XXXXX-Y" -it djdefi/rss-firehose
## Ruby:
export RSS_URLS="https://url1/feed,http://url2/rss"
export RSS_BACKUP_URLS="https://backup1/feed,http://backup2/rss"
ruby render.rb```
Available environment variable options:
```
"ANALYTICS_UA=UA-XXXXX-Y"
"RSS_URLS=https://url1/feed,http://url2/rss"
"RSS_BACKUP_URLS=https://backup1/feed,http://backup2/rss"
"RSS_TITLE=My News"
"RSS_DESCRIPTION=My really awesome news aggregation page"
```