69cd81621f8fdee494a91a45ed6df181761bd393
Self-documenting docs site built with sukr itself (dogfooding): Core changes: - Rename package from nrd-sh to sukr - Move personal site to sites/nrd.sh/ - Update AGENTS.md and README.md Documentation site (docs/): - Add site.toml with sukr.io base URL - Create docs-specific templates with sidebar navigation - Add dark theme CSS with syntax highlighting colors - Document all features: templates, sections, syntax highlighting, mermaid diagrams, and LaTeX math rendering Bug fixes: - Render individual pages for all sections (not just blog type) - Add #[source] error chaining for Tera template errors - Print full error chain in main() for better debugging
sukr
Minimal static site compiler — suckless, Rust, zero JS.
sukr transforms Markdown content into high-performance static HTML. No bloated runtimes, no unnecessary JavaScript, just clean output.
Features
- Build-time rendering — Syntax highlighting via Tree-sitter, no client JS
- Tera templates — Runtime customizable, no recompilation needed
- Convention over configuration — Add sections by creating directories
- Monorepo support — Multiple sites via
-cflag
Quick Start
# Build
cargo build --release
# Run (uses ./site.toml)
sukr
# Custom config (monorepo)
sukr -c sites/blog/site.toml
# Help
sukr --help
Configuration
Create site.toml:
title = "My Site"
author = "Your Name"
base_url = "https://example.com"
[paths] # All optional
content = "content" # default
output = "public" # default
static = "static" # default
templates = "templates" # default
Content Structure
content/
├── _index.md # Homepage
├── about.md # Standalone page → /about.html
└── blog/
├── _index.md # Section index → /blog/index.html
└── my-post.md # Post → /blog/my-post.html
License
MIT
Languages
Rust
68.7%
Scheme
19.1%
CSS
11.7%
Nix
0.5%