I am trying to use Hugo for a website that hosts a basic website for a podcast. The most important part is hosting the xml feeds for the podcast, followed by individual landing pages for each episode. These are based on a custom content type I created called episode
.
I wanted to keep podcast infrastructure stuff in a separate theme so that I could eventually release it as a reusable theme that other people could use for podcasts. So here’s how I have it organized now:
themes/pinpod/archetypes/episodes.md
themes/pinpod/layouts/episodes/episode.html
themes/pinpod/index.aacfeed.xml
themes/pinpod/index.mp3feed.xml
themes/pinpod/hugo.yaml
My theme yaml file is set to output pages for each episode and xml feeds as follows:
content:
sections:
- episodes
outputFormats:
aacfeed:
MediaType: "application/rss+xml"
BaseName: "index"
path: "/feed/aac"
IsHTML: false
IsPlainText: true
noUgly: true
Rel: "alternate"
mp3feed:
MediaType: "application/rss+xml"
BaseName: "index"
path: "/feed/mp3"
IsHTML: false
IsPlainText: true
noUgly: true
Rel: "alternate"
outputs:
home:
- HTML
- aacfeed
- mp3feed
Individual episodes are stored in content/episodes
and each new one generates a new episode page and entry in the xml feeds.
This setup works, but I have no main landing page (it just shows the default 404). When I add content/index.md
it creates a root home page, but then it does not process any of the episodes (ie, no episode pages and the xml feed files do not contain entries for any episodes).
I’ve tried using a home page template (i.e. _index.md
) but nothing I do seems to work. I either get a home page or all the custom archetype stuff, but never both.
I’ve gone through the docs trying to figure this out, but I’m stumped. I feel like somewhere I got off the beaten path (custom archetype, trying to store it in a theme, etc…) and now I’ve messed up some core assumption about how a proper hugo project is supposed to be structured.
Does anything stand out as an obvious problem with a solution? Otherwise, any pointers to where I can do some more research?
Thanks!