Bilingual (EN/中文) static site for the AI Doc knowledge base, rendered in the Anthropic design vocabulary (warm cream background, Poppins + Lora typography, orange accent, editorial grids, hand-drawn SVG diagrams).
Live site when enabled: https://<your-user>.github.io/<repo-name>/
docs/
├── index.html # Landing page with EN / 中文 picker
├── en/ # English entry point
│ ├── index.html # Topic overview + architecture diagram
│ ├── <category>.html # One per topic (5 total)
│ ├── open-source-models.html
│ └── articles/<slug>.html # Rendered from repo-root .md files
├── zh/ # Mirror of en/ in Chinese chrome
├── assets/
│ ├── fonts.css # Google Fonts (Poppins + Lora + JetBrains Mono)
│ ├── anthropic.css # Anthropic design system (from sky-skills)
│ └── site.css # Site-specific additions
├── scripts/
│ └── build.py # Regenerates all HTML from .md + manifest
└── .nojekyll # Tells GitHub Pages to serve files as-is
Papers explained with animations, interactive diagrams and source-tagged
plain-language copy (each key statement is marked 原文 / 解读 / 示意, and every
原文 quote is checked against a verbatim copy of the source). Done so far:
autoresearch (docs/zh/explain/autoresearch.html): 13 animated scenes,
a program.md walk-through and a 3-question quiz. Each paper gets its own
visual style. Design: docs/superpowers/specs/2026-10-08-paper-explainers-design.md;
how to make one: .claude/skills/paper-explainer/SKILL.md; setup and daily
commands: MAINTENANCE.md.
explain-src/<slug>/zh.json # page copy: title, chapters, scene order
explain-src/<slug>/scenes/<id>.json # one scene's copy, controls, transcript and claims
explain-src/<slug>/sources/ # verbatim copies of the original files the claims quote
explain-src/<slug>/data/ # numbers read off the paper's figures (with error)
explain-src/<slug>/illustrations/ # prompts, model and date for every generated drawing
docs/assets/theme.css # theme (light + dark)
docs/assets/explain/ # scene engine (timeline.js, engine.js, draw.js, explain.css)
docs/assets/explain/<slug>/ # per-scene code: <id>-model.js (pure stateAt(t)) + <id>.js, drawings
docs/scripts/explain_build.py # json -> docs/zh/explain/<slug>.html
docs/scripts/home_v2.py # new homepage preview -> docs/sample/index.html
tools/export_scene.mjs # scenes -> GIF / MP4 for use outside the site
tools/net.mjs # headless Chromium behind a proxy: proxy + web-font cache (tools/.font-cache)
tools/check_links.py # every link inside the site resolves to a published file and anchor
docs/assets/articles/ # copies of the images the articles show (build.py writes them)
explain-src/<slug>/reel.json # narrated reel: shots, narration (subtitle + what is read aloud)
tools/reel/ # narrated reel builder: edge-tts voice, music and effects made in numpy (build.py)
Build and check everything: bash tools/check_all.sh (must end with
ALL CHECKS PASSED; a SKIP is not a pass).
Whenever you add or update an article:
# from repo root
python3 docs/scripts/build.pyThe script:
- Reads the manifest at the top of
build.py(CATEGORIESlist) — update this when adding a new paper. - Reads each referenced
.mdfile under the repo root. - Converts Markdown → styled HTML using
python-markdown. - Writes category index pages, article pages, landing, and models directory pages for both languages.
Requires once — a Python environment with the pinned packages (another
markdown version renders the original pages differently) and, for browser
tests and exports, Playwright under tools/. Full setup on a new machine:
MAINTENANCE.md §2.
Before publishing, run the Anthropic-design structural verifier that ships with
the anthropic-design skill:
find docs -name "*.html" | xargs python3 \
~/linux-kernel/github/sky-skills/skills/anthropic-design/scripts/verify.pyA clean pass (anthropic-design verify: OK — N file(s) passed) means:
- No
[placeholder]/[hero]/[abstract illustration]literals left in. .anth-containerbase class always paired with--wide/--narrowmodifiers.- Every
anth-*class referenced actually exists inanthropic.css(no ghost classes). <svg>tags balanced, doctype + viewport present.
# from repo root
python3 -m http.server 8080 --directory docs
# open http://localhost:8080- Push to GitHub.
- Repo settings → Pages → Source: Deploy from a branch.
- Branch:
main(or whichever you use), folder:/docs. - The
.nojekyllfile atdocs/.nojekylldisables Jekyll processing so the static HTML is served as-is.
- Write the article
.mdunder the correct topic folder at repo root (e.g.self-improving-agents/my-new-paper.md), following the bilingual format used by existing entries. - Update the top-level
README.mdtables (EN + 中文). - Open
docs/scripts/build.py, find the matchingCategory, and append aPaper(slug="...", md_path="...", ...)entry. - Run
python3 docs/scripts/build.py. - Run the verifier from the Quality gates section.
- Commit the updated
docs/directory along with the new.md.
The page chrome, components, colors, typography, spacing, and diagram style all
come from the anthropic-design skill at
~/linux-kernel/github/sky-skills/skills/anthropic-design. Key references:
references/design-tokens.md— all CSS variablesreferences/layout-patterns.md— container selection tablereferences/components.md— 28 component patternsreferences/dos-and-donts.md— publish-time checklist
Site-specific additions (topic cards, paper rows, language toggle, article body
typography) live in docs/assets/site.css as minimal layers above the base.