Self-hosted podcast feed served as static files from GitHub Pages.
- Edit
config.json— setbase_urlto your GitHub Pages URL, e.g.https://yourname.github.io/podcasts. Fill in title/author/email. - Add cover art — drop a square
cover.jpg(1400×1400 to 3000×3000 px, required by Apple Podcasts) in the repo root. - Enable GitHub Pages — repo Settings → Pages → deploy from
mainbranch,/ (root)folder.
- Copy your
.m4afile intoepisodes/. Name it sortably, e.g.001-intro.m4a. The filename (without extension) becomes the title. - (Optional) Override metadata with a sidecar JSON of the same name:
// episodes/001-intro.json { "title": "Intro", "description": "First episode." }
- Rebuild and publish:
python3 generate.py git add -A && git commit -m "Add episode" && git push
pubDatecomes from each file's modified time. Newest shows first.- Episode duration tags are added automatically if
ffprobe(from ffmpeg) is installed; otherwise skipped (apps still work). - No dependencies — pure Python 3 stdlib.
- Subscribe URL is
<base_url>/feed.xml.