Skip to main content
Sarde
On this page

Kitchen Sink

Every Sarde extension on a single page. Use it as a visual reference when authoring content.

This page renders every custom extension provided by Sarde in one place. It is a visual reference, not a tutorial. For usage details, see the individual extension pages in the sidebar.


Inline Extensions

Highlight

Use ==text== to highlight a word or phrase inline.

Spoiler

Use ||text|| to hide content until hovered or clicked. The answer is .

Keyboard Keys

Default: Ctrl+Shift+P | Small: Ctrl+S | Large: Ctrl+S

Wide keys: Space Enter Backspace

Combined: Space Tab

Special keys: Esc Tab Delete

Copy Text

Install with go install github.com/getsarde/sarde@latest and configure at ~/.config/sarde.yaml.

Annotation

Highlight style: the virtual DOMAn in-memory representation of the real DOM tree, used for efficient diffing and minimal updates pattern enables fast UI updates.

Plain style: check the SSRServer-Side Rendering generates HTML on the server instead of the client configuration for production deployments.

Icons

Lucide (default):

Tabler:

Simple Icons:

Inline Math

Einstein's equation $E = mc^2$ and the quadratic formula $x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$.


Block Extensions

Asides

:::success
A success aside confirming that a step completed correctly.
:::

GitHub-Flavored Asides

Rich Content in Asides


Badges

NewDeprecatedRemovedBetav2.0.0Preview

Outline Badges

StableExperimentalBreaking

Badge Sizes

SmallDefaultLarge

Badge without Icon

No Icon

Badge Group

GET/api/usersAuth Required

Details

Click to expand

Hidden content with any markdown: lists, formatting, and code blocks.

YAML
site:
title: "My Site"
Expanded by default

This details block starts open.


Accordion

Default (exclusive, one open at a time):

What is Sarde?

A zero-config, Go-based static site generator.

How do I install it?

Run go install github.com/getsarde/sarde@latest to install.

Is it extensible?

Yes, with a plugin system offering four lifecycle hooks.

Independent (multiple open):

Item one

This item can stay open independently of the others.

Item two

So can this one.


Cards

Getting Started

Learn how to set up your first Sarde project in under five minutes.

Highlighted Card

Use variant="highlighted" for an accent border.

Subtle Card

Use variant="subtle" for a transparent background with a dashed border.

Card Grid (auto columns)

Fast Builds

Parallel rendering and incremental builds.

Zero Config

Drop Markdown files into content/ and go.

Extensible

Four lifecycle hooks for plugins.

Themeable

Template overlay resolution at every level.

Card Grid (fixed 3 columns)

Routes

URL routes with parameters and wildcards.

Templates

Go html/template with custom functions.

Plugins

Extend every stage of the build pipeline.

Card Grid (stagger)

Fast Builds

Parallel rendering keeps builds under a second.

Zero Config

Drop Markdown into content/ and get a production site.

Extensible

Four lifecycle hooks for the build pipeline.

Themeable

Override any template at any level.


Tab Behavior Override


Primary Secondary Minimal Ghost Outline

Button Sizes

Small Default Large

Icon-Only Buttons

Block (Full Width)

Full Width Button

Centered

Disabled

Disabled Primary Disabled Secondary

Button Group


Columns

Left Column

Content on the left side. Columns collapse to a single column on small screens.

Right Column

Content on the right side. Each column can contain any markdown.

One

First of three columns.

Two

Second of three columns.

Three

Third of three columns.


Steps

  1. Install Sarde. Download the binary or install via your package manager.

  2. Create a project. Run sarde new my-site to scaffold a new project.

  3. Add content. Drop Markdown files into the content/ directory.

  4. Start the dev server. Run sarde dev and open http://localhost:4727.

  5. Build for production. Run sarde build to generate the static site in dist/.

Steps with Headings

Step 1.

Install dependencies

Terminal window
go install github.com/getsarde/sarde@latest
Step 2.

Create your configuration

YAML
site:
title: "My Documentation"
url: "https://docs.example.com"
Step 3.

Write your first page

Create content/docs/getting-started.md. Sarde will auto-detect it as a docs collection page.

Step 4.

Deploy

Terminal window
sarde build

Tabs

Terminal window
npm install -g sarde

Tabs with Icons

JavaScript
console.log("Hello, world!");

Code Group

Go
package main
import "fmt"
func main() {
fmt.Println("Hello from Go")
}

File Tree

  • my-site
    • content
      • docs
        • getting-started.md
        • configuration.md
        • _index.md
      • blog
        • 2025-01-01-hello-world.md
        • _index.md
      • _index.md
    • themes
      • default
        • layouts
        • public
        • ...
    • public
      • images
      • favicon.ico
    • sarde.yamlSite configuration
    • package.json

Figure

Build Pipeline

The Sarde build pipeline processes content through six stages


Image Compare

Before and After Optimization
Before
After
Before
After

Video

Video Embed

4:3 Aspect Ratio

4:3 format

Autoplay, Muted, Loop

Vimeo

Vimeo Showcase

Timeline

v2.0.0 (September 2025)

Major release: new engine, Goldmark extensions, Orama search, and the Tauri desktop app.

v2.1.0 (December 2025)

Added collection versioning, tabbed docs, and the announcements plugin.

v2.2.0 (February 2026)

Introduced the Python SDK, expanded i18n, and added content linting.

v2.3.0 (April 2026)

Improved cold start times by 40% and added focus mode.

v2.4.0 (June 2026)

Region-aware Realtime presence and the columns extension.

Timeline with Headings

Alpha

Opened to a small group of design partners.

Beta

Public beta with production workloads.

General Availability

Stable release with SLA guarantees.


Terminal

Terminal
$ sarde new my-docs
Creating new project in ./my-docs...
Created content/
Created sarde.yaml
Installed default theme
Created content/_index.md
$ cd my-docs && sarde dev
Starting dev server...
Discovered 1 page
Built site in 12ms
http://localhost:4727

Block Math

$$ $$
$$ $$
$$ $$

Mermaid Diagrams


Code Diff

Diff
- const config = loadConfig("config.json")
+ const config = loadConfig("sarde.yaml")
func buildSite(cfg Config) error {
- pages, err := discover(cfg.ContentDir)
+ pages, err := discoverParallel(cfg.ContentDir, cfg.Workers)
if err != nil {
return err
}
}

Code Block Features

Titles, line numbers, and line annotations:

Gohandler.go
package main
import "fmt"
func greet(name string) string {
return fmt.Sprintf("Hello, %s!", name)
}
func main() { greet("world") }
func main() { greet("Sarde") }

Focus and collapse:

TypeScriptconfig.ts
export const config = {
title: "My Site",
description: "Built with Sarde",
url: "https://example.com",
theme: {
preset: "ocean",
dark: true,
},
build: {
minify: true,
parallel: true,
},
};

Terminal chrome (applied automatically for bash, sh, zsh, powershell, cmd):

Terminal window
sarde build --minify
Terminal window
sarde build --minify

Combining Extensions

Extensions compose naturally. Here are some examples of nesting and mixing.

Full Configuration Example
YAML
site:
title: "My Site"