Search by

drupal / varbase_podcasts_base

Drupal-Infrastructure

A recipe to provide a podcast episode content type and listing view for Varbase. Build on top of the Varbase Content Base recipe with podcast-specific features.

Package info

git.drupalcode.org/project/varbase_podcasts_base.git

Issues

Type:drupal-recipe

pkg:composer/drupal/varbase_podcasts_base

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

1.0.x-dev 2026-09-13 18:42 UTC

This package is auto-updated.

Last update: 2026-09-13 18:43:44 UTC


README

Varbase

Varbase Podcasts Base

pipeline status Varbase Podcasts Base Automated Functional Testing

A recipe to provide a podcast episode content type, listing view, and related configuration for Varbase. Use Podcasts to publish audio episodes with a host, duration, episode number and transcript in the Podcasts section of the site.

This recipe builds on top of the Varbase Content Base, Media Base, SEO Base, and Workflow Base recipes, extending them with podcast-specific content structure, views, and SEO configuration.

Features

Podcast Content Type

  • Podcast (podcast): A content type for podcast episodes with the following fields:
    • Title
    • Description (short summary text)
    • Featured Image (media reference, used as episode cover art)
    • Content (long text with format, used for the episode transcript)
    • Audio (file upload, for a self-hosted episode file)
    • Audio URL (link, for an episode hosted on a podcast platform or CDN)
    • Duration (plain text, for example 44 Mins)
    • Episode Number (integer, rendered as the episode eyebrow)
    • Tags (taxonomy reference with autocomplete via Tagify)

Audio delivery

An episode carries either a self-hosted file (field_audio) or a remote URL (field_audio_url). Both are optional so an episode can be drafted before its audio is ready, and the theme decides which player to render. A site that publishes only to a hosting platform never has to upload a file, and a site that self-hosts never has to keep a second URL in sync.

Views

  • Podcasts (podcasts): A views listing with several displays:
    • All podcast episodes: paginated listing with Better Exposed Filters
    • Latest podcast episodes: block for the most recent episodes
    • Related podcast episodes: block for episodes sharing tags, used for the "More Episodes" rail on an episode page
    • Featured podcast episodes: block for promoted episodes
    • RSS Feed: podcast content feed

There is deliberately no page display. The podcasts landing page belongs to the site template, which may serve it from a Canvas page; shipping a view page at /podcasts here would collide with it.

View modes

  • Full: the episode page
  • Card and Text card medium: listing and rail displays

The recipe ships a Canvas content template for the full view mode, built from Vartheme BS5 components, so an episode page renders its title, date, duration, cover art, audio player, description and transcript on Varbase Starter and on any site using the base theme. Vartheme BS5 has no audio component, so each player is its video component, which plays audio files. A self-hosted file and a remote URL get separate players, and each renders nothing when its field is empty.

The full template has to ship. Varbase Content Base creates an empty full-view template for every new content type, and an empty template renders a blank episode page.

Card and Text card medium render through their view displays. A site template with its own theme takes over the full template the same way it does for the other base recipes: repointComponentTreeToTheme, or a simpleConfigUpdate of component_tree for a designed layout.

SEO

  • XML sitemap inclusion via Simple Sitemap bundle settings
  • Pathauto pattern for episode URLs
  • Metatag and Yoast SEO support inherited from Varbase SEO Base

Requirements

  • Varbase Content Base
  • Varbase Media Base
  • Varbase SEO Base
  • Varbase Workflow Base

Installation

composer require drupal/varbase_podcasts_base
drush recipe recipes/varbase_podcasts_base

Maintainers