diff --git a/.github/workflows/hugo.yml b/.github/workflows/hugo.yml
index 1f2eb6e..1ef91f2 100644
--- a/.github/workflows/hugo.yml
+++ b/.github/workflows/hugo.yml
@@ -49,6 +49,12 @@ jobs:
with:
submodules: recursive
+ # Hugo resolves the landingkit module (hugo.toml [module]) with the go
+ # command, at the version go.mod pins.
+ - uses: actions/setup-go@v7
+ with:
+ go-version-file: go.mod
+ cache: false
- name: Setup Pages
id: pages
uses: actions/configure-pages@v6
diff --git a/go.mod b/go.mod
new file mode 100644
index 0000000..e9049c7
--- /dev/null
+++ b/go.mod
@@ -0,0 +1,5 @@
+module github.com/go-webengine/go-webengine.github.io
+
+go 1.27.3
+
+require github.com/go-fleettools/landingkit v0.6.0
diff --git a/go.sum b/go.sum
new file mode 100644
index 0000000..44b5185
--- /dev/null
+++ b/go.sum
@@ -0,0 +1,2 @@
+github.com/go-fleettools/landingkit v0.6.0 h1:lIlazNZ3xTWDSti/16Uo+aSUOFPhVniQaEnILbQmJuE=
+github.com/go-fleettools/landingkit v0.6.0/go.mod h1:gBpbziqFcmcjtNknPjy5+AAzGZ5L+pPr9mIJZHpDlZc=
diff --git a/hugo.toml b/hugo.toml
index a01bf8b..94b3498 100644
--- a/hugo.toml
+++ b/hugo.toml
@@ -2,6 +2,11 @@ baseURL = "https://go-webengine.github.io/"
title = "go-webengine"
disableKinds = ["taxonomy", "term", "RSS", "sitemap", "404"]
+# The design comes from the landing kit, a Hugo module pinned in go.mod.
+[module]
+ [[module.imports]]
+ path = "github.com/go-fleettools/landingkit"
+
[markup.goldmark.renderer]
unsafe = true
@@ -50,3 +55,24 @@ disableKinds = ["taxonomy", "term", "RSS", "sitemap", "404"]
title = "Remaining levers"
state = "planned"
text = "Closing fidelity residuals (list markers, icon fonts, conic-gradient/filter/mask, SVG filters) and the perf gap on large computed pages. Diminishing returns — mean SSIM ≈ 0.69, example.com at 0.954."
+
+[params.brand]
+# Generated by go-fleettools/landingkit from static/img/logo.svg: the colours are
+# READ from the logo's gradient, never chosen. Do not add other keys:
+# neutrals (backgrounds, surfaces, greys) belong to the shared sheet.
+# Contrast: base on white 4.88:1, bright on the dark background 9.94:1.
+ base = "#0079a8"
+ deep = "#004a66"
+ bright = "#22cce2"
+ shadow = "rgba(0,121,168,.7)"
+ glow = "rgba(0,121,168,.6)"
+ wash = "rgba(0,121,168,.10)"
+ washDeep = "rgba(0,74,102,.06)"
+ chipBg = "#e4f9fc"
+ chipBorder = "#bdf0f6"
+ chipFg = "#004a66"
+ chipBgDark = "rgba(34,204,226,.14)"
+ chipBorderDark = "rgba(34,204,226,.32)"
+ chipFgDark = "#85e3ef"
+ statsEnd = "#caf3f8"
+ bandText = "#dcf7fa"
diff --git a/kit.go b/kit.go
new file mode 100644
index 0000000..72ac4fb
--- /dev/null
+++ b/kit.go
@@ -0,0 +1,9 @@
+//go:build tools
+
+// This file never builds. A Hugo site has no Go code, so `go mod tidy` --
+// which Renovate runs after every bump -- would find nothing that uses
+// github.com/go-fleettools/landingkit and delete its requirement from go.mod.
+// Importing it here keeps it. See the landingkit README.
+package site
+
+import _ "github.com/go-fleettools/landingkit"
diff --git a/layouts/index.html b/layouts/index.html
index 55df9d6..0045e68 100644
--- a/layouts/index.html
+++ b/layouts/index.html
@@ -3,119 +3,68 @@
-{{/* Dark Reader repaints pages that already draw their own dark theme, as this one does: ask it to stand aside. */}}
-
{{ .Site.Title }} — pure-Go headless web engine
+
+{{ partial "styles.html" . }}
+{{/* The template's own rules for what holds, kept for it alone (class legacy),
+ its colours read from the kit's tokens. Written by landingmigrate. */}}
-
-
-
-
-
-
-
Modern "render a web page" tooling almost always means shipping a whole
browser — Chromium via CDP, a WebView, cgo bindings. go-webengine renders in
pure Go. It fetches the page, builds an owned DOM over
@@ -159,7 +108,7 @@
-
+ {{ if not (partial "mantra-on.html" $) }}{{ end }}
{{ end }}
@@ -180,22 +129,10 @@
Phase {{ .n }} · {{ .title }}{{ .sta
64-bit targets. The pure-logic packages (cascade, line-breaker, box metrics, DOM) are
asserted at exact geometry behind a ratchet coverage gate; a committed golden PNG covers the
offline paint path. Prior pure-Go browser work (opossum / mycel) was studied but not built
- on — its layout core is stub-quality; see the survey. BSD-3-Clause throughout.
-
+ on — its layout core is stub-quality; see the survey. {{ if not (partial "mantra-on.html" $) }}BSD-3-Clause throughout.{{ end }}
+
{{ with .Site.Params.repos }}{{ range first 6 . }}{{ with or .pkg (strings.TrimPrefix "https://" (.url | default "")) (printf "github.com/go-webengine/%s" .name) }}$ go get {{ . }}@latest
+{{ end }}{{ end }}{{ else }}$ go get github.com/go-webengine/engine@latest
+$ go get github.com/go-webengine/browserproxy@latest
+{{ end }}
+
\ No newline at end of file
diff --git a/layouts/partials/icons/OCTICONS-LICENSE b/layouts/partials/icons/OCTICONS-LICENSE
deleted file mode 100644
index aa1fa80..0000000
--- a/layouts/partials/icons/OCTICONS-LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2026 GitHub Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/layouts/partials/icons/book.html b/layouts/partials/icons/book.html
deleted file mode 100644
index cf1e882..0000000
--- a/layouts/partials/icons/book.html
+++ /dev/null
@@ -1,5 +0,0 @@
-{{- /* Octicons "book" (16 px), primer/octicons @primer/octicons-react@19.40.0, copied verbatim, MIT,
- (c) GitHub Inc.: the licence is OCTICONS-LICENSE beside this file.
- currentColor follows the button in light and dark; aria-hidden, since
- the button's text already says where it leads. */ -}}
-
\ No newline at end of file
diff --git a/layouts/partials/icons/mark-github.html b/layouts/partials/icons/mark-github.html
deleted file mode 100644
index 17fc355..0000000
--- a/layouts/partials/icons/mark-github.html
+++ /dev/null
@@ -1,5 +0,0 @@
-{{- /* Octicons "mark-github" (16 px), primer/octicons @primer/octicons-react@19.40.0, copied verbatim, MIT,
- (c) GitHub Inc.: the licence is OCTICONS-LICENSE beside this file.
- currentColor follows the button in light and dark; aria-hidden, since
- the button's text already says where it leads. */ -}}
-
\ No newline at end of file