A friendlier static site generator. https://statac.dev
  • Rust 97.3%
  • JavaScript 1.6%
  • Shell 0.5%
  • PowerShell 0.3%
  • HTML 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-01 14:30:25 +00:00
.cargo chore: Statac 0.1.0, the first release 2026-10-10 22:22:53 +01:00
.forgejo/workflows feat(install): add an install script for Windows, in PowerShell 2026-10-31 14:37:24 +00:00
.github/readme docs(readme): show the light or dark logo and screenshot by the forge's theme, which Forgejo honours 2026-10-27 20:49:35 +00:00
crates build: give statac-minijinja a version of its own, 0.1.0 2026-10-31 19:26:54 +00:00
descriptions feat(refresh): check links to other sites, and tell the broken ones in check 2026-10-30 23:35:47 +00:00
examples docs(explanations): say what each kind of problem is on the index 2026-10-30 10:56:09 +00:00
explanations fix(published): tell a line holding %, # or .. by that part, not as lacking its opening / 2026-10-31 13:37:43 +00:00
licences chore: Statac 0.1.0, the first release 2026-10-10 22:22:53 +01:00
src fix(serve): stop a page showing an image by full URL rebuilding whenever any image changes 2026-11-01 14:30:25 +00:00
tests fix(serve): stop a page showing an image by full URL rebuilding whenever any image changes 2026-11-01 14:30:25 +00:00
tools fix(install): refuse a release from 0.8.0 on that has no signature 2026-10-31 16:52:09 +00:00
.gitattributes chore: Statac 0.1.0, the first release 2026-10-10 22:22:53 +01:00
.gitignore build: make Statac and its two library crates publishable on crates.io 2026-10-28 20:53:01 +00:00
Cargo.lock chore: Statac 0.8.0 2026-10-31 20:36:22 +00:00
Cargo.toml chore: Statac 0.8.0 2026-10-31 20:36:22 +00:00
CHANGELOG.md chore: Statac 0.8.0 2026-10-31 20:36:22 +00:00
CONTRIBUTING.md chore: link Statac's code, issues, tap and bucket on git.statac.dev, and take security reports by email 2026-10-27 13:46:51 +00:00
crates-io.md feat(install): add an install script for Windows, in PowerShell 2026-10-31 14:37:24 +00:00
LICENSE-APACHE chore: Statac 0.1.0, the first release 2026-10-10 22:22:53 +01:00
LICENSE-MIT chore: Statac 0.1.0, the first release 2026-10-10 22:22:53 +01:00
README.md feat(install): add an install script for Windows, in PowerShell 2026-10-31 14:37:24 +00:00
SECURITY.md docs: put the README and Cargo.toml in their 0.7.0 words, with the debug panel as the README's picture 2026-10-27 16:54:40 +00:00
THIRD-PARTY-GRAMMARS.md feat!: colour code only where code_colours asks and write no code.css 2026-10-25 12:12:01 +00:00
THIRD-PARTY.md build: rename the picture library statac-avif-sys, and stop early when CMake, Perl or NASM is missing 2026-10-28 20:30:39 +00:00

Statac Statac

A friendlier static site generator.

The latest release Runs on macOS, Linux and Windows Licence: MIT or Apache-2.0

Get started · Install · Documentation · Problems explained · Changes

Statac makes a website from a folder of Markdown. You write pages in Markdown, choose how they look with templates, and run statac build. It writes a site of plain files, ready to put on any web host. Statac adds no JavaScript to a page unless you ask it to.

It is one program in one file, with no plugins and nothing else to install beside it.

It explains itself

Statac's debug panel open at its Names tab over a page being served. A list shows each name a template can write, such as {{ page.title }}, {{ page.date }} and {{ page.language }}, with what it holds on this page. Beside it, {{ page.title }} is described, with its value on this page, Ben Ledi, and the file and line it was written at, content/walks/2026-09-13-ben-ledi.md, line 2. Statac's debug panel open at its Names tab over a page being served. A list shows each name a template can write, such as {{ page.title }}, {{ page.date }} and {{ page.language }}, with what it holds on this page. Beside it, {{ page.title }} is described, with its value on this page, Ben Ledi, and the file and line it was written at, content/walks/2026-09-13-ben-ledi.md, line 2.

When something in the site is wrong, Statac shows you the file, the line and the exact text, says what it did or why it stopped, and links to a page about that kind of problem. statac explain broken-link shows the same explanation in the terminal.

While statac serve runs, the debug panel on every page shows the problems, each name a template can write, what it holds on that page and where its value came from.

What you get

  • Broken links caught. Statac checks every link within your site before anything is published, including the heading it points to.
  • Images handled. Write an ordinary Markdown image. Readers get it in several sizes, as AVIF with a JPEG fallback.
  • Search built in. Once you add a search box to your site, Statac writes a search index at each build, and the box finds pages as the reader types, with nothing outside your site needed. statac search gives the same results in the terminal.
  • Social cards. Statac draws a social card for each page, from a layout you set, in fonts and over a background of your own.
  • Bring your site with you. statac import brings a Hugo, Jekyll, Zola or Eleventy site across, and lists anything it couldn't bring. See Arriving from another tool.
  • One program. Sass, code colours, feeds and a sitemap need no plugin: Statac does each once you ask. The stylesheet that colours code and the templates for feeds and a sitemap are your own, and the docs have them ready to copy.

And the rest: tags and series, several languages, webmentions, a preview that reloads as you save, and nothing published unless the whole build succeeds.

Installing

On a Mac or Linux:

curl -fsSL https://get.statac.dev | sh

On a Mac, with Homebrew:

brew tap statac/statac https://git.statac.dev/statac/homebrew-statac
brew install statac/statac/statac

On Windows, in PowerShell:

irm https://get.statac.dev/install.ps1 | iex

On Windows, with Scoop:

scoop bucket add statac https://git.statac.dev/statac/scoop-statac
scoop install statac

For another way to install, each release has a package for each kind of machine. Installing says which to take and how to check it.

With Cargo, from crates.io:

cargo install --locked statac

Cargo builds Statac from its source, which needs Rust 1.99 or later, a C and C++ compiler, CMake and Perl, and NASM on a machine with an Intel or AMD processor.

A first site

statac new site-1
cd site-1
statac serve

statac new asks five questions and writes the site's settings; the pages, templates and stylesheet are yours to write, as Templates describes. statac serve builds the site, shows it at http://localhost:3000/ and builds it again on every save.

Documentation

Everything else is at statac.dev.

Report a problem in Statac's issues on git.statac.dev, Statac's home. The copy on GitHub is read-only, with its issues turned off.

Licence

Statac is offered under the MIT licence or the Apache License 2.0, at your choice. THIRD-PARTY.md lists the work of others that it carries, each with its licence.