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
Eight 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.
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 |
@ — Link to Another Episode
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. Four 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 |
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. / only opens the menu at the start of a line — typing / mid-sentence just types a slash.
See Thanking Members On-Air for how the Member Thanks selection rules actually behave.
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]
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 one exception: [benecaster_tier_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.
[benecaster_tier_gate] is 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 per tier at compile time. Public listeners, followers, and lower tiers get the [benecaster_else] half; qualifying tiers get the gated 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 images. There is no image button and pasting one will not work. Episode artwork is set separately — see Episode Artwork — and images inside show notes are not supported.
- 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
Last updated