Landing page readability improvements.zip
Docs site: adopt the calm theme (landing + internal pages)
Labels: design, docs-site
Attachments: drag design_handoff_docs_theme.zip into this issue before submitting — it contains README.md (the full spec), LiveTemplate Landing.dc.html, LiveTemplate Docs Pages.dc.html and support.js.
Context
The landing page is hard to read end to end: the same greeting demo repeats eight times, each
with two stacked code blocks and a wire-frame readout, and there is no wayfinding. The internal
docs pages are styled separately, so the site doesn't read as one thing.
A redesign exists as HTML design references (attached). This issue is to implement it in this
repo.
These are design references, not code to copy. The implementation is tinkerdown config +
CSS. Internal pages are markdown in content/ rendered by tinkerdown's clean theme, so
almost none of this is per-page HTML.
Scope
Files expected to change:
content/tinkerdown.yaml — styling block (primary_color, font, site_css, custom_css)
content/assets/brand.css — token custom properties + @font-face
content/assets/docs.css — new, the docs shell; append to styling.site_css
content/assets/landing.css — currently 31KB of emerald gradients; expect it to shrink a lot
content/index.md — landing copy was rewritten; lift the strings verbatim from the attached
landing design
content/assets/ — vendor the gopher SVG (see Assets)
No markdown content outside content/index.md should change.
Tasks
Three archetypes cover every page
- A — docs article (
/getting-started/introduction and most pages): 236px sidebar /
fluid article (max 720px) / 190px sticky TOC, gap 40px. Breadcrumb, h1, lede, h2 sections
each preceded by a top rule, prev-next cards, "Edit this page on GitHub" using source_path
from front matter.
- B — section index (
/recipes/, /reference/, /guides/): same shell without the TOC.
Grouped 2-column link lists — title left, short gloss right, hairline rules — replacing the
current long bulleted lists.
- C — reference entry (
/reference/api and friends): 1px top rule per item, mono h3 name +
category chip, signature code block, prose, then a 130px/1fr definition grid for params and
returns.
Hard constraints
- Code-column grids must use
minmax(0,1fr), not 1fr. With 1fr, long monospace lines
set the track's min-content width and the whole page scrolls sideways instead of the <pre>
scrolling. This was a real defect during design.
- Any text at or below 13px uses
#6B6862 or darker. The muted greys were failing
contrast at 12px; do not lighten them back.
- No shadows, no transforms, no scroll animations, no gradients. Hover states change color
and border only. The point of the redesign is that nothing moves unless the app is updating.
- Go template syntax in code samples must render literally.
{{lvtClientScriptURL}},
{{.Name}}, {{if .lvt.Pending}} etc. are content, not template calls.
Decisions already made
Accent is #2F5D8A and the body font is IBM Plex Sans. Both are settled — implement them as
written rather than re-opening them.
Acceptance
document.documentElement.scrollWidth === clientWidth at 924px and 1440px on the landing and
on all three archetypes; <pre> blocks scroll internally
- No text below 11.5px; nothing at ≤13px lighter than
#6B6862
e2e/responsive_test.go, e2e/docs_ia_test.go, e2e/breadcrumb_test.go pass unchanged —
they assert on the docs shell and will catch structural drift
- Landing renders every Go template sample literally
- Gopher is served from
content/assets/, not hotlinked
For the implementing session
Read README.md from the attachment first — it has the exact token table, type scale, layout
measurements, interaction rules and responsive behavior. Open the two .dc.html files in a
browser (they need support.js beside them) to see the intended result. Where the clean theme's
own markup makes an exact match awkward, keep the theme's structure and match the tokens.
The archetype pages contain sample content transcribed from
content/getting-started/introduction.md, content/recipes/index.md and
content/reference/api.md @ v0.23.0. It is there to show layout — render each page's real
markdown, don't reproduce the samples.
Landing page readability improvements.zip
Docs site: adopt the calm theme (landing + internal pages)
Labels: design, docs-site
Attachments: drag
design_handoff_docs_theme.zipinto this issue before submitting — it containsREADME.md(the full spec),LiveTemplate Landing.dc.html,LiveTemplate Docs Pages.dc.htmlandsupport.js.Context
The landing page is hard to read end to end: the same greeting demo repeats eight times, each
with two stacked code blocks and a wire-frame readout, and there is no wayfinding. The internal
docs pages are styled separately, so the site doesn't read as one thing.
A redesign exists as HTML design references (attached). This issue is to implement it in this
repo.
These are design references, not code to copy. The implementation is tinkerdown config +
CSS. Internal pages are markdown in
content/rendered by tinkerdown'scleantheme, soalmost none of this is per-page HTML.
Scope
Files expected to change:
content/tinkerdown.yaml—stylingblock (primary_color,font,site_css,custom_css)content/assets/brand.css— token custom properties +@font-facecontent/assets/docs.css— new, the docs shell; append tostyling.site_csscontent/assets/landing.css— currently 31KB of emerald gradients; expect it to shrink a lotcontent/index.md— landing copy was rewritten; lift the strings verbatim from the attachedlanding design
content/assets/— vendor the gopher SVG (see Assets)No markdown content outside
content/index.mdshould change.Tasks
brand.css(full table inREADME.md)styling.primary_color: "#2F5D8A"(replaces emerald#047857). Use it for links,active nav and focus only — nothing else on the page is tinted
plexsans-400/500/600.woff2undercontent/assets/fonts/, add matching@font-facerules tobrand.css, setstyling.font: "IBM Plex Sans", and drop the Inter faces (CSP isfont-src 'self')does not depend on it, and JetBrains Mono is already shipping
content/assets/docs.cssimplementing the three archetypeslanding.cssagainst the landing design referencecontent/index.mdgopher-front.svgintocontent/assets/and keep the CC BY 3.0 footer attributionmake test/ e2e greenThree archetypes cover every page
/getting-started/introductionand most pages): 236px sidebar /fluid article (max 720px) / 190px sticky TOC, gap 40px. Breadcrumb, h1, lede, h2 sections
each preceded by a top rule, prev-next cards, "Edit this page on GitHub" using
source_pathfrom front matter.
/recipes/,/reference/,/guides/): same shell without the TOC.Grouped 2-column link lists — title left, short gloss right, hairline rules — replacing the
current long bulleted lists.
/reference/apiand friends): 1px top rule per item, mono h3 name +category chip, signature code block, prose, then a 130px/1fr definition grid for params and
returns.
Hard constraints
minmax(0,1fr), not1fr. With1fr, long monospace linesset the track's min-content width and the whole page scrolls sideways instead of the
<pre>scrolling. This was a real defect during design.
#6B6862or darker. The muted greys were failingcontrast at 12px; do not lighten them back.
and border only. The point of the redesign is that nothing moves unless the app is updating.
{{lvtClientScriptURL}},{{.Name}},{{if .lvt.Pending}}etc. are content, not template calls.Decisions already made
Accent is
#2F5D8Aand the body font is IBM Plex Sans. Both are settled — implement them aswritten rather than re-opening them.
Acceptance
document.documentElement.scrollWidth === clientWidthat 924px and 1440px on the landing andon all three archetypes;
<pre>blocks scroll internally#6B6862e2e/responsive_test.go,e2e/docs_ia_test.go,e2e/breadcrumb_test.gopass unchanged —they assert on the docs shell and will catch structural drift
content/assets/, not hotlinkedFor the implementing session
Read
README.mdfrom the attachment first — it has the exact token table, type scale, layoutmeasurements, interaction rules and responsive behavior. Open the two
.dc.htmlfiles in abrowser (they need
support.jsbeside them) to see the intended result. Where the clean theme'sown markup makes an exact match awkward, keep the theme's structure and match the tokens.
The archetype pages contain sample content transcribed from
content/getting-started/introduction.md,content/recipes/index.mdandcontent/reference/api.md@ v0.23.0. It is there to show layout — render each page's realmarkdown, don't reproduce the samples.