Documentation
¶
Overview ¶
Command landingmigrate moves an organisation's landing onto the landing kit (go-fleettools/landingkit), one repository at a time, and says what it changed.
landingmigrate inventory --out landing-migration.json landingmigrate migrate ./go-icons.github.io --org go-icons --kit v0.6.0 --data "graphics: CC-BY-4.0, MIT, CC0-1.0" --report r.json landingmigrate verify --old old/ --on on/ --off off/ --report r.json landingmigrate repeats layouts/index.html --write
WHY IT EXISTS ¶
Seventeen landings import the kit. The rest carry a copy of the fleet's first landing layout, each with its own stylesheet, so a fix to the design (a dark-mode contrast, the mantra strip) reaches none of them. Moving one by hand is an afternoon; this moves one in a command and proves what it did.
WHAT IT DOES TO ONE LANDING ¶
It parses the template layout by its markers and refuses anything in it it does not know, rather than dropping it. It writes the kit's layout around the same content: the header's h1, tagline, buttons and pills become the kit's hero, the first code snippet its terminal, <main> stays as written under the template's own rules, scoped to it. It removes the copies of the kit's partials, adds go.mod, kit.go and the hugo.toml import, reads [params.brand] from the logo, and gives the workflow that installs hugo the go command it now needs.
The strip says LICENSE=BSD-3-Clause and CGO_ENABLED=0, so a pill, badge, sentence or footer segment that says nothing else is hidden while the strip shows ({{ if not (partial "mantra-on.html" $) }}). One that says more is kept and listed in the report, for the pull request.
HOW IT IS PROVED ¶
verify reads three builds: the old page, the new page, and the new page with the strip turned off. Every text node, link and picture of the old page must be in the strip-off page (the licence badge excepted), and the strip-on page must be the strip-off page minus exactly the hidden repeats. A difference is printed and fails the command.