Blog

The widget gallery, every block in one post

All nineteen Content Widgets blocks in a single article, what each one looks like and when to reach for it.

A printer's specimen sheet with a grid of type blocks, quote marks, stars and frames

This post exists to show what the Content Widgets plugin can do. Every block type it ships appears here exactly once, in the order an editor would meet them in the admin picker.

Prose is the plain block between everything else — a rich text field with headings, lists and inline links.

Callouts

Notices call something out without breaking the reading flow:

Folding content away

Frequently asked

Do widgets work on pages too?

Yes — any blocks field can allow the widget_ types. This site allows them on pages and on posts.

What about the table of contents?

It scans the rendered h2 and h3 headings in the browser and links to them. No config needed.

Can I restyle the widgets?

Every component uses wgt- classes and falls back to plain CSS values when the site does not define the theme tokens.

npm install emdashhq-widgets — then register the plugin in astro.config.mjs under sandboxed.

pnpm add emdashhq-widgets — same registration step afterwards.

Or install from the EmDash plugin registry in the admin: Plugins, Add plugin, search Content Widgets.

Checklists and steps

Before you publish a post

  • Fill the excerpt — it feeds the card grid and the meta description
  • Pick one featured post at a time
  • Preview the table of contents — it only sees h2 and h3 headings
  • Check the latest-posts list excludes the post itself

Ship a widget article in three steps

  1. Create the post

    Posts, New. Give it a slug, a title and an excerpt. The body is a blocks field.

  2. Add the blocks

    Insert widgets where the article needs them. Prose carries the paragraphs in between.

  3. Publish

    The post appears under /blog/ and in every latest-posts widget on the site.

Media and embeds

A click-to-play facade — the iframe only loads when the visitor asks for it.
The EmDash cover card
An image field renders through the EmDash media pipeline — srcset, blurhash, all of it.

Code

terminalbash
npm install emdashhq-widgets
# then in astro.config.mjs
#   sandboxed: [widgetsPlugin]

Recommendations

This post contains affiliate links. If you buy through them, the site may earn a commission at no extra cost to you.

EmDash CMS software box

EmDash CMS

Free

The flat-file-feeling CMS that is actually a proper database-backed system — schema in the admin, content as typed entries, everything server-rendered.

Pros

  • Block editor with real versioning
  • Sandboxed plugins
  • Runs on Cloudflare

Cons

  • Young ecosystem
  • Self-hosted only
Get EmDash

Keep exploring

The right widget is the one that was already a block type.

The EmDash block editorField philosophy

This plugin at a glance

Block types
19
Runtime routes
2
Dependencies
0
License
MIT

And the page around it


That is the whole set — notices, accordion, tabs, checklist, steps, divider, YouTube, embed, image, code, product, link cards, pull quote, facts, series, buttons and latest posts. Everything an article needs, as blocks an editor can rearrange.