v0.3.0-alpha
Pre-release
Pre-release
·
8 commits
to main
since this release
- 2026-08-01
- Added — the full (TUI) edition as an optional
tuiCargo feature- Two binary variants are now shipped: slim (default, preprocessor only) and full (
-tui, preprocessor + interactive TUI). Asset names followdocs/RELEASE.md; the self-update tool only ever matches assets of its own variant. - New
mdbook-plotly tuisubcommand hosting three tools:- Self-update: checks GitHub Releases for the latest tag, compares against the running version with semver, downloads the matching
-tuiasset, verifies its.sha256, and atomically replaces the running binary after explicit confirmation. Supports--dry-runand readsGITHUB_TOKENfor the API rate limit. - book.toml editor: walks up from the working directory to find
book.toml, guides edits of the[preprocessor.plotly]keys with per-field descriptions and valid ranges, usestoml_editso comments/formatting are preserved, shows a diff before writing, and writes atomically via temp-file + rename. - Plot cheat-sheet: searches, previews, and copies the minimal examples from
docs/USAGE.md(cache → release-tag docs → stale cache, so it works offline after the first fetch). Clipboard failures fall back to printing to stdout. - The cheat-sheet reads the user manual in the language detected from
MDBOOK_PLOTLY_LANG→[language] docin the settings file → the system locale; both the English and Chinese manuals carry the same machine-readable schema and example ids. - All GitHub traffic (API, asset downloads, cheat-sheet fetches) is routed through configurable endpoints —
MDBOOK_PLOTLY_GITHUB_PROXY/MDBOOK_PLOTLY_GITHUB_API/MDBOOK_PLOTLY_GITHUB_RAW/MDBOOK_PLOTLY_GITHUB_DOWNLOADenv vars and/or~/.config/mdbook-plotly/config.toml— with no hardcoded GitHub URL.
- Self-update: checks GitHub Releases for the latest tag, compares against the running version with semver, downloads the matching
- The slim edition recognizes the
tuicommand and prints install/download instructions instead of an "unknown subcommand" error.
- Two binary variants are now shipped: slim (default, preprocessor only) and full (
- Added — machine-readable schema for
docs/USAGE.mdplot examples<!-- usage-schema: 1 -->marker plus<!-- plot:begin/end -->blocks, specified indocs/USAGE-SCHEMA.md. The parser is lenient (unknown fields ignored, malformed blocks skipped with a warning) and degrades gracefully for newer schema versions.- New
docs_parsermodule and an integration test that parses the realdocs/USAGE.mdand asserts every block is complete and every example is valid chart input, so future doc edits are validated in CI.
- Added —
docs/RELEASE.mddefining the release-asset naming contract shared by CI and the updater. - Changed — CI now builds and uploads both variants per target (with
cargo build --locked --release), generates a.sha256per asset, and runsclippy -D warnings+cargo testfor both feature combinations (including the docs-schema tests) on every PR/push. - Changed — code organization: the TUI sources were split into focused modules (logic vs. views vs. configuration), all unit tests now live under
tests/, and the GitHub endpoint logic was extracted into a configurable module withthiserror-based error types. - Fixed — none (no behavior changes to the preprocessor itself).