Install Sarde, create a site, and preview it in the browser. By the end, a themed site runs locally and updates on every save, a new page appears in its sidebar, and a production build sits in dist/, ready to publish. The steps need a terminal and a text editor, and assume no experience with build tools.
Install Sarde
Choose one installation method:
On macOS or Linux with Homebrew:
brew install getsarde/sarde/sardeThe install script supports macOS and Linux. On Windows, use the Windows tab instead.
curl -sSfL https://raw.githubusercontent.com/getsarde/sarde/main/install.sh | shThe script installs sarde into /usr/local/bin, or into ~/.local/bin when /usr/local/bin is not writable. If it prints Add <directory> to your PATH, run the export command it shows, and add the same line to the shell profile (for example, ~/.bashrc or ~/.zshrc) to keep it for new terminals.
- Download
sarde_windows_amd64.zipfrom GitHub Releases. - Extract the archive and move
sarde.exeinto a permanent folder, for exampleC:\Users\<name>\sarde. - Add that folder to the
PATHenvironment variable so any terminal can find the program: open Settings > System > About > Advanced system settings, click Environment Variables, selectPathunder User variables, then click Edit > New and paste the folder path. - Open a new terminal window. Terminals that were already open do not pick up the
PATHchange.
Download the latest release archive for your platform from GitHub Releases. Extract it and place the sarde binary in a directory on the PATH.
Requires Go 1.25 or later.
go install github.com/getsarde/sarde/cmd/sarde@latestVerify the installation:
sarde version→ The terminal prints the Sarde version, the Go version, and the platform:
sarde 1.0.0Go: go1.25.0OS/Arch: linux/amd64An error saying that sarde is not found or not recognized means the folder that holds the program is not on the PATH. Open a new terminal window and run the command again before repeating the install steps.
Create a site
sarde new site creates a working site in a new folder: a configuration file, a homepage, a sample blog post, and a sample docs page. Create a site named my-site and move into its folder:
sarde new site my-sitecd my-site→ The terminal prints:
Created new site at /path/to/my-site Run 'cd my-site' then 'sarde dev' to start the dev server.The my-site folder contains:
my-site/ sarde.yaml # Site configuration kazari.config.yaml # Code block highlighting settings content/ _index.md # Homepage blog/ _index.md hello-world.md # Sample blog post docs/ _index.md getting-started.md # Sample docs page public/ images/ hero-light.svg # Homepage illustration, light mode hero-dark.svg # Homepage illustration, dark mode .gitignoreThe sarde.yaml file controls the site title, theme preset, homepage hero, and all other settings. Configuration Examples has complete files to start from, and Configuration documents every key. The kazari.config.yaml file controls syntax highlighting, covered in Code Blocks.
Start the dev server
The dev server is a private preview of the site that runs only on this machine. It watches the project files, and on every save it rebuilds the affected pages and refreshes the browser. Start it and leave it running while writing:
sarde dev→ The terminal prints:
sarde v1.0.0 ready in 320 ms┃ Local http://localhost:4727┃ Network use --host 0.0.0.0 to exposeOpen http://localhost:4727 in a browser.
→ The site appears with a homepage hero section, a navigation bar that links to the sample blog and docs pages, search, and a dark mode toggle. All of it comes from the scaffold, with no configuration.
From here on, edit a file, save it, and check the browser. The page refreshes on its own, and CSS changes apply without a page reload. To stop the dev server, press Ctrl+C in its terminal.
Add content
The dev server occupies its terminal, so open a second terminal window and move into the my-site folder. Create a page with sarde new, which takes the name of a collection (a top-level folder in content/) and a page title:
sarde new docs "My First Page"→ The terminal prints:
Created content/docs/my-first-page.mdOpen content/docs/my-first-page.md in a text editor. The file starts with frontmatter, a short metadata block between --- fences that sets the page title and other fields. Sarde fills it in:
---date: "2026-03-15T09:00:00-05:00"draft: truetitle: My First Page---The draft: true line marks the page as work in progress. The dev server shows drafts, and sarde build leaves them out. Drafts, scheduled, and expiring content explains the publishing rules.
Add Markdown content below the frontmatter and save the file:
## WelcomeThis page was created with `sarde new docs`.:::noteSarde's Markdown goes beyond the basics. Asides like this one, tabs, cards,and more are built in.:::Open http://localhost:4727/docs/my-first-page/ in the browser.
→ My First Page appears in the docs sidebar, and the :::note block renders as a colored callout.
The page joined the docs sidebar because of the folder it is in. Sarde infers how a collection behaves from its directory name: docs/ gets sidebar navigation, and blog/ gets posts sorted newest first. Core Concepts lists the recognized names, and Using Extensions covers the full extended syntax.
Build the site
sarde build writes the whole site into dist/ as plain files that a web host can serve without running Sarde. A build leaves drafts out, so remove the draft: true line from content/docs/my-first-page.md and save the file.
The dev server and the build both write to dist/, and only one of them can use it at a time. A build started while the dev server runs stops with another sarde process ... is already writing to output directory. Stop the dev server with Ctrl+C, then build:
sarde build→ The output ends with:
Built 9 pages in 320 ms Output: /path/to/my-site/distBefore those lines, the build prints the link check result and a table of page counts. Outside a Git repository, it also lists a git strategy unavailable warning, and the last line reads Built 9 pages in 320 ms, 1 warning. The build still succeeds, and page dates come from file modification times.
The dist/ directory is the complete site as HTML, CSS, and JavaScript. Deploying covers publishing it to GitHub Pages, Netlify, Cloudflare Pages, Vercel, or another host.
Next steps
- Writing Content covers frontmatter, drafts, and page bundles
- Content and Collections explains how folders become blogs, docs, and courses
- Core Concepts explains how content, configuration, and a theme combine into a site