postcast

Generates podcast/netcast RSS feeds from posts

To install, run nikola plugin -i postcast

postcast plugin for Nikola

Generates podcast/netcast RSS feeds from posts. It is originally based on the speechsynthesizednetcast copyright © 2013–2014 Daniel Aleksandersen and others.

LIVE DEMO: https://civilfritz.net/casts/gameolder.xml

Why use this plugin?

Nikola is, among other things, a site generator capable of creating aggregation feeds from a collection of posts. These posts can be associated with metadata. By adding enclosure and other metadata to a post, these posts effectively become entries in a podcast-style rss feed suitable for publication with popular podcast platforms and subscription by popular podcast applications.

Usage

  • casts directory is the location in output where your cast feeds will be generated. You can change this by setting POSTCAST_PATH.

    POSTCAST_PATH = 'casts'

  • By default, no postcast feeds are generated; one feed will be generated for each entry in the POSTCASTS list.

    POSTCASTS = ['mycast']

  • Each cast feed can be associated with a Nikola category. Only posts in that category will be incorporated into the feed.

    POSTCAST_CATEGORY = { 'mycast': 'cat_mycast', }

  • Each cast feed can further (or in stead) be associated with a list of tags. Only posts with all of the tags in the list will be incorporated into the feed.

    POSTCAST_TAGS = { 'mycast': ['mycast-episode'], }

Other configuration options are available. For more information, see conf.py.sample.

Post meta fields

  • category - the post category is used to select posts for the feed

  • tag - post tags are used to select posts for the feed

  • author - the post author is used to identify the author of the episode in the feed

  • itunes_author - an explicit author for the episode can be specified if it differs from the post author

  • itunes_summary - an explicit summary can be provided for the episode; otherwise, the body of the post will be used

  • itunes_image - episode art

  • enclosure - the audio file (usually .mp3 or .ogg) to be distributed

  • itunes_duration - the real-time length of the audio file; used to provide this information to applications before the file has been downloaded

  • itunes_subtitle - a short description that provides general information about the episode

  • itunes_explicit - a boolean expressing whether the episode contains explicit content; overrides POSTCAST_ITUNES_EXPLICIT

For more information, see post.rst.sample.

Suggested Configuration:

# -*- coding: utf-8 -*-

# example settings for postcast nikola plugin

# If you're using a CDN for storage, you can set a base URL different
# from your blog's URL.
# POSTCAST_BASE_URL = "https://cdn.example.org/files/"

# If you're using a CDN you may want to keep your local podcast files
# separate from the OUTPUT_FOLDER.
# When POSTCAST_ENCLOSURE_FOLDER is set, all enclosure files will be
# searched for there, instead of the post output directory.
# POSTCAST_ENCLOSURE_FOLDER = "podcasts"

# Path for where postcast feeds will be generated.

# Final locations are:
# output / TRANSLATION[lang] / POSTCAST_PATH / postcast.xml
# POSTCAST_PATH = 'casts'
# POSTCASTS = ['postcast']

# Filter posts to be included in a feed by category. The default is
# all posts. Specifying a category for the '' feed will result in all
# feeds being filtered by that category.
# POSTCAST_CATEGORY = {
#     '': 'postcast',
# }

# Filter posts to be included in a feed with a list of tags. The
# default is all posts. Specifying tags for the '' feed will result in
# all feeds being filtered by those tags.
# POSTCAST_TAGS = {
#     '': ['postcast-episode'],
# }

# Provide an image to be assocated with the feed. The default is no
# image. Specifying an image for the '' feed will result in all feeds
# being associated with that image.
# POSTCAST_ITUNES_IMAGE = {
#     '': 'images/postcast-logo.png',
# }

# Indicate whether each feed contains explicit content. The default is
# undefined. Specifying a value for the '' feed will result in all
# feeds being marked.
# POSTCAST_ITUNES_EXPLICIT = {
#     '': False,
# }

# Provide a list of iTunes categories to be associated with the
# feed. The default is undefined. Specifying categories for the ''
# feed will result in all feeds being categorized the same.
# POSTCAST_ITUNES_CATEGORIES = {
#     '': [
#         ('Arts', ('Design', 'Literature', 'Visual Arts')),
#         ('Games & Hobbies', ('Video Games', )),
#         ('Religion & Spirituality', ('Christianity', )),
#         ('Technology', ),
#         ('Society & Culture', ('Philosophy', )),
#     ],
# }

Issues? Questions?

You can report issues with this plugin and request help via GitHub Issues.