Skip to content

Releases: queelius/longecho

longecho 0.4.0

09 Apr 17:09

Choose a tag to compare

Highlights

Site composition. longecho archives can now include source-level interactive viewers (e.g., a ctk conversation browser, a chartfold dashboard) and the archive SFA links to them. Build at any level: child sites compose into a parent SFA via relative links. The fractal/self-similar structure lets you assemble archives of archives without any tool needing to know about the others.

Foreign site overwrite protection. longecho build now reads the output directory's README.md frontmatter to detect tool-generated sites and refuses to overwrite them. New --force flag to bypass when intended. Protects ctk, chartfold, and other tool-generated viewers from accidental clobbering.

Root finally rendered. The archive root's own README content, data files, and metadata are now visible on the home page of the generated SFA. Previously, the root's data was invisible because the home view only rendered children. Home view and detail view now share a single rendering path: every view in the SFA is the detail view of some source.

Added

  • Foreign site overwrite protection with --force flag
  • Root source rendered as a full detail view on the home page
  • Source-level site linking ("Open interactive viewer" cards)
  • _get_data_files walks recursively, scoping data files to their owning source

Changed (breaking)

  • SFA JSON: per-source formats key renamed to durable_formats
  • Readme dataclass no longer carries a body field

Changed

  • --depth help text clarified to specify filesystem depth
  • README and CLAUDE.md documentation: clarified contents field semantics, ecosystem table, and architecture notes

Fixed

  • Root archive's data files and README content were never displayed in the SFA
  • _get_data_files previously only globbed top-level files, missing nested ones

Stats

  • 143 tests passing (up from 124 at v0.3.0)
  • 93% coverage
  • mypy clean, ruff clean

See CHANGELOG.md for full details.