Skip to content

Commit fa5fa2b

Browse files
code5717cursoragent
andcommitted
Redesign docs site with Terminal theme and Hallmark design system.
Replace the generic panel layout with an Index-First home, Long Document docs pages, terminal nav, TOC, and copy-to-clipboard while keeping the existing markdown sync and GitHub Pages deployment. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 7f9f7e1 commit fa5fa2b

20 files changed

Lines changed: 1409 additions & 402 deletions

.hallmark/log.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[
2+
{
3+
"date": "2026-05-28",
4+
"scope": "app",
5+
"macrostructure": "Index-First + Long Document",
6+
"theme": "Terminal",
7+
"theme_axes": "dark / mono / phosphor-green",
8+
"nav": "N8 Terminal command",
9+
"footer": "Ft4 Dense typographic",
10+
"enrichment": "none",
11+
"brief": "Arraylist docs site — Hallmark full redesign from scratch"
12+
}
13+
]

.hallmark/preflight.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"scannedAt": "2026-05-28",
3+
"framework": "Vite 7 + React 19 + React Router 7",
4+
"styling": "Tailwind 3 + Hallmark tokens.css",
5+
"fonts": "JetBrains Mono via @fontsource/jetbrains-mono",
6+
"motion": "motion-cut — micro only on buttons/copy",
7+
"spacing": "4pt Hallmark scale in tokens.css",
8+
"preserved": [],
9+
"introduced": ["design.md", "Terminal theme", "Index-First home", "Long Document docs", "N8 nav", "Ft4 footer"]
10+
}

design.md

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
# Design — Arraylist
2+
3+
A locked design system for this app. Every page redesign reads this file before
4+
emitting code. Do not regenerate per page — extend or amend this file when the
5+
system needs to grow.
6+
7+
## Genre
8+
9+
editorial
10+
11+
## Macrostructure family
12+
13+
- Home / index pages: **Index-First** — categorized link rows, hairline dividers, no hero cards
14+
- Content / docs pages: **Long Document** — single prose column (~65ch), inline section heads, side doc rail on lg+
15+
16+
## Theme
17+
18+
- `--color-paper` oklch(14% 0.02 260)
19+
- `--color-paper-2` oklch(17% 0.025 260)
20+
- `--color-ink` oklch(88% 0.02 145)
21+
- `--color-ink-2` oklch(62% 0.04 145)
22+
- `--color-rule` oklch(26% 0.02 260)
23+
- `--color-accent` oklch(78% 0.19 145)
24+
- `--color-focus` oklch(78% 0.19 145)
25+
26+
## Typography
27+
28+
- Display: JetBrains Mono, weight 500, style normal
29+
- Body: JetBrains Mono, weight 400
30+
- Mono: JetBrains Mono, weight 400
31+
- Display tracking: -0.02em
32+
- Type scale anchor: `--text-display` = clamp(1.75rem, 3vw + 1rem, 2.75rem)
33+
34+
## Spacing
35+
36+
4-point named scale. Values live in `site/src/tokens.css`. Pages must use named
37+
tokens (`var(--space-md)`), never raw values.
38+
39+
## Motion
40+
41+
- Easings: cubic-bezier(0.16, 1, 0.3, 1) named `--ease-out`
42+
- Reveal pattern: none on pages; micro-interactions on buttons and copy only
43+
- Reduced-motion fallback: opacity-only, ≤ 150 ms
44+
45+
## Microinteractions stance
46+
47+
- Silent success on copy; no toasts
48+
- Hover delay 0 ms on nav links; focus ring instant
49+
- Copy button fades in on hover (desktop) or stays visible (touch)
50+
51+
## CTA voice
52+
53+
- Primary CTA: typographic link with arrow (`Quickstart →`), accent colour, 1px underline on hover
54+
- Secondary CTA: muted ink-2 link, same arrow pattern
55+
56+
## Navigation & footer
57+
58+
- Nav: **N8 Terminal command**`> arraylist --home --docs --github`
59+
- Footer: **Ft4 Dense typographic** — colophon block in small mono
60+
61+
## Per-page allowances
62+
63+
- Home: Index-First link index only; no enrichment
64+
- Docs: Long Document prose; typography-only; no hero enrichment
65+
- 404: minimal prose + typographic links
66+
67+
## What pages MUST share
68+
69+
- Terminal dark palette and phosphor accent
70+
- JetBrains Mono across display, body, mono
71+
- N8 nav and Ft4 footer
72+
- Typographic link CTAs (no filled button blocks)
73+
- Hairline `--color-rule` dividers
74+
75+
## What pages MAY differ on
76+
77+
- Home uses full-width index rows; docs use 65ch prose + side rail
78+
- Docs page adds TOC and prev/next navigation
79+
80+
## Exports
81+
82+
### tokens.css
83+
84+
See `site/src/tokens.css`.
85+
86+
### Tailwind v4 `@theme`
87+
88+
```css
89+
@theme {
90+
--color-paper: oklch(14% 0.02 260);
91+
--color-ink: oklch(88% 0.02 145);
92+
--color-accent: oklch(78% 0.19 145);
93+
--font-display: "JetBrains Mono", monospace;
94+
--font-body: "JetBrains Mono", monospace;
95+
--spacing-md: 1.5rem;
96+
--text-md: 1rem;
97+
--ease-out: cubic-bezier(0.16, 1, 0.3, 1);
98+
}
99+
```
100+
101+
### DTCG tokens.json
102+
103+
```json
104+
{
105+
"color": {
106+
"paper": { "$value": "oklch(14% 0.02 260)", "$type": "color" },
107+
"ink": { "$value": "oklch(88% 0.02 145)", "$type": "color" },
108+
"accent": { "$value": "oklch(78% 0.19 145)", "$type": "color" }
109+
},
110+
"font": {
111+
"display": { "$value": "JetBrains Mono", "$type": "fontFamily" },
112+
"body": { "$value": "JetBrains Mono", "$type": "fontFamily" }
113+
},
114+
"space": {
115+
"md": { "$value": "1.5rem", "$type": "dimension" }
116+
}
117+
}
118+
```
119+
120+
### shadcn/ui CSS variables
121+
122+
```css
123+
:root {
124+
--background: 14% 0.02 260;
125+
--foreground: 88% 0.02 145;
126+
--primary: 78% 0.19 145;
127+
--primary-foreground: 12% 0.03 145;
128+
--muted: 26% 0.02 260;
129+
--muted-foreground: 62% 0.04 145;
130+
--border: 26% 0.02 260;
131+
--input: 26% 0.02 260;
132+
--ring: 78% 0.19 145;
133+
--radius: 0.375rem;
134+
}
135+
```

site/index.html

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,21 @@
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8" />
5-
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
5+
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
66
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7-
<title>site</title>
7+
<title>Arraylist — Dynamic Arrays for C</title>
8+
<meta
9+
name="description"
10+
content="Header-only dynamic array macros for C with checked APIs, explicit ownership, and strict-C portability."
11+
/>
12+
<meta property="og:title" content="Arraylist — Dynamic Arrays for C" />
13+
<meta
14+
property="og:description"
15+
content="Header-only dynamic array macros for C with checked APIs, explicit ownership, and strict-C portability."
16+
/>
17+
<meta property="og:type" content="website" />
18+
<meta property="og:url" content="https://airbus5717.github.io/arraylist/" />
19+
<meta name="theme-color" content="#0d1117" />
820
</head>
921
<body>
1022
<div id="root"></div>

site/package-lock.json

Lines changed: 55 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

site/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@
1111
"preview": "vite preview"
1212
},
1313
"dependencies": {
14-
"@fontsource/ibm-plex-mono": "^5.2.7",
15-
"@fontsource/space-grotesk": "^5.2.10",
14+
"@fontsource/jetbrains-mono": "^5.2.8",
1615
"react": "^19.2.0",
1716
"react-dom": "^19.2.0",
1817
"react-markdown": "^10.1.0",
1918
"react-router-dom": "^7.13.1",
2019
"rehype-highlight": "^7.0.2",
20+
"rehype-slug": "^6.0.0",
2121
"remark-gfm": "^4.0.1"
2222
},
2323
"devDependencies": {

site/public/favicon.svg

Lines changed: 4 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)