Skip to content

Commit c970bef

Browse files
committed
Improve docs site design and language review
1 parent 4f28bf9 commit c970bef

38 files changed

Lines changed: 2435 additions & 1183 deletions

.github/workflows/deploy-docs.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ jobs:
4848
npm install --no-audit --no-fund
4949
fi
5050
51+
- name: Lint docs
52+
working-directory: site
53+
run: npm run lint -- --max-warnings=0
54+
5155
- name: Build docs
5256
working-directory: site
5357
run: npm run build

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,7 @@ examples/*.zig
1818
# Local agent configs/instructions
1919
.agents/
2020
.claude/
21+
.hermes/
22+
skills-lock.json
2123
AGENTS.md
2224
CLAUDE.md

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2626
- Rebuilt the home page around an image-led docs landing composition with a framed code hero, quick-start strip, feature bento, pipeline overview, and structured footer.
2727
- Normalized shared docs primitives (`PageHeader`, `SectionPanel`, `MetricTile`, code/table/callout styling) so content pages inherit the same minimalist visual system.
2828
- Added light, dark, and system theme support with a header theme toggle and detection for extension-driven dark mode so site styling does not stack awkwardly with tools like Dark Reader.
29+
- Revised the dark theme into a quieter terminal-brutalist direction, replaced remote placeholder imagery with a local generated hero asset, made the header search control functional, reduced marketing copy, and removed fake testimonial content.
30+
- Tightened example-card wrapping, search dialog semantics, shared scroll locking, and responsive home-section padding so compact layouts do not collide with panel borders.
31+
- Added a documentation 404 route and social preview metadata for a cleaner fallback and share surface.
2932

3033
- **Semantic Coverage Expansion**
3134
- Unskipped 9 previously skipped semantic tests across `test/test_semantic_generics.py` and `test/test_semantic_control_flow.py`.

LANGUAGE_SPEC_REVIEW.md

Lines changed: 539 additions & 0 deletions
Large diffs are not rendered by default.

site/README.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ npm run preview
2424

2525
```bash
2626
cd site
27-
npm run lint
27+
npm run lint -- --max-warnings=0
28+
npm run typecheck
29+
npm run build
2830
```
2931

3032
Repository-level docs style checks:
@@ -44,14 +46,27 @@ Primary shared UI primitives live in `site/src/components/`.
4446

4547
The current site direction is:
4648

47-
- warm monochrome, paper-toned surfaces
49+
- minimal terminal-brutalist dark mode with graphite surfaces, amber action color, and restrained cyan focus/info accents
4850
- editorial serif display type with a restrained sans body
4951
- 1px border discipline and flat panels
5052
- top navigation plus drawer-based full route navigation
51-
- image-led home page with framed media and minimal motion via reveal-on-scroll
53+
- image-led home page and social preview assets from `site/public/` plus source assets in `site/src/assets/`
54+
- concise, product-like copy with no fake testimonials
55+
- keyboard-accessible docs search overlay from the header search button and `/` shortcut
5256
- built-in `light` / `dark` / `system` theme modes with persistence
5357
- dark-extension detection to avoid double-dark styling when browser extensions inject their own theme layer
5458

59+
## Adding a Docs Page
60+
61+
When adding or renaming a page, update these pieces together:
62+
63+
- route registration in `site/src/App.tsx`
64+
- primary/sidebar navigation and `PAGE_META` in `site/src/content/navigation.ts`
65+
- section search entries for important anchors
66+
- footer links if the page is a major docs group
67+
- route-specific content with `SectionPanel` titles for stable anchors
68+
- `npm run lint -- --max-warnings=0`, `npm run typecheck`, and `npm run build`
69+
5570
## Deployment
5671

5772
GitHub Pages deploy runs from `.github/workflows/deploy-docs.yml` when docs-related files change on `main`/`master`.

site/index.html

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,25 @@
44
<meta charset="UTF-8" />
55
<link rel="icon" type="image/svg+xml" href="/a7-py/favicon.svg" />
66
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<meta name="darkreader-lock" />
8+
<meta name="color-scheme" content="light dark" />
9+
<link rel="preconnect" href="https://fonts.googleapis.com" />
10+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
11+
<link href="https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600;700&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&display=swap" rel="stylesheet" />
12+
<link rel="canonical" href="https://airbus5717.github.io/a7-py/" />
713
<title>A7 Programming Language</title>
814
<meta name="description" content="A7 is a statically-typed, procedural language with array programming capabilities, generics, and manual memory management. Compiles to Zig." />
15+
<meta property="og:title" content="A7 Programming Language" />
16+
<meta property="og:description" content="A small systems language with explicit control flow, clear diagnostics, and direct compiler output." />
17+
<meta property="og:type" content="website" />
18+
<meta property="og:url" content="https://airbus5717.github.io/a7-py/" />
19+
<meta property="og:site_name" content="A7 Docs" />
20+
<meta property="og:locale" content="en_US" />
21+
<meta property="og:image" content="https://airbus5717.github.io/a7-py/a7-terminal-hero.png" />
22+
<meta name="twitter:card" content="summary_large_image" />
23+
<meta name="twitter:title" content="A7 Programming Language" />
24+
<meta name="twitter:description" content="A small systems language with explicit control flow, clear diagnostics, and direct compiler output." />
25+
<meta name="twitter:image" content="https://airbus5717.github.io/a7-py/a7-terminal-hero.png" />
926
</head>
1027
<body>
1128
<div id="root"></div>

site/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
"dev": "vite",
88
"build": "tsc -b && vite build",
99
"lint": "eslint .",
10+
"typecheck": "tsc -b --pretty false",
11+
"check": "npm run lint -- --max-warnings=0 && npm run typecheck && npm run build",
1012
"preview": "vite preview"
1113
},
1214
"dependencies": {

site/public/404.html

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
1-
<!DOCTYPE html>
2-
<html>
1+
<!doctype html>
2+
<html lang="en">
33
<head>
4-
<meta charset="utf-8">
4+
<meta charset="utf-8" />
55
<title>A7 Docs</title>
6+
<meta name="viewport" content="width=device-width, initial-scale=1" />
67
<script>
7-
// SPA redirect for GitHub Pages
8-
// Redirects 404s back to index.html with the path as a query param
9-
var path = window.location.pathname;
10-
window.location.replace(
11-
window.location.origin + '/a7-py/' + '?p=' + encodeURIComponent(path)
12-
);
8+
;(function () {
9+
var base = '/a7-py'
10+
var path = window.location.pathname
11+
var route = path.indexOf(base) === 0 ? path.slice(base.length) : path
12+
route = route.replace(/\/index\.html$/, '') || '/'
13+
window.location.replace(base + '/#' + route + window.location.search + window.location.hash)
14+
})()
1315
</script>
1416
</head>
15-
<body></body>
17+
<body>
18+
<p><a href="/a7-py/#/">Open A7 docs</a></p>
19+
</body>
1620
</html>

site/public/a7-terminal-hero.png

1.81 MB
Loading

site/public/robots.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
User-agent: *
2+
Allow: /
3+
4+
Sitemap: https://airbus5717.github.io/a7-py/sitemap.xml

0 commit comments

Comments
 (0)