Need to create a podcast-friendly RSS feed

I think I got the feed nailed. There’s still a bit that is a tiny bit more complicated to do in the frontmatter (but it’s because of me insisting all episode numbers be xxx.mp3, instead of x.mp3, so it’s 001.mp3 and not 1.mp3, so at the moment I have the URL to the mp3 fully pathed in the frontmatter, whereas it could be dynamically generated based on episode number (which is a frontmatter param I use for something else) but it’s not the end of the world.

Here’s the code for the RSS feed:

<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
  <channel>
    <title>Arrested DevOps</title>
    <link>{{ .Permalink }}</link>
    <language>en-us</language>
    <copyright>Copyright 2015 Arrested DevOps</copyright>
    <itunes:subtitle>There's always DevOps in the Banana Stand</itunes:subtitle>
    <itunes:author>Matt Stratton, Trevor Hess, and Bridget Kromhout</itunes:author>
    <itunes:summary>Arrested DevOps is a high-level, bi-weekly panel discussion of DevOps concepts. We give our listeners a tantalizing taste of the basic technologies and ideas of DevOps to entice them to try more.</itunes:summary>
    <description>Arrested DevOps is a high-level, bi-weekly panel discussion of DevOps concepts. We give our listeners a tantalizing taste of the basic technologies and ideas of DevOps to entice them to try more.</description>
    <itunes:owner>
    <itunes:name>Matt Stratton</itunes:name>
    <itunes:email>matt.stratton@gmail.com</itunes:email>
    </itunes:owner>
    <itunes:image href="http://arresteddevops.com/app/uploads/powerpress/ado-podcast-logo.png" />
    <itunes:category text="Technology">
      <itunes:category text="Software How-To" />
      <itunes:category text="Tech News" />
    </itunes:category>
    {{ range first 50 .Data.Pages }}
    {{ if eq .Type "episode"}}
    <item>
      <title>{{ title .Title }} - ADO{{ .Params.episode }}</title>
      <itunes:author>Matt Stratton, Trevor Hess, and Bridget Kromhout</itunes:author>
      <itunes:summary><![CDATA[{{ .Description }}]></itunes:summary>
      <enclosure url="{{ .Params.podcast }}" length="{{ .Params.podcast_bytes}}" type="audio/x-m4a" />
      <guid>{{ .Params.podcast }}</guid>
      <link>{{ .Permalink }}</link>
      <pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} </pubDate>
      <itunes:duration>{{ .Params.podcast_duration}}</itunes:duration>
    </item>
    {{ end }}
    {{ end }}
  </channel>
</rss>

And an example episode frontmatter:

+++
Description = "What does \"infrastructure as code\" actually mean? How is it different from configuration management? Special guests Joshua Timberman (Chef), Eric Sorenson (Puppet Labs), and Robyn Bergeron (Ansible) talk with Matt and Trevor about this very topic."
aliases = []
author = "Matt"
categories = []
date = "2015-10-01T08:31:42-05:00"
episode = "44"
friendly = "infrastructure-as-code"
guests = ["jtimberman", "esorenson", "rbergeron"]
images = ["http://arresteddevops.github.io/img/social/fb/infrastructure-as-code.png", ""]
news_keywords = []
podcast = "https://media.blubrry.com/arresteddevops/content.blubrry.com/arresteddevops/arrested-devops-podcast-episode044.mp3"
podcast_bytes = "52282002"
podcast_duration = "1:02:14"
sponsors = ["victorops", "datadog"]
tags = []
title = "infrastructure as code with Joshua Timberman, Eric Sorenson, and Robyn Bergeron"
youtube = "7voRnzzUZb4"

+++

(Sidenote - I can see that I need to fix the image referenced in the rss feed, as that is on the current (non-hugo) site, and the link will break, and also that in my example frontmatter I forgot to add the episode number alias. So good thing I posted this!)

2 Likes