Skip to content

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 11 Feb 01:26
· 83 commits to main since this release

Summary

Provenance bug fix, sidebar UX improvements, configurable sidebar width, and a major test coverage expansion. Site footer now displays the user's site version instead of the kitfly engine version. Sidebar folder indicators are larger and animated. Sidebar width is configurable via theme.yaml.

Highlights

Provenance version source (bug fix)

  • generateProvenance() was reading kitfly's own VERSION file — every site showed the same version
  • Now resolves version from: site.yaml version field → git tag on HEAD → omit
  • Added version field to site.schema.json
  • Kitfly's engine version is never displayed as site provenance

Sidebar folder indicators (UX)

  • Replaced ▸/▾ Unicode triangles at 0.7em with › chevron at 0.85em
  • Added rotate(90deg) CSS transition on details[open] (150ms ease)
  • Single character rotates between states — no content swap needed
  • CSS-only change, bundles pick up automatically

Configurable sidebar width (feature)

  • New layout section in theme.schema.json with sidebarWidth property
  • generateThemeCSS() emits --sidebar-width override from theme config
  • Pattern validation: ^[0-9]+(px|rem|em|%)$
  • Default remains 280px, recommended range 240px–400px
  • Propagates to dev server, static builds, and bundles automatically

Test coverage expansion

  • 466 → 1,174 tests across 15 test files
  • Statement coverage: 56.9% → 68.7%
  • Function coverage: 42.3% → 79.6%
  • Template coverage: crucible, pipeline, productbook, runbook, servicebook all at 100%
  • Bundle coverage: 12.5% → 45.4% (parseArgs, imageMime, rewriteContentLinks, fileToDataUri, inlineLocalImages)
  • Theme tests refactored: removed vi.mock() in favor of real temp directories
  • All non-null assertion lint warnings eliminated (541 → 0 in changed files)
  • Bun/Node dual-runtime test compatibility for v8 coverage

Breaking Changes

None. All additions are backwards-compatible. Sites without a version field gracefully omit version from provenance.

Migration

No migration needed. To use new features:

# site.yaml — add site version
version: "1.0.0"
# theme.yaml — customize sidebar width
layout:
  sidebarWidth: "320px"