Skip to main content

Blog · Podcast episodes

Podcast episodes in rows: the episode number, title, guest, duration and date, and an audio player to listen right there.

Blog · Podcast episodes

Full-page views: desktop, phone and dark mode

Blog · Podcast episodes, desktop at 1440px wide

At 1440px wide.

Blog · Podcast episodes, on a phone at 390px wide

At 390px wide.

Blog · Podcast episodes, with the site in dark mode

With your site in dark mode.

See it live: Blog · Podcast episodes on fancybricks.co — the live preview, and the button that copies it.

In the builder

Preview on the front end. Scripts don't run inside the builder, so here you only see the layout: the duration tag shows an em dash — it is filled in by the script, which only runs on the front end. Save and open the page to see the full result.

Structure​

This is what the Bricks Structure panel shows after you paste the template. Component instances say which component they are.

Blog · Podcast episodes
Container
Intro (FBK Intro)
Intro · Button (FBK Button)
Intro · Button 2 (FBK Button)
Episodes
Episode 42
Ep 42 · Number
Ep 42 · Number label
Ep 42 · Number value
Ep 42 · Body
Ep 42 · Title
Ep 42 · Guest
Ep 42 · Player
Ep 42 · Foot
Ep 42 · Tags
Ep 42 · Duration (filled by the script from the audio file)
Ep 42 · Date
Ep 42 · Notes (FBK Button)
Episode 41
Ep 41 · Number
Ep 41 · Number label
Ep 41 · Number value
Ep 41 · Body
Ep 41 · Title
Ep 41 · Guest
Ep 41 · Player
Ep 41 · Foot
Ep 41 · Tags
Ep 41 · Duration (filled by the script from the audio file)
Ep 41 · Date
Ep 41 · Notes (FBK Button)
Episode 40
Ep 40 · Number
Ep 40 · Number label
Ep 40 · Number value
Ep 40 · Body
Ep 40 · Title
Ep 40 · Guest
Ep 40 · Player
Ep 40 · Foot
Ep 40 · Tags
Ep 40 · Duration (filled by the script from the audio file)
Ep 40 · Date
Ep 40 · Notes (FBK Button)
Episodes · Duration from the audio file (needs Execute code)

The template also pastes a dashed note above the section, with the short version of this page. It only shows inside the builder, never on the published page — see Builder notes.

How to adjust​

Every step is the same move: pick the element in the Structure panel, change its Properties.

Where are those panels?

How to adjust a template shows every one of them in a screenshot of the real builder: the Structure and Properties panels, the classes on an element, a component's style families and the field where a CSS variable goes.

The classes this element carries, in the Bricks panel.

The classes this element carries, in the Bricks panel.

This template's own component, with its Style group open.

This template's own component, with its Style group open.

  1. Paste the template in Bricks first — see Copy and paste.
  2. Select Intro (FBK Intro) › Properties: Eyebrow, Hide eyebrow, Title, Title level, Lead, Hide lead · Style group: Eyebrow style, Highlight, Title size, Accent line · Layout group: Alignment, Layout, Background, Spacing · Motion group: Reveal in slider.
  3. Select Intro · Button, Intro · Button 2, Ep 42 · Notes (+2 more) (FBK Button) › Properties: Text, Link, Tone, Shadow on hover · Icon group: Icon, Icon position · Style group: Style, Size, Width, Hover effect.
  4. Spacing, sizes, color and timing with no property of their own: the CSS variables below.

CSS variables​

These are the only values in the template meant to be changed by hand. Copy the block, paste it, edit the numbers.

The Custom CSS field of this template's own element, with one of its variables as a real example.

The Custom CSS field of this template's own element, with one of its variables as a real example.

/* «Episodes» · class .fbk-wf-pod */
.fbk-wf-pod {
--fbk-t-player: var(--base-ultra-dark);
}

Paste the block in the element's Style → CSS field (the selector is already in it), or set the same variables on the class itself to change every copy at once. The values are your framework's variables, so they follow your site: Choosing a framework.

Requirements​

  • Code execution. Needs "Execute code" enabled for the role in Bricks → Settings → Custom code, or the JS block shows as plain text instead of running.

What each requirement is, and how to set it up once for the whole site: Requirements.

Finish by hand​

  • Each episode is a row (li): its number, the title (h3, its link opens the episode page), the guest, a Bricks Audio element, the duration and date tags and a Ghost Show notes button. Duplicate a row for a new episode.
  • Audio: in each Audio element pick your file (Source: File, from the media library) or an External URL of your podcast host (MP3 or M4A); Preload Metadata shows the length without downloading the episode. The demo plays a short tune we made, not a real episode — every row reads the same few seconds from it, so every demo duration looks the same until you put a real file in each Audio element.
  • Duration: no field to fill in — the script reads it straight from each row's audio file (its loadedmetadata event) and writes it as m:ss into the first tag once the browser knows the file's length; delete the code block if you'd rather type the duration yourself in that tag.
  • The player is Bricks' dark theme in the heading ink: --fbk-t-player on .fbk-wf-pod sets its color.
  • With episodes as posts (a custom post type), put a Bricks query loop on the li and set the Audio source to dynamic data (a file field); the duration script needs no change, it reads whatever file plays.
  • Hover: the play button grows (class .fbk-wf-pod--motion; state %root% .mejs-playpause-button:hover), the title takes the hover ink and Show notes draws its line.

On phones​

The template is designed desktop first, the Bricks default, and only changes at the two widths the library uses:

  • 991px and below — .fbk-intro.
  • 767px and below — .fbk-wf-pod__episode, .fbk-wf-pod__num, .fbk-section.

Those changes live in Bricks' own breakpoint fields, so you edit them where you always do: pick the breakpoint in the toolbar and the same fields follow.

Careful with the classes shared by the whole library (fbk-section, fbk-intro, the component classes): a change there shows up in every template that uses them.

If your site's breakpoints are set up mobile first, copy the mobile-first variant of the template instead — see Copy and paste.

Accessibility​

In this template, keyboard focus is visible on every interactive piece; movement is cut back when the visitor's system asks for less motion; the state screen readers need is already set (aria-label).

What is checked on every template, and what depends on your own palette: Accessibility.

Dark mode​

With your site in dark mode this section turns dark too — the class fbk-section--auto-dark on the section does it. Remove the class to keep it light.

Its background is a modifier on the section, so you can swap it for any of the ones the template is checked with: fbk-section--light, fbk-section--dark, fbk-section--soft.

How the library follows your site's color scheme: Dark mode and preview.