No description
  • Astro 91.7%
  • TypeScript 4%
  • CSS 3.5%
  • JavaScript 0.8%
Find a file
2026-04-04 23:48:46 +02:00
.agents/skills initial commit 2026-04-04 23:11:52 +02:00
.claude initial commit 2026-04-04 23:11:52 +02:00
seed initial commit 2026-04-04 23:11:52 +02:00
src initial commit 2026-04-04 23:11:52 +02:00
.gitignore initial commit 2026-04-04 23:11:52 +02:00
.node-version fix: pin Node.js 22.14.0 for Nixpacks 2026-04-04 23:28:39 +02:00
AGENTS.md initial commit 2026-04-04 23:11:52 +02:00
astro.config.mjs fix: set site URL from env for WebAuthn rp.id 2026-04-04 23:48:46 +02:00
CLAUDE.md initial commit 2026-04-04 23:11:52 +02:00
emdash-env.d.ts initial commit 2026-04-04 23:11:52 +02:00
package.json fix: add kysely as direct dependency 2026-04-04 23:35:51 +02:00
pnpm-lock.yaml fix: add kysely as direct dependency 2026-04-04 23:35:51 +02:00
pnpm-workspace.yaml fix: add packages field to pnpm-workspace.yaml 2026-04-04 23:23:13 +02:00
README.md initial commit 2026-04-04 23:11:52 +02:00
tsconfig.json initial commit 2026-04-04 23:11:52 +02:00

EmDash Blog Template

A clean, minimal blog built with EmDash. Runs on any Node.js server with SQLite and local file storage.

Blog template homepage

What's Included

  • Featured post hero on the homepage
  • Post archive with reading time estimates
  • Category and tag archives
  • Full-text search
  • RSS feed
  • SEO metadata and JSON-LD
  • Dark/light mode
  • Audit log plugin

Pages

Page Route
Homepage /
All posts /posts
Single post /posts/:slug
Category archive /category/:slug
Tag archive /tag/:slug
Search /search
Static pages /pages/:slug
404 fallback

Screenshots

Desktop Mobile
Light homepage light desktop homepage light mobile
Dark homepage dark desktop homepage dark mobile

Infrastructure

  • Runtime: Node.js
  • Database: SQLite (local file)
  • Storage: Local filesystem
  • Framework: Astro with @astrojs/node

Getting Started

pnpm install
pnpm bootstrap
pnpm dev

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

Want Cloudflare Instead?

See the Cloudflare variant for a version that deploys to Cloudflare Workers with D1 and R2.

Deploy to Cloudflare

See Also