Files
sukr/Cargo.toml
Timothy DeHerrera 8c54882118 feat(highlight): add markdown syntax highlighting with injection
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
2026-01-31 16:41:11 -07:00

49 lines
1.2 KiB
TOML

[package]
description = "Minimal static site compiler — suckless, Rust, zero JS"
edition = "2024"
license = "MIT"
name = "sukr"
version = "0.1.0"
[dependencies]
gray_matter = "0.2"
pulldown-cmark = "0.12"
thiserror = "2"
walkdir = "2"
# Syntax highlighting
tree-sitter = "0.26"
tree-sitter-bash = "0.23"
tree-sitter-c = "0.24"
tree-sitter-css = "0.25"
tree-sitter-go = "0.25"
tree-sitter-highlight = "0.26"
tree-sitter-html = "0.23"
tree-sitter-javascript = "0.25"
tree-sitter-json = "0.24"
tree-sitter-nix = "0.3"
tree-sitter-python = "0.25"
tree-sitter-rust = "0.23"
tree-sitter-typescript = "0.23"
tree-sitter-yaml = "0.7"
# CSS processing
lightningcss = "1.0.0-alpha.70"
# Config parsing
katex-rs = "0.2.3"
serde = { version = "1", features = ["derive"] }
tera = "1"
toml = "0.8"
# Diagram rendering
mermaid-rs-renderer = { version = "0.1", default-features = false }
tree-sitter-md = "0.5.2"
# Patch dagre_rust to fix unwrap on None bug
[patch.crates-io]
dagre_rust = { path = "patches/dagre_rust" }
[dev-dependencies]
tempfile = "3.24.0"