8c54882118c7e583f84f920d251c57e9c17afc60
Add tree-sitter-md for markdown parsing with injection support for fenced code blocks. Code inside markdown code fences (```rust, ```bash, etc.) is now fully syntax highlighted. Key fix: Use `#set! injection.include-children` directive in the injection query to override tree-sitter-md's internal tokenization of code_fence_content, allowing proper language injection. - Add tree-sitter-md v0.5.2 dependency - Add Markdown variant to Language enum (md, markdown aliases) - Create queries/md-highlights.scm (minimal markdown highlights) - Create queries/md-injections.scm (with include-children directive) - Add test: test_markdown_injection_rust
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%