Skip to main content

The Rich Text Editor

Benecaster’s rich text editor is where you write anything that becomes formatted HTML on your website — show notes, errata, and episode credits. It looks like an ordinary word processor, and for plain writing it behaves like one. What it adds is three keyboard triggers that pull real content out of your show: an episode, a timestamp, or a whole block like a player or a supporter thank-you.

Those triggers are the part worth learning. Everything else you already know how to do.

Where You’ll Find It

The same editor appears in four places:

Where What it writes
Episode editor → Full Page Content The episode’s show notes, shown on its page on your website
Episode editor → More → Errata Corrections published after an episode has aired
Episode editor → More → the applied credit The stamped credit for this one episode, editable after stamping
Shows → Settings → Credits A reusable credit template, applied to episodes later

The toolbar and the triggers are identical in all four. The only difference is which show and episode the editor knows about, which matters for the @ and # triggers described below.

The Toolbar

Nine controls, left to right:

  • Heading 2 and Heading 3 — the only two heading levels available. Your episode title is the page’s Heading 1, so headings inside your notes start at 2.
  • Bold and Italic
  • Bullet list and Numbered list
  • Blockquote
  • Link — opens a URL field below the toolbar. Type or paste the address and click Apply. If you leave off https://, Benecaster adds it. With the cursor inside an existing link the same button becomes Remove link.
  • Add image — opens the WordPress media library. See Adding an Image below.

Markdown Shortcuts

If you type markdown, the editor converts it as you go. This is the quickest way to work once you are used to it:

Type this Get
## at the start of a line Heading 2
### Heading 3
- or * Bullet list
1. Numbered list
> Blockquote
**bold** Bold
*italic* Italic

Three more formats have no toolbar button and are only reachable this way:

Type this Get
~~strikethrough~~ Struck-through text
`code` Inline code styling
--- on its own line A horizontal rule

Type @ and start typing an episode title. A list of matching episodes from the current show appears; use the arrow keys and Enter, or click one.

The episode drops in as a coloured chip rather than plain text. Click the chip to give it your own label — useful when the episode title doesn’t read well mid-sentence. Press Enter to save the label, or Escape to leave it alone.

The search covers the show the editor belongs to, and shows up to eight matches at a time, so keep typing to narrow it. Searching an episode on a different show is not supported — the @ list only ever offers the current show’s episodes.

A note for multi-show sites: @ needs to know which show it is working in. In the episode editor that is always the episode’s own show. In a credit template it is the show whose settings you are editing.

# — Insert a Timestamp

Type # followed by a timecode — #12:30 or #1:05:00 — and press Enter. The timecode becomes a chip that renders as a link into the episode’s audio at that moment.

Both MM:SS and HH:MM:SS are accepted. Minutes and seconds must be under 60, so #75:00 is rejected; write #1:15:00 instead. If the timecode isn’t valid, nothing is inserted and your text stays as you typed it.

Timestamps written inside an episode are tied to that episode. Timestamps written in a credit template are not tied to anything at the time you write them — they resolve against whichever episode the template is later applied to, which is usually what you want for a template.

/ — Insert a Block

Type / at the start of an empty line to open the block menu. Keep typing to filter it, then choose with the arrow keys and Enter. Six blocks are available:

Block What it does
Episode Player Embeds an audio player for any episode. Pick the episode after inserting, then choose a standard, card, or minimal style
Episode Card A richer highlight for one episode. Choose which parts appear — title, description, artwork, player, date, duration, number — and optionally override the heading and the link text
Member Thanks Thanks your supporters by name. Choose who is listed (new since last episode, random cycling, or anniversaries), how many, whether it reads as prose, a list, or names only, and optionally restrict it to one tier
Listener Support Invites listeners to support the show, as a button, an icon, or a full form
Tier Gate Shows one piece of content to a tier and every tier above it, and something else to everyone else. Pick the tier in the block’s settings
Buy-up Gate Shows one piece of content to people who hold a buy-up or a one-off purchase, and something else to everyone else. Choose the kind first (a buy-up, a one-off purchase, or anything extra), then pick it. It hides a link; it does not protect the file behind it

Each block appears in the editor as a small panel with its own controls, so you can adjust it in place and see what you have set. The two gates have two areas to type into, labelled Shown to people who have it and Shown to everyone else. / only opens the menu at the start of a line — typing / mid-sentence just types a slash.

The gates decide what people see inside a page’s text. Who can play an episode at all is still set on the episode’s Access tab. A gate is saved as a shortcode ([benecaster_tier_gate] or [benecaster_access_gate]); the block’s name is not part of what is saved.

See Thanking Members On-Air for how the Member Thanks selection rules actually behave.

Adding an Image

Click Add image in the toolbar. The WordPress media library opens, the same one you use everywhere else in WordPress: pick an image you have already uploaded, or upload a new one, then click Use this image. It drops in at the cursor, on a line of its own.

The image’s alt text comes across with it. That is what a screen reader reads out on your episode page, so fill in the Alt Text field in the media library before you choose the image.

Benecaster sets no size or dimension limit of its own. Whatever upload limits your WordPress site has apply here as they do anywhere else.

Two things to know before you lean on images:

  • Most podcast apps ignore them. The image is sent to apps along with the rest of your show notes, but few apps display it. Treat an image as something for the episode page on your website, and don’t put anything in one that a listener in an app needs to see.
  • An image has to come from the media library. Pasting a screenshot or a copied picture straight into the editor doesn’t keep it. Pasted picture data would be stored inside the show notes themselves and sent out again, in full, every time an app checks your feed. Upload it through Add image instead.

Images that are already in an episode’s notes, from an imported feed for example, stay where they are when you open and save the episode.

What Gets Saved

The chips and blocks are stored as Benecaster shortcodes. An episode link saves as [benecaster_episode_link episode_id="42"], a timestamp as [benecaster_timestamp time="750"], and each block as its own shortcode. Your website resolves them when the page is rendered, which is why an episode link always shows the episode’s current title, and why a Member Thanks block is accurate on the day someone reads it rather than the day you wrote it.

This is also why the content is worth writing here rather than pasting finished HTML in from somewhere else. The shortcodes are the whole point.

Each one is documented on its own: [benecaster_episode_link] · [benecaster_timestamp] · [benecaster_player] · [benecaster_latest_episode] · [benecaster_member_thanks] · [benecaster_listener_support] · [benecaster_tier_gate] · [benecaster_access_gate]

Show Notes and the RSS Feed

Full Page Content is delivered to podcast apps, in the feed’s content:encoded field, on every episode. Apps that show rich episode notes will display it.

Shortcodes are not resolved on the way into the feed, with two exceptions: the two gates, [benecaster_tier_gate] and [benecaster_access_gate]. Every other chip or block that reads perfectly on your website arrives in a podcast app as its raw shortcode text — a listener sees [benecaster_player episode_id="42" style="card"] rather than a player, because there is nothing in a podcast app that could run it.

The gates are different because a gate isn’t rendering something — it’s choosing which of two pieces of text a listener should see, and the feed can make that choice at compile time. For a tier gate, public listeners, followers, and lower tiers get the [benecaster_else] half; qualifying tiers get the gated half. For an add-on gate, see Buy-up Content Gating for which listeners get which half. Nothing inside either half is resolved — if you put a player or another shortcode inside the gate, it still arrives in the feed as raw text, same as anywhere else in Full Page Content.

Two things follow from that, and they are worth building into how you write:

Fill in the episode’s Podcatcher Description. It is the short plain-text field above the editor, capped at 500 characters. When it is set, it becomes the feed’s description and your app-facing summary is clean prose you controlled. When it is empty, Benecaster falls back to your Full Page Content with the HTML stripped out — shortcode text and all.

Keep the blocks below the part that has to travel. Write the notes a listener needs at the top in ordinary text and links, and put players, cards, thanks and support invitations further down. On the website nothing changes; in an app, the useful half is read before the shortcode text starts.

What the Editor Doesn’t Do

  • No image sizing, alignment or captions. An image sits on its own line as it was uploaded. Episode artwork is a separate thing, set on the Artwork tab — see Episode Artwork.
  • No Heading 1, and no Heading 4 or below. Only 2 and 3.
  • No code blocks. Inline `code` styling works; fenced blocks do not.
  • No tables.
  • No underline and no text colour. Bold and italic are the emphasis available.

Tips

Undo and redo work as normal — Ctrl+Z and Ctrl+Shift+Z, or ⌘ on a Mac.

Escape closes any of the three trigger menus without inserting anything, so a stray @ or / is easy to back out of.

Pasting from a word processor or a web page brings formatting with it. Anything the editor doesn’t support is dropped rather than mangled, so a paste is safe — but check the result, because a heading pasted from elsewhere may arrive at a level this editor doesn’t offer and flatten to a paragraph.

See Also

Need this built rather than just documented? See our services →

Last updated