diff --git a/README.md b/README.md index 6fc09e7..cc8496e 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,61 @@ # ButterBox Content Pack Sample Podcast -A small, self-contained sample podcast webpage and RSS feed from [Guardian Project](https://guardianproject.info). This repository is intended as an example "content pack" — a minimal, portable bundle of everything needed to host and distribute a podcast: episode audio, show notes, a landing page, and a standards-compliant feed. +A small, self-contained sample podcast webpage and RSS feed from [Guardian Project](https://guardianproject.info). This repository is intended as an example "content pack": a minimal, portable bundle of everything needed to host and distribute a podcast, including episode audio, show notes, a landing page, and a standards-compliant feed. ## What's inside - **`index.html`** : A simple, styled landing page that lists each episode with inline audio playback. - **`podcast.xml`** : An RSS 2.0 feed with iTunes podcast extensions, suitable for submission to podcast directories and use in podcast players. -- **`*.mp3`** : The three episode audio files. -- **`*.md`** : Per-episode show notes in Markdown. +- **`posts/*.md`** : Per-episode show notes in Markdown (YAML frontmatter holds the episode metadata). +- **`posts/*.mp3`** : The episode audio files, colocated with their show notes. +- **`build.sh`** : Regenerates `index.html` and `podcast.xml` from the contents of `posts/`. ## Using it -Because everything is relative-linked, you can serve this site from a folder on a USB drive plugged into a ButterBox device. +Because everything in `index.html` is relative-linked, you can serve this site from a folder on a USB drive plugged into a ButterBox device. To subscribe in a podcast client, point it at the hosted URL of `podcast.xml`. +## Building `index.html` and `podcast.xml` + +Both output files are generated from the markdown posts in `posts/` by `build.sh`. Run the script any time you add, remove, or edit a post: + +```sh +./build.sh +``` + +The single required argument is the **absolute URL prefix where the mp3 files will be served**. It is only used for the `` entries in `podcast.xml`, because RSS enclosures must be absolute URLs so podcast clients can download them without knowing where the feed lives. Everything else in the generated files (the RSS ``, the `