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.

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
Create the post
Posts, New. Give it a slug, a title and an excerpt. The body is a blocks field.
Add the blocks
Insert widgets where the article needs them. Prose carries the paragraphs in between.
Publish
The post appears under /blog/ and in every latest-posts widget on the site.
Media and embeds


Code
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
FreeThe 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
Keep exploring
- EmDash CMS
The CMS this site runs on.
- Documentation
Schema, fields, plugins, deployment.
- Contact forms plugin
The sibling plugin that started all this.
The right widget is the one that was already a block type.
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.