This repository automatically generates a custom Atom feed from GitHub releases.
-
Add the workflow file
- Create
.github/workflows/generate-feed.ymlin yournewpostsrepository - Copy the contents from the workflow file provided
- Create
-
Add the Python script
- Create
generate_feed.pyin the root of yournewpostsrepository - Copy the contents from the Python script provided
- Create
-
Enable GitHub Pages
- Go to your repository Settings → Pages
- Under "Source", select "Deploy from a branch"
- Select the
mainbranch (or whichever branch you use) - Select
/rootas the folder - Click Save
-
Run the workflow manually (first time)
- Go to the Actions tab in your repository
- Click "Generate Atom Feed" workflow
- Click "Run workflow"
- This will create the initial
feed.xmlfile
-
Your feed URL will be:
https://[your-github-username].github.io/newposts/feed.xml
- Every time you create a new release, the GitHub Action automatically runs
- It fetches all your releases via the GitHub API
- Generates a custom Atom feed with your branding
- Commits the updated
feed.xmlto your repository - GitHub Pages serves it publicly
Edit the configuration variables at the top of generate_feed.py:
FEED_TITLE- The title of your feedFEED_DESCRIPTION- Description that appears in feed readersFEED_AUTHOR- Your nameFEED_ICON- URL to your icon/logoBLOG_URL- Your blog's main URL
Your main blog repository remains completely private. This setup only uses public data (releases) from this public newposts repository.