Skip to content
← Back to projects

Templates

Starter templates for EmDash CMS. Auto-synced from emdash-cms/emdash — open PRs there, not here.

#EmDash Templates

This repo is auto-synced from emdash-cms/emdash. Please open issues and PRs on the main repo, not here. PRs from external contributors will be closed automatically.

Starter templates for EmDash, a full-stack TypeScript CMS built on Astro. Each template ships with seed data so you can see a working site immediately.

#Quick Start

The fastest way to get started is the CLI:

npm create emdash@latest

Or pick a Cloudflare template below and deploy it in one click.

#Templates

#Blog

A clean blog with posts, categories, tags, full-text search, and RSS. Includes reading time estimates, a featured post hero, and dark/light mode.

Blog template homepage

Deploy to Cloudflare

Cloudflare variant | Node.js variant


#Marketing

A landing page template with modular content blocks: hero, features, testimonials, pricing cards, FAQ accordion, and a contact form.

Marketing template homepage

Deploy to Cloudflare

Cloudflare variant | Node.js variant


#Portfolio

A visual portfolio for showcasing creative work. Project grid with tag filtering, individual case study pages, RSS feed, and dark/light mode.

Portfolio template homepage

Deploy to Cloudflare

Cloudflare variant | Node.js variant


#Starter

A general-purpose starting point with posts, pages, categories, and tags. Less opinionated than the themed templates -- a good base if you want to build your own design.

Cloudflare variant | Node.js variant


#Blank

The most minimal template. A single index page with EmDash wired up and nothing else. Start here if you want full control from the beginning.

View template

#Variants

Each template (except blank) comes in two variants:

Variant Database Storage Adapter
Node.js SQLite (local file) Local filesystem @astrojs/node
Cloudflare D1 R2 @astrojs/cloudflare

The Cloudflare variants include a wrangler.jsonc and can be deployed with the button above or via wrangler deploy. The Node.js variants run anywhere you can run a Node process.

#Local Development

# Copy a template
cp -r blog my-site
cd my-site

# Install dependencies
pnpm install

# Initialise the database and seed demo content
pnpm bootstrap

# Start the dev server
pnpm dev

Open http://localhost:4321 to see your site and http://localhost:4321/_emdash/admin for the CMS.

#Learn More

New version available.