Credits
This site is built from open-source work. Thank you to everyone who maintains it.
Code and fonts in this site
These build the pages or reach your browser.
- Astro 7.4.2 · MIT
Static site framework; builds every page. - @astrojs/mdx 8.1.1 · MIT
Lets the research pages place charts and diagrams inside their text. - d3-cloud 1.2.9 · BSD-3-Clause
Packs the homepage word cloud (about 4 KB gzipped, homepage only). - @astrojs/react 7.1.1 · MIT
React islands for the interactive portals (none on these pages yet). - React 19.3.1 · MIT
UI library for future interactive islands. - @astrojs/sitemap 3.7.4 · MIT
sitemap-index.xml. - @astrojs/rss 4.0.19 · MIT
Blog RSS feed. - Inter (Fontsource) 5.3.0 · OFL-1.1
Body and interface text. - Source Serif 4 (Fontsource) 5.3.1 · OFL-1.1
Headings. - IBM Plex Mono (Fontsource) 5.3.0 · OFL-1.1
Datasheet labels and code. - fast-xml-parser 5.11.2 · MIT
Reads the YouTube feed during the build. - sharp 0.35.5 · Apache-2.0
Image processing (through Astro) and the image-metadata check.
Tools that check the site
Used in development and in the build checks; none of it reaches your browser.
- TypeScript 6.0.3 · Apache-2.0
Type checking (strict). - @astrojs/check 0.9.12 · MIT
Type checks .astro files. - ESLint 10.13.0 · MIT
Linting, with typescript-eslint and eslint-plugin-astro. - eslint-plugin-jsx-a11y-x 0.2.0 · MIT
Accessibility lint rules for templates. - Prettier 3.9.10 · MIT
Formatting. - Vitest 5.0.5 · MIT
Unit tests and content checks. - Playwright 1.64.1 · Apache-2.0
End-to-end tests in a real browser. - axe-core for Playwright 4.14.0 · MPL-2.0
Automated accessibility checks. - yaml 2.9.1 · ISC
Reads content files in tests.
Loaded by the CS-UDT demo
The demo files load these from public services.
- MapLibre GL JS 3.6.2 · BSD-3-Clause
Map in the planner dashboard (loaded from unpkg.com). - OpenStreetMap tiles · ODbL (data), © OpenStreetMap contributors
Base map in the planner dashboard. - QRCode.js 1.0.0 · MIT
Offline QR relay in the citizen client (loaded from cdnjs).
How this site was built
A short account for now; it will grow as the interactive parts arrive.
- One source of truth. Every number, date, title and coauthor on these pages comes from a single facts file in the repository. Any fact not yet confirmed stays off the site.
- Every change is reviewed. Changes arrive as pull requests with screenshots; I read each one and merge it, and merging publishes the site.
- Built with Claude Code. Anthropic’s Claude Code wrote the code in cloud sessions, working from written instructions and a decision log in the repository.
- Checked automatically. Before each deploy, GitHub Actions runs type checks, linting, unit and content tests, and a privacy scan of the repository and the built pages.
- Open source first. Components come from maintained open-source projects where one fits, credited above with their licenses.
The source is public: nanjierao/nanjierao.github.io.