Kunthawat Greethong 71e05f9d2c Fix SQLite database path to match emdash init location
The emdash CLI creates the database at ./data.db relative to the
workspace root (/app/emdash/data.db), but the Astro config was
pointing to ./storage/data.db. This caused getEmDashEntry() to
return null since the database used at runtime was empty.

Change db.ts to use file:./data.db instead of file:./storage/data.db

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-04 07:33:40 +07:00
2026-05-03 10:52:32 +07:00
2026-04-29 12:41:59 +07:00
2026-04-29 12:41:59 +07:00
2026-04-29 12:41:59 +07: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

Description
No description provided
Readme 672 KiB
Languages
Astro 86.6%
TypeScript 5.6%
CSS 3.1%
Dockerfile 2.8%
JavaScript 1%
Other 0.9%