3af26ae0e5
Rework the README into the house style: badges, a one-line pitch, an anchor nav, a commands table, and dedicated sections for clone, pack, and the native viewer. Every flag and default is checked against the current binary so the docs match what kage actually does. Add a demo recorded with ascii-gif. The tape clones example.com, packs it to a ZIM and to a self-contained binary, and serves it back offline, so the whole loop reads in one frame. It sits at the top of the README and on the docs home. While reviewing the docs, fix the output path everywhere: the default is $HOME/data/kage, not the kage-out the pages claimed, including a few fabricated 'done kage-out/...' lines. Document pack, open, and the native viewer in the release notes.
2.2 KiB
2.2 KiB
title, description, weight
| title | description | weight |
|---|---|---|
| Release notes | What changed in each kage release. | 40 |
The authoritative, commit-level history lives in
CHANGELOG.md and on the
releases page. This page summarises
each version.
Unreleased
Packing, so a clone can travel as one file instead of a folder.
kage pack <mirror-dir>collapses a mirror into a single distributable file.--format zim(the default) writes an open ZIM archive, the same format Kiwix uses;--format binaryappends that archive to a copy of kage to make a self-contained executable that serves the site offline when run. Packing is deterministic, so the same mirror produces a byte-identical file.kage open <file.zim>serves a packed ZIM back over a local HTTP server, the read side ofkage pack --format zim.- An optional native-window viewer. Built with
-tags webview,kage openand a packed binary show the site in a real window backed by the operating system's WebView instead of a browser tab. The default build stays pure Go and opens the browser, so the release pipeline is unchanged. - A pure-Go
zimpackage that reads and writes the ZIM format: a fixed header, MIME and pointer lists, zstd or stored clusters, redirects, and a trailing MD5.
v0.1.0
The first release. kage clones a live website into a self-contained folder you can browse offline, with every script stripped out.
kage clone <url>renders each page in headless Chrome, strips all JavaScript, and localises CSS, images, and fonts to relative paths.kage serve [dir]previews a cloned folder over a local file server.- Idempotent and resumable. Each page is keyed by the file it writes, so a
page reached over http and https, or as
/index.htmlversus/, is fetched once. Re-running resumes;--refreshre-renders in place;--forcestarts clean. - Polite by default. Honours
robots.txt, seeds fromsitemap.xml, scopes to the seed host, and runs three parallel worker tiers. - Packaged everywhere. Archives,
.deb/.rpm/.apk, a multi-arch GHCR image with Chromium bundled, checksums, SBOMs, and a cosign signature.