A clean, minimal blog built with EmDash and deployed on Cloudflare Workers with D1 and R2.
- 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
- Forms plugin and webhook notifier
| 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 |
| Desktop | Mobile | |
|---|---|---|
| Light | ![]() |
![]() |
| Dark | ![]() |
![]() |
- Runtime: Cloudflare Workers
- Database: D1
- Storage: R2
- Framework: Astro with
@astrojs/cloudflare
pnpm install
pnpm bootstrap
pnpm devpnpm deployOr click the deploy button above to set up the project in your Cloudflare account.
- Node.js variant -- same template using SQLite and local file storage
- All templates
- EmDash documentation



