astwerk

Documentation

New here? Start with Getting started, then read The Node tree and Ctx & URLs — between them they cover everything needed to generate a site. The Quick reference at the end of this list is the whole API on one page.

Getting started

Install astwerk, write a tree, generate a site.

Comparison

How astwerk differs from Hugo, Zola, Eleventy and Astro — and when one of those is the better choice.

The Node tree

Node, Build, BuildOptions — the shape of the tree and how it's written.

Ctx & URLs

What the walker tells a page — paths, locale, base — and how to build URLs from it.

Dev server

Watch, rebuild, reload — the loop you leave running while you work.

Content & collections

Markdown with TOML front matter, and the list-plus-detail pattern.

Locales & i18n

Locale subtrees are derived from the base tree, not written twice.

x — compiled reactive markup

Markers that generate both the HTML and the JavaScript for a page at build time — no WASM, no framework.

x — structure & scripts

Conditional and keyed subtrees, effects, and the JavaScript escape hatch.

Scripts & WebAssembly

Compiling Go to wasm as part of the build, with no JS toolchain.

wasmwrap

syscall/js made to feel like Go: DOM, style, events, fetch.

wasmwrap — canvas

Typed 2D drawing — Canvas, Ctx2D, animation loops.

reactive — state

Signals, effects, computed values and ownership — the state model behind the bindings.

reactive — DOM bindings

Fine-grained bindings: text, attributes, classes, forms, conditional and keyed subtrees.

reactive — routing & async

Client-side routing and loading async data into signals.

reactive — templ in the browser

Rendering and hydrating templ components client-side.

Starter templates

Seventeen copyable .templ files. Copied, never imported.

Testing

Unit-test reactive and wasmwrap bindings with jsdom — no browser, no headless driver.

How it works

The walker, locale derivation, and dependency tracking — the three mechanisms, in full.

Quick reference

The whole API on one page — signatures and copyable snippets, man-page style.