Comparison

How sukr compares to other static site generators

This page provides a factual comparison of sukr with other popular static site generators.

Feature Matrix

Feature sukr Zola Hugo Eleventy
Language Rust Rust Go Node.js
Single Binary
Syntax Highlighting Tree-sitter syntect Chroma Plugin-based
Build-time Math ✅ KaTeX→MathML Plugin required
Build-time Diagrams ✅ Mermaid→SVG Plugin required
Zero JS Output Configurable
Template Engine Tera Tera Go templates Multiple

Syntax Highlighting

sukr uses Tree-sitter, the same parsing technology used by GitHub, Neovim, and Helix. Tree-sitter builds actual syntax trees rather than matching regex patterns, which enables:

  • Accurate highlighting of edge cases
  • Language injection (e.g., bash inside Nix buildPhase, JS inside HTML)
  • Consistent results across all supported languages

Zola uses syntect, which is regex-based (Sublime Text grammars). It works well for common cases but can struggle with nested languages or unusual syntax.

Hugo uses Chroma, a Go port of Pygments. Similar trade-offs to syntect.

Math Rendering

sukr renders LaTeX math to MathML at build time using KaTeX. The output is browser-native — no JavaScript required in the browser. Modern browsers render MathML directly.

Zola, Hugo, Eleventy typically require client-side JavaScript (MathJax or KaTeX.js) to render math, or external tooling pipelines.

Diagram Rendering

sukr converts Mermaid diagram definitions to inline SVG at build time. The diagrams are embedded directly in the HTML — no JavaScript library loads in the browser.

Other generators typically include the Mermaid.js library and render diagrams client-side, adding ~1MB to page weight and requiring JavaScript.

When to Choose sukr

Consider sukr if you:

  • Want zero JavaScript in your output
  • Need accurate syntax highlighting with language injection
  • Prefer a single Rust binary with no runtime dependencies
  • Value build-time rendering over client-side hydration

When to Choose Something Else

Consider Zola, Hugo, or Eleventy if you:

  • Need a larger plugin ecosystem
  • Require features sukr doesn't have (taxonomies, i18n, etc.)
  • Prefer a more established community with extensive themes
  • Don't care about client-side JavaScript

sukr is intentionally minimal. It does a few things well rather than trying to cover every use case.