[package]
name = "gunnar-public-site"
description = "gunnar.rs's public face for visitors and crawlers: llms.txt, robots.txt, the sitemap, the head tags, the public home, the public repository pages and their issues. Built only when gunnar-ui-server's `public-site` feature is on."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
repository.workspace = true
license.workspace = true
authors.workspace = true
publish.workspace = true
# **The owner's SLIM RULE (2026-10-25).** Gunnar stays super slim: everything a
# visitor or a crawler reads without a session lives HERE, and nothing else
# links this crate but gunnar-ui-server under its `public-site` feature, which
# is off in the default build. This crate knows no gunnar crate and no protocol:
# it reads public data through the `Source` trait, which the console fills in
# with the calls it already makes as the grantless guest.
#
# Every dependency below is already in this workspace's lock, at these majors.
[dependencies]
axum = { version = "0.8", default-features = false, features = ["tokio"] }
http = "1"
tokio = { version = "1", features = ["rt", "time", "sync"] }
serde_json.workspace = true
# The README, as HTML: the one markdown parser in the tree (docbook's major),
# and the sanitiser the console's own README view already uses.
pulldown-cmark = { version = "0.13", default-features = false, features = ["html"] }
ammonia = "4"
[dev-dependencies]
tokio = { version = "1", features = ["rt-multi-thread", "macros", "time", "sync"] }
tower = { version = "0.5", features = ["util"] }