Repository navigation
Releases
Vefna v1.1.0 — Serve, watch, and drafts
Vefna v1.1.0 adds a built-in preview server, a watch mode, and draft pages — the things
you reach for while actually writing a site. It's built with Torvik v1.4.0 and uses
Torvik's new std::net for serving.
New
vefna serve [port] — build the site and host it at http://127.0.0.1:8000 (or a
port you choose), rebuilding automatically when a source file changes before the next
request. Binary assets stream intact.
vefna new myblog
cd myblog
vefna serve
vefna watch (and vefna build --watch) — rebuild continuously as sources change,
until you stop it.
Draft pages — a page with draft: true (also yes / 1) in its front matter is
skipped by default; pass --drafts to build, watch, or serve to include drafts. The
default build reports how many were skipped.
Install / upgrade
Re-run the installer to get the latest (it always fetches the newest release):
# Linux
curl -fsSL https://raw.githubusercontent.com/torvik-lang/vefna/main/linux/install.sh | sh
# Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/torvik-lang/vefna/main/windows/install.ps1 | iex
Or grab a binary from the assets below and put it on your PATH.
Links
- Changelog: https://github.com/torvik-lang/vefna/blob/main/CHANGELOG.md
- README (full command reference and template guide): https://github.com/torvik-lang/vefna
- Built with Torvik: https://github.com/torvik-lang/torvik
Vefna v1.0.0
Vefna is a static site generator written entirely in Torvik — Markdown in, HTML out, one compiled binary with no runtime and no dependencies. This is its first release, built with Torvik v1.3.0, and it's also the flagship showcase for what v1.3.0's concurrency can do.
(VEF-nah — coined from the Old Norse vefa*, "to weave," and* vefr*, "web." The Norns weave the threads of fate; Vefna weaves only web pages, which is safer.)*
🕸 What it does
vefna new myblog
cd myblog
vefna build
Your site is in site/ — plain files, ready for GitHub Pages, Cloudflare Pages, Netlify, or any web server.
- A pragmatic Markdown subset — headings, paragraphs, bold/italic/inline code, links, images, ordered and unordered lists, blockquotes, fenced code blocks with language classes, horizontal rules. All output HTML-escaped.
- Front matter —
title,description,author,date,templatebetween---fences, with site-wide fallbacks from onevefna.siteconfig. - Plain HTML templates with
{{slot}}placeholders and per-page template selection. - Incremental builds — a page reweaves only when its source, a template, or the config is newer than its output.
--cleanrebuilds everything. - Deterministic output — the same inputs produce a byte-identical site, every build, on every platform.
static/assets copied binary-safe with the same incremental logic, folder structure carried straight through.
🐦⬛ Woven in parallel
Pages render on eight raven worker threads fed by typed bridge channels — Torvik v1.3.0's concurrency, doing real work. On modest hardware Vefna weaves 500+ pages in ~60 milliseconds. Safe by construction: the workers share no mutable state, so there is no way to write a data race in the build pipeline.
✅ Tested
A 21-case suite runs on both platforms: CLI surface, golden-file output comparison, incremental rebuild behavior, determinism (two clean builds diff byte-identical), a binary round-trip fixture containing all 256 byte values, and error paths. Green on Linux and Windows before this release was cut.
Install
Linux
curl -fsSL https://raw.githubusercontent.com/torvik-lang/vefna/main/linux/install.sh | sh
Windows (PowerShell)
iwr -useb https://raw.githubusercontent.com/torvik-lang/vefna/main/windows/install.ps1 | iex
Or grab a binary below and put it on your PATH — Vefna is a single file. Pin a version with VEFNA_VERSION=1.0.0 (Linux) or $env:VEFNA_VERSION = "1.0.0" (Windows) before running the installer.
See it woven
The Torvik website is built with Vefna — the tool's own homepage is its demo. Full command reference, template slots, Markdown notes, and hosting tips are in the README; what's coming next (a vefna serve preview server, collections, tags, feeds) is in the ROADMAP.
Binaries for Linux x86-64 and Windows x86-64 are attached below.
One binary. Markdown in, site out, in parallel — written in Torvik, proving Torvik.