Total Pageviews

Tuesday, 30 June 2026

EmDash is a full-stack TypeScript CMS based on Astro

 

the spiritual successor to WordPress


A full-stack TypeScript CMS built on Astro and Cloudflare. EmDash takes the ideas that made WordPress dominant -- extensibility, admin UX, a plugin ecosystem -- and rebuilds them on serverless, type-safe foundations. Plugins run in sandboxed Worker isolates, solving the fundamental security problem with WordPress's plugin architecture.

Get Started

Important

EmDash depends on Dynamic Workers to run secure sandboxed plugins. Dynamic Workers are currently only available on paid accounts. Upgrade your account (starting at $5/mo) or comment out the worker_loaders block of your wrangler.jsonc configuration file to disable plugins.

npm create emdash@latest

Or deploy directly to your Cloudflare account:

Deploy to Cloudflare

EmDash runs on Cloudflare (D1 + R2 + Workers) or any Node.js server with SQLite. No PHP, no separate hosting tier -- just deploy your Astro site.

Templates

EmDash ships with three starter templates:

Blog

Blog template

A classic blog with sidebar widgets, search, and RSS.

  • Categories & tags
  • Full-text search
  • Comment-ready
  • RSS feed
  • Dark / light mode

Marketing

Marketing template

A conversion-focused landing page with pricing and contact form.

  • Hero with CTAs
  • Feature grid
  • Pricing cards
  • FAQ and contact form
  • Dark / light mode

Portfolio

Portfolio template

A visual portfolio for showcasing creative work.

  • Project grid
  • Tag filtering
  • Case study pages
  • RSS feed
  • Dark / light mode

Why EmDash?

WordPress was built for a different era. Running WordPress today means managing PHP alongside JavaScript, layering caches to get acceptable performance, and knowing that 96% of WordPress security vulnerabilities come from plugins. EmDash is what WordPress would look like if you started from scratch with today's tools.

Sandboxed plugins. WordPress plugins have full access to the database, filesystem, and user data. A single vulnerable plugin can compromise the entire site. EmDash plugins run in isolated Worker sandboxes via Dynamic Worker Loaders, each with a declared capability manifest. A plugin that requests read:content and email:send can do exactly that and nothing else.

from  https://github.com/emdash-cms/emdash

No comments:

Post a Comment