diff --git a/.github/workflows/deploy-pages.yml b/.github/workflows/deploy-pages.yml
index 27aa13f..8d03d4d 100644
--- a/.github/workflows/deploy-pages.yml
+++ b/.github/workflows/deploy-pages.yml
@@ -29,6 +29,12 @@ jobs:
- name: Checkout
uses: actions/checkout@v7
+ # 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: Set up Hugo
uses: peaceiris/actions-hugo@v3
with:
diff --git a/README.md b/README.md
index 09fff2c..c9e62df 100644
--- a/README.md
+++ b/README.md
@@ -18,3 +18,12 @@ to GitHub Pages on every push to `main`.
```bash
hugo server # http://localhost:1313
```
+
+## The design is not here
+
+It comes from the shared Hugo module
+[`go-fleettools/landingkit`](https://github.com/go-fleettools/landingkit),
+pinned in `go.mod` (Renovate bumps it); `kit.go` keeps `go mod tidy` from
+deleting that requirement. `[params.brand]` in `hugo.toml` is read from the logo by
+`landingkit brand`. A file under `layouts/partials/` with the name of one of the
+kit's would silently override it.
diff --git a/go.mod b/go.mod
new file mode 100644
index 0000000..3d8eccd
--- /dev/null
+++ b/go.mod
@@ -0,0 +1,5 @@
+module github.com/go-ruby-sqlite3/go-ruby-sqlite3.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 ee388eb..92128f2 100644
--- a/hugo.toml
+++ b/hugo.toml
@@ -2,6 +2,11 @@ baseURL = "https://go-ruby-sqlite3.github.io/"
title = "go-ruby-sqlite3"
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
@@ -24,3 +29,24 @@ disableKinds = ["taxonomy", "term", "RSS", "sitemap", "404"]
name = "100% coverage · 6 arches"
status = "ready"
blurb = "100% test coverage is the CI gate, `gofmt` + `go vet` clean, green across the six 64-bit Go targets (amd64, arm64, riscv64, loong64, ppc64le, s390x — including the big-endian lane)."
+
+[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 10.02:1, bright on the dark background 4.00:1.
+ base = "#7f1d1d"
+ deep = "#4d1212"
+ bright = "#dc2626"
+ shadow = "rgba(127,29,29,.7)"
+ glow = "rgba(127,29,29,.6)"
+ wash = "rgba(127,29,29,.10)"
+ washDeep = "rgba(77,18,18,.06)"
+ chipBg = "#fbe5e5"
+ chipBorder = "#f4bebe"
+ chipFg = "#4d1212"
+ chipBgDark = "rgba(220,38,38,.14)"
+ chipBorderDark = "rgba(220,38,38,.32)"
+ chipFgDark = "#ec8888"
+ statsEnd = "#f7cbcb"
+ bandText = "#f9dcdc"
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 0b619e8..6306410 100644
--- a/layouts/index.html
+++ b/layouts/index.html
@@ -3,101 +3,63 @@
-{{/* Dark Reader repaints pages that already draw their own dark theme, as this one does: ask it to stand aside. */}}
-
{{ .Site.Title }} — a pure-Go reimplementation of Ruby's sqlite3, MRI-faithful, no cgo
+
+{{ 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. */}}
-
-
-
-
-
-
-
go-ruby-sqlite3
-
Pure-Go (CGO=0) MRI-faithful Ruby sqlite3
-
- pure Go · zero cgo
- Ruby sqlite3
- MRI-faithful
- rbgo-bindable
- differential oracle
- 100% coverage
- 6 arches
-
-
Pure-Go (CGO=0) MRI-faithful Ruby sqlite3. It is a pure-Go (no cgo) reimplementation of Ruby's sqlite3, mirroring its observable behaviour without any Ruby runtime. It is a standalone, reusable module — the backend bound into go-embedded-ruby by rbgo, the same pattern as go-ruby-yaml — differential-tested against reference Ruby, 100% coverage, CI green across 6 arches and 3 OSes.
@@ -112,20 +74,8 @@
{{ .name }} {{ .status }}
ready capability complete (exit criteria met, nothing material left)
A faithful pure-Go port of Ruby's sqlite3, cgo disabled, so it cross-compiles and embeds anywhere. Validated differentially against reference Ruby. It is a standalone, reusable module and the backend bound by rbgo into the sibling org github.com/go-embedded-ruby.
{{ with .Site.Params.repos }}{{ range first 6 . }}{{ with or .pkg (strings.TrimPrefix "https://" (.url | default "")) (printf "github.com/go-ruby-sqlite3/%s" .name) }}$ go get {{ . }}@latest
+{{ end }}{{ end }}{{ else }}$ go get github.com/go-ruby-sqlite3/sqlite3@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