Getting Started
Scaffold a new Dune site and have it running in under five minutes.
Requirements
- Deno 2.x
Install Deno if you haven't already:
curl -fsSL https://deno.land/install.sh | sh
Install the Dune CLI
deno install -A -n dune jsr:@dune/core/cli
This makes dune available globally. Verify with dune --version.
Create a new site
dune new my-site
cd my-site
This creates:
my-site/
├── deno.json # import map + compiler options
├── config/
│ └── site.yaml # site title, theme, URL
├── content/
│ └── index.md # your first page
└── themes/
└── starter/ # starter theme (Preact TSX)
Start the dev server
dune dev
Open http://localhost:8080. Changes to content are picked up on the next request — no restart required. Template changes require a restart (Deno caches compiled TSX).
Your first page
Open content/index.md:
---
title: Hello, Dune
---
Welcome to my site!
The frontmatter key title becomes the page title. Any markdown below the
--- is rendered as HTML and passed to your theme's default template.
Add another page
Create content/01.about.md:
---
title: About
---
This site is built with Dune.
The 01. prefix controls the navigation order. Dune strips these prefixes
from the URL — the page will be served at /about.