Repository navigation
v0.1.1
Summary
Footer branding customization, Kitfly attribution, and release infrastructure hardening. Users can now fully configure footer content — copyright, links, attribution — via site.yaml. Platform binary releases validated across all targets.
Highlights
Footer customization
- Three-zone footer layout: provenance (left), copyright + links (center), attribution (right)
footer.copyright— override auto-generated copyright textfooter.copyrightUrl— make copyright text a clickable linkfooter.links— custom footer links (max 10), replaces default brand link; empty array suppresses all center linksfooter.attribution— toggle "Built with Kitfly" (default: true)- Provenance label changed from bare date to
Published YYYY-MM-DD - Copyright year derived from publish date (provenance), not runtime
KitflyBrand architecture
- Immutable
KITFLY_BRANDconstant — tool identity separate from user'sSiteBrand - Attribution references
KITFLY_BRAND, not user config — survives site customization - Not overridable by design: on/off toggle only, no "Built with <X>" config path
Bundle parity
- Bundles show Kitfly attribution by default
- Bundle footer uses shared
buildBundleFooter()instead of inline copy - All footer config options (
copyright,copyrightUrl,links,attribution) work in bundles
Security
- All user-provided config strings (
copyright,copyrightUrl,links[].text,links[].url,brand.name,brand.url) are HTML-escaped before interpolation - Prevents markup injection from malformed config values
Release infrastructure
- Platform binary builds: Linux x64/arm64, macOS arm64, Windows x64/arm64
- Simplified release tag pattern in workflow
- Release script improvements for asset and provenance uploads
Bug fixes
brand.url: "/"(relative URL) now displaysbrand.nameas link text instead of bare/- Footer wrapping on narrow viewports:
min-heightreplaces fixedheightto prevent overflow
Breaking Changes
None. All footer additions are opt-in. Existing sites get "Built with Kitfly" attribution by default (disable with footer.attribution: false).
Migration
No migration needed. To customize the footer, add a footer: block to site.yaml:
footer:
copyright: "© 2026 My Company, Inc."
copyrightUrl: "https://mycompany.com"
links:
- text: "Privacy"
url: "/privacy"
attribution: true