Skip to content

Version 0.7.9 release - 霞光

Choose a tag to compare

@kokic kokic released this 06 Mar 14:56

Highlights

  • Added nested markdown subtree extraction and strengthened anonymous subtree slug handling to avoid collisions.
  • Added anonymous subtree support in Typst subtree flow, including internal slug allocation and structural-only behavior alignment.
  • Enabled metadata values to use local links in Typst via local(...), matching markdown-style author/reference linking workflows.
  • Expanded Typst helper capabilities in kodama.typ, including semantic subtree helpers and improved local-link ergonomics.
  • Refined upgrade workflow with dedicated subcommands and Typst library sync support.
  • Continued modular refactors across parser, serve watch, html rendering, and content writing paths.

Behavior changes and migration notes

  • upgrade now exposes focused subcommands (config, typst-lib) with clearer argument behavior.
  • Typst local(...) helper now supports optional text, improving parity with markdown local-link usage patterns.
  • Typst subtree authoring gained semantic helper aliases (for example lemma, theorem, proof) that map to subtree taxons.
  • Serve command invocation now forwards explicit port values to miniserve.

Features and improvements

  • Added nested markdown subtree extraction support.
  • Added robust anonymous subtree slug allocation and improved slug attribute handling.
  • Added with-target-check for cleaner HTML/paged target branching in Typst helper APIs.
  • Added Typst semantic subtree sugar helpers aligned with markdown-style structural tags.
  • Added upgrade-time sync for trees/_lib/kodama.typ.

Performance

  • Reworked serve global-change handling to reuse in-memory shallows.
  • Moved Typst SVG generation into a separate stage for cleaner pipeline boundaries.
  • Simplified writer catalog generation and related compile-state anonymous filtering paths.

Stability and error handling

  • Fixed anonymous subtree slug collision cases in nested markdown scenarios.
  • Fixed serve/miniserve command wiring to include port.
  • Added/kept focused test coverage for asset-link title sanitization with inline HTML input.
  • Finalized release versioning back to 0.7.9 after transient 0.8.0 bump.

Code organization and naming

  • Split parser subtree logic and tests into dedicated modules.
  • Split serve watch internals into strategy/analysis/runtime components.
  • Split content writer and tests into submodules.
  • Split html_flake into core, header, and document-oriented modules.
  • Refactored upgrade command internals into subcommand-oriented structure.
  • Replaced long HTML header argument list with a struct-based API.

Testing and testability

  • Added embed_markdown test for stripping inline HTML from asset-link titles.
  • Improved readability of shared test setup helpers for shallow section construction.
  • Kept subtree parsing improvements covered through parser-level regression tests.

Full commit list

  • 6c5f6f3 feat(typ): add semantic subtree sugar helpers for markdown tags
  • cec8d1a fix(serve): update command to include port for miniserve
  • 9e5980b fix(local): handle text parameter as optional in local function
  • 4692a23 fix(version): downgrade kodama version from 0.8.0 to 0.7.9
  • a5cf22c feat(parser): implement anonymous subtree slug handling and improve slug attribute management
  • fb9f713 refactor(subtree): enhance parameter handling and improve readability
  • 4f3f1bf feat(target-check): implement with-target-check for HTML and paged compatibility
  • f024035 test(embed_markdown): add test for asset link title stripping inline HTML
  • 9466868 fix(parser): avoid anonymous subtree slug collisions in nested markdown
  • 1a531de feat(parser): support nested markdown subtree extraction
  • 56cb7cc refactor(graph): normalize anonymous subtree filtering in compile state
  • 12378f8 chore(version): bump kodama version to 0.8.0
  • f451506 refactor(process): split content writer and tests into submodules
  • 6d8dddf refactor(serve): split watch into strategy, analysis, and runtime modules
  • cc265b7 refactor(parser): split subtree logic and tests into submodules
  • 999a31d refactor(html_flake): split into core, header, and document modules
  • d1856de perf(serve): rewrite global changes from in-memory shallows
  • 380ab82 refactor(writer): simplify catalog HTML generation logic
  • 65a6a05 refactor(scan): move typst svg generation to separate stage
  • 191d034 chore(clippy): clear warnings in typst tests and html_flake
  • 6f82f08 refactor(main): reorder typst_cli module and update upgrade command description
  • 3524cf4 refactor(upgrade): move config/output flags into subcommands
  • 3881091 docs(upgrade): clarify top-level args apply without subcommand
  • bc12a05 refactor(html): replace header arg list with struct
  • 7bc7c43 refactor(tests): improve readability of shallow_section_with_content function
  • 57c8960 refactor(upgrade): split config and typst-lib into subcommands
  • 884bc40 feat(upgrade): sync trees/_lib/kodama.typ during migration
  • f7509a3 chore: add changelog for version 0.7.5 release with highlights, features, and fixes