From cd272c5e8d5a3d3757330a315ae862825380f117 Mon Sep 17 00:00:00 2001 From: n8fr8 Date: Wed, 22 Apr 2026 08:29:40 -0400 Subject: [PATCH] add a Content pack nav link to blog category --- ...-26-welcome.mdx => 2026-04-20-welcome.mdx} | 0 www/blog/2026-04-22-contentpack-podcast.mdx | 70 +++++++++++++++++++ www/blog/authors.yml | 6 +- www/docusaurus.config.ts | 1 + 4 files changed, 74 insertions(+), 3 deletions(-) rename www/blog/{2026-04-26-welcome.mdx => 2026-04-20-welcome.mdx} (100%) create mode 100644 www/blog/2026-04-22-contentpack-podcast.mdx diff --git a/www/blog/2026-04-26-welcome.mdx b/www/blog/2026-04-20-welcome.mdx similarity index 100% rename from www/blog/2026-04-26-welcome.mdx rename to www/blog/2026-04-20-welcome.mdx diff --git a/www/blog/2026-04-22-contentpack-podcast.mdx b/www/blog/2026-04-22-contentpack-podcast.mdx new file mode 100644 index 0000000..7e55d4c --- /dev/null +++ b/www/blog/2026-04-22-contentpack-podcast.mdx @@ -0,0 +1,70 @@ +--- +slug: contentpack-podcast +title: Podcast Delivery Without Internet +authors: [nxf99] +tags: [contentpack] +--- + +We have released a [small, self-contained sample podcast content pack](https://guardianproject.dev/butter/contentpack-sample-podcast), built on a webpage and RSS feed from [Guardian Project](https://guardianproject.info/podcast). 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. +- **`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/`. + +{/* truncate */} + +## Using it + +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 `