mirror of
https://github.com/max-sixty/worktrunk.git
synced 2026-09-14 20:00:38 +08:00
8e405bced9
The docs now build with Astro and Starlight instead of Zola. This removes the Tera 2 migration blocker from #3827 while keeping the published routes, anchors, generated references, metadata, and crawler URLs stable. It replaces the approach closed in #3840. ## What changed - Move the site into Starlight, with a custom Worktrunk homepage and a shared copper, gold, paper, and ink design system. - Keep generated docs as portable Markdown. The Rust sync pipeline no longer needs Zola shortcodes, template escaping, ANSI-to-HTML conversion, or reverse transforms for skill and README output. - Preserve terminal semantics and command-only copying, add responsive handling for short wide tables, retain stable heading IDs, and give repeated command-reference headings useful search labels. - Move docs CI and publishing to Node, Astro, and built-site contract tests. The tests cover public routes, links, assets, metadata, navigation, tables, terminal frames, and compatibility aliases. - Record demo themes from isolated environments, add a mobile core demo, and test the recording contract. The matching mobile assets are published in `max-sixty/worktrunk-assets`. Closes #3827. ## Verification - `cargo run -- hook pre-merge --yes` (4,660 tests) - `npm --prefix docs run check` - `npm --prefix docs test` (9 tests) - `npm --prefix docs run build` (16 pages) - `npm --prefix docs run test:site` (12 tests) - `pytest docs/demos/tests/test_recording.py` (4 tests) > _This was written by Codex on behalf of max-sixty_
37 lines
1.6 KiB
TOML
37 lines
1.6 KiB
TOML
[files]
|
|
extend-exclude = ["docs/demos/vhs-keystrokes/", "*.snap", "vendor/", "*.log"]
|
|
|
|
[default]
|
|
# Generated `wt list` doc embeds (README, site docs, skills mirrors) truncate
|
|
# long commit messages with a trailing … . The cut leaves a word fragment glued
|
|
# to the ellipsis (e.g. "authenticat…"), which typos would "correct" to the full
|
|
# word — re-breaking the doc-sync test on every run. A token immediately followed
|
|
# by … is a truncation, not a typo; *.snap is already excluded, this covers the
|
|
# rendered mirrors that embed the same output.
|
|
extend-ignore-re = ['\w+…']
|
|
|
|
[default.extend-identifiers]
|
|
# "PNGs" is correct (Portable Network Graphics plural). The plural form
|
|
# tokenizes to the word "PN", which typos would otherwise correct to "ON";
|
|
# `extend-words` doesn't suppress it (PNGs isn't a word, it's an identifier).
|
|
PNGs = "PNGs"
|
|
|
|
[default.extend-words]
|
|
# Git commit hashes that typos flags as potential typos
|
|
ba = "ba" # Part of commit hashes like e28e0ba
|
|
ede = "ede" # Part of commit hashes like ede2fd3
|
|
# ANSI escape codes in snapshots make is_main/is_current/is_previous look like "mis"
|
|
mis = "mis"
|
|
# `lsof -F pn` field spec (PID + name) in the fsmonitor sweep; typos maps the
|
|
# lowercase token `pn` to "on", which silently breaks the field request (`on`
|
|
# is offset+name, dropping the `p<pid>` record opener the parser splits on).
|
|
pn = "pn"
|
|
# Intentional typos in tests for "did you mean?" suggestions
|
|
deplyo = "deplyo"
|
|
comit = "comit"
|
|
siwtch = "siwtch"
|
|
# Intentional typo in expansion.rs exercising conditional undefined-var validation
|
|
targte = "targte"
|
|
# Intentional typo in CHANGELOG.md illustrating the unreferenced-var warning
|
|
brnach = "brnach"
|