From 436e8ca0662041ec2e53de9c8123a45ad7ac442e Mon Sep 17 00:00:00 2001 From: ZDDC Date: Mon, 11 May 2026 11:17:24 -0500 Subject: [PATCH] feat(landing): standalone-tool strip on the site picker MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Above the Groups / Projects cards, a horizontal strip of one link per tool — each pointing at the latest stable single-file build on the canonical release host (zddc.varasys.io/releases/_stable.html). Useful for "try this tool" / offline use without first picking a project. Seven links (Archive, Transmittal, Classifier, Markdown, Browse, Form, Tables). Landing itself is omitted from the strip — clicking landing from landing is a no-op. Each card has the tool name in the display serif and a short sans hint underneath. Wraps on narrow widths instead of scrolling horizontally; sits inside pickerView so it auto-hides on the per-project landing view. Co-Authored-By: Claude Opus 4.7 (1M context) --- landing/css/landing.css | 45 +++++++++++++++++++++++++++++++ landing/template.html | 42 +++++++++++++++++++++++++++++ zddc/internal/handler/tables.html | 2 +- 3 files changed, 88 insertions(+), 1 deletion(-) diff --git a/landing/css/landing.css b/landing/css/landing.css index 968bb73..25b7a14 100644 --- a/landing/css/landing.css +++ b/landing/css/landing.css @@ -13,6 +13,51 @@ body { padding: 0 16px 64px; } +/* Standalone-tool strip. Sits above the hero on the picker view. Each + link is a small card with the tool name (display serif) and a short + one-line hint (sans, muted). Hover lifts the card slightly to signal + it's clickable; the strip wraps onto multiple lines on narrow widths + rather than scrolling horizontally. */ +.tool-strip { + display: flex; + flex-wrap: wrap; + gap: 0.5rem; + margin: 0 0 24px; + padding: 0 4px; +} +.tool-strip__link { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 2px; + padding: 0.5rem 0.85rem; + background: var(--bg); + border: 1px solid var(--border); + border-radius: var(--radius); + color: var(--text); + text-decoration: none; + transition: transform 0.12s, border-color 0.12s, box-shadow 0.12s; + min-width: 110px; +} +.tool-strip__link:hover { + border-color: var(--primary); + transform: translateY(-1px); + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06); + text-decoration: none; +} +.tool-strip__name { + font-family: var(--font-display); + font-weight: 600; + font-size: 1rem; + line-height: 1.15; + color: var(--text); +} +.tool-strip__hint { + font-size: 0.78rem; + color: var(--text-muted); + line-height: 1.2; +} + /* Welcome / hero */ .landing-hero { margin: 0 0 24px; diff --git a/landing/template.html b/landing/template.html index 3e7a588..e8e1436 100644 --- a/landing/template.html +++ b/landing/template.html @@ -34,6 +34,48 @@
+ + +

Welcome to the ZDDC Archive

diff --git a/zddc/internal/handler/tables.html b/zddc/internal/handler/tables.html index dad217b..3d77e11 100644 --- a/zddc/internal/handler/tables.html +++ b/zddc/internal/handler/tables.html @@ -1300,7 +1300,7 @@ body.help-open .app-header {
ZDDC Table - v0.0.17-alpha · 2026-05-11 01:11:21 · 1f03631-dirty + v0.0.17-alpha · 2026-05-11 16:16:57 · 6d72f5c-dirty