From 107b59afb40d02678e9d7df641adb0ceedeef764 Mon Sep 17 00:00:00 2001 From: Hare Date: Sun, 11 Oct 2026 15:25:15 +0900 Subject: [PATCH] fix: replace shallow landing fixture with a practical guide --- site/src/components/Landing.astro | 60 ++-- site/src/components/TreeGlyphs.astro | 9 + site/src/components/TreePrefix.astro | 14 +- site/src/lib/landing-content.ts | 480 +++++++++++++++++++++++++++ site/src/lib/landing-demo.ts | 70 ++-- site/src/scripts/landing.ts | 112 +++++-- site/src/styles/landing.css | 42 ++- site/tests/browser/fonts.spec.ts | 25 +- site/tests/browser/landing.spec.ts | 346 ++++++++++++++++--- site/tests/landing-content.test.mjs | 109 ++++++ site/tests/landing-demo.test.mjs | 49 +++ 11 files changed, 1180 insertions(+), 136 deletions(-) create mode 100644 site/src/components/TreeGlyphs.astro create mode 100644 site/src/lib/landing-content.ts create mode 100644 site/tests/landing-content.test.mjs create mode 100644 site/tests/landing-demo.test.mjs diff --git a/site/src/components/Landing.astro b/site/src/components/Landing.astro index f12a95f..f86f475 100644 --- a/site/src/components/Landing.astro +++ b/site/src/components/Landing.astro @@ -1,13 +1,18 @@ --- -import { objects, initialObject, childrenOf, treePrefix, objectSignature, interfaceSignature } from '../lib/landing-demo'; -import { href } from '../lib/book'; +import { objects, initialObject, childrenOf, treePrefix, objectSignature, interfaceSignature, interfaceReference, initialCollapsedPaths, initialVisibleObjects } from '../lib/landing-demo'; +import { href, bookHref } from '../lib/book'; import '../styles/landing.css'; import BoxFrame from './BoxFrame.astro'; import TreePrefix from './TreePrefix.astro'; +import TreeGlyphs from './TreeGlyphs.astro'; import { trunkPath, stemWidth, branchY, branchThickness } from '../lib/landing-glyphs.mjs'; -const trunkLength = (objects.findLastIndex((object) => object.depth === 2) - 1) * 24 + branchY + branchThickness / 2; +const initialPaths = new Set(initialVisibleObjects.map((object) => object.path)); +const collapsed = new Set(initialCollapsedPaths); +const articles = objects.filter((object) => object.body); +const trunkLength = (initialVisibleObjects.findLastIndex((object) => object.depth === 2) - 1) * 24 + branchY + branchThickness / 2; --- -
+
+