A web-based RSS reader running entirely from your GitHub repo.
- The feed is statically hosted as GitHub Pages. The content stays the same until the next build.
- The feed is rebuilt periodically by GitHub Actions, configured in .github/workflows/update-feed.yaml.
- During a rebuild, cache from the previous build is used, so only new content will be downloaded.
- The source of the content can be any RSS feed URL, configured in osmosfeed.yaml.
- The content fetching and static site generation is powered by a custom node.js script optimized for speed.
Create a repository
- Open Create a new repository from osmosfeed-template.
- Set visibility to "Public".
- Click "Create repository from template" button.
Turn on GitHub Pages
In the repository you just created, navigate to Settings tab > Pages section.
Customize the feed
In the repository root, open
osmosfeed.yamlfile, click the "Pencil (Edit this file)" button to edit.
#to uncommend the
GITHUB_USERNAMEwith your GitHub username, and replace
REPO_NAMEwith your GitHub username.
In the sources, update the items to the sources you want to follow. The final content of the file should look similar to this:
cacheUrl: https://REPLACED_GITHUB_USERNAME.github.io/REPLACED_REPO_NAME/cache.json sources: - href: https://my-rss-source-1/feed/ - href: https://my-rss-source-2/rss/ - href: https://my-rss-source-3/feed - href: https://my-rss-source-4/news/rss - href: https://my-rss-source-5/rss/
Scroll to the bottom of the page, click "Commit changes" button.
Once the rebuild finishes, your feed will be available at
Guides and references
- Configuration reference
- Developer guide
- (coming soon) How to customize refresh schedule
- (coming soon) How to deploy to other hosts
My current focus is to bring the entire osmos::craft project online. Until then, I have no bandwidth for new feature requests or PRs. However, issues and bug reports are always welcome. I'll keep track of issues and address them once I have more time. Thank your for being patient.
Can I update the content more frequently?
Yes, you can make it as frequent as you want. But be aware that there is a limit to the free tier of GitHub Actions. My rough estimate shows that even with hourly update, you should still have plenty of unused time. You can monitory spending on Billing & plans page in Account settings.
Can I make the site private so only I can see it?
It is not possible with GitHub Pages. However, if you move the site to a different hosting service, you should be able to set up authorization on the host level. For example, if you deploy to Netlify, there is a paid plan for password protection.
Do I have to type
index.html at the end of the URL?
How to trigger a manual site update?
You can make some changes to the
osmosfeed.yamlfile to trigger an update. For example, add an empty comment like this
#on a new line.
How to build the site without using cache?
You can comment out the
cacheUrlproperty in the
osmosfeed.yaml. Note that after the build, cache will still be created, except it won't contain any content from the previous cache.
osmos::feed is part of the osmos::craft ecosystem. If you enjoy this tool, you might also like: