Home page prevents custom content type from rendering

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!

looks like there’s a problem with finding the right template for the right pages.

Think there are too many unknown parameters for checking that out. your layouts, your custom theme, evaluating custom param ‘content’.

You might want to share your (maybe stripped down) repo for someone to investigate. recoding something that might fit your configuration does not make too much sense.

Sure, the repository is at GitHub - FlippinOutPodcast/flippinout: Site and feeds for Flippin' Out

I’m still learning Hugo, so any tips on how to better structure things would be much appreciated.

Thanks!

You may not duplicate the themes used in a theme and an import entry

  1. change your imports/theme section in hugo.yaml to

    module:
      imports:
      - path: github.com/theNewDynamic/gohugo-theme-ananke
      - path: github.com/FlippinOutPodcast/pinpod
    
  2. omit the theme: entry completely

  3. uncomment the HTML output format

    outputs:
      home:
       - HTML
       - aacfeed
       - mp3feed
    
  4. having this in your _index.html looks nicer :wink:

    cascade:
      featured_image: "/images/flippin-out-logo.png"
    

Yes, this solved the issue. Thanks so much!

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.