yggdrasil/Cargo.toml
xfy 11261836c7 feat: add syntect code highlighting with catppuccin themes
- Add syntect dependency (server feature, fancy-regex backend)
- Create highlight module with LazyLock globals for SyntaxSet + themes
- Intercept CodeBlock events in markdown rendering for syntax highlighting
- Update ammonia whitelist to allow span/pre/code class/style attributes
- Add generate_highlight_css binary for CSS generation
- Add highlight-css Makefile target (runs before tailwindcss)
- Import generated highlight.css in input.css
- Remove hardcoded code block colors, let catppuccin CSS take over
2026-06-03 11:52:58 +08:00

56 lines
1.8 KiB
TOML

[package]
name = "yggdrasil"
version = "0.1.0"
edition = "2021"
[dependencies]
dioxus = { version = "0.7.9", features = ["fullstack", "router"] }
serde = { version = "1.0", features = ["derive"] }
tokio = { version = "1.52", features = ["full"], optional = true }
tokio-postgres = { version = "0.7", features = ["with-chrono-0_4"], optional = true }
deadpool-postgres = { version = "0.14", optional = true }
argon2 = "0.5"
uuid = { version = "1", features = ["v4", "js"] }
chrono = { version = "0.4", features = ["serde"] }
regex = "1.12"
pulldown-cmark = "0.13"
dotenvy = { version = "0.15", optional = true }
tracing = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.3", optional = true }
tower-http = { version = "0.6", features = ["trace"], optional = true }
rand = { version = "0.8", features = ["getrandom"] }
getrandom = { version = "0.2", features = ["js"] }
http = "1"
ammonia = { version = "4", optional = true }
syntect = { version = "5", default-features = false, features = ["default-syntaxes", "default-themes", "default-fancy", "html", "parsing", "dump-load"], optional = true }
[target.'cfg(target_arch = "wasm32")'.dependencies]
web-sys = { version = "0.3", features = ["Document", "Window", "HtmlDocument", "Storage", "Element", "DomTokenList", "MediaQueryList", "HtmlScriptElement"] }
wasm-bindgen = "0.2"
wasm-bindgen-futures = "0.4"
js-sys = "0.3"
[profile.release]
debug = false
opt-level = "z"
lto = true
codegen-units = 1
panic = "abort"
strip = true
[features]
default = ["web", "server"]
web = ["dioxus/web"]
server = [
"dioxus/server",
"dep:tokio",
"dep:tokio-postgres",
"dep:deadpool-postgres",
"dep:dotenvy",
"dep:tracing",
"dep:tracing-subscriber",
"dep:tower-http",
"dep:ammonia",
"dep:syntect",
]