The landing site and static guide documentation for the Traces clubs hardware series. Built with SvelteKit 2 (Svelte 5) and Vite, fully prerendered at build time and deployed on Vercel.
| Route | What it is |
|---|---|
/ |
Landing page: hero, about, timeline, CTA, footer |
/workshops |
Card grid of every Traces workshop, First Traces featured |
/docs/... |
The guides themselves |
/docs, /first-traces |
Redirects to the first visible doc / the PCB Guide |
The docs are prerendered per file, and every doc route is declared up front via entries() in src/routes/docs/[...slug]/+page.server.js so hidden docs stay reachable.
npm install
npm run dev # start the dev server
npm run build # prerender every route and run the Vercel adapter
npm run preview # serve the production build locally
npm run migrate:images # pull any cdn.hackclub.com doc images into static/images/ (restore tool)npm run build is the only verification step — there are no tests, linter, or typecheck configured.
- Zero-code docs — drop a
.mdfile inDocs/and it is picked up at build time viaimport.meta.glob. Routes, titles, order, and visibility are all derived from the file's path and name. - Zero-code workshops — drop a folder in
Docs/and a card appears on/workshops. Copy comes from an_info.mdin that folder; visibility and the card's target come fromsrc/lib/workshops.json. - Obsidian style — built on
unified+remark/rehype(same stack as workshops.hackclub.com):- Wikilinks:
[[Page Title|Display Alias]]resolve against doc titles. - Callouts:
> [!note],> [!warning],> [!tip], etc. with optional custom titles. - Task lists:
- [ ]/- [x]. - Image sizing:
— images are lazy-loaded.
- Wikilinks:
- Sane link handling — external links open in a new tab, internal links stay in the app.
- Syntax highlighting for code blocks via
@mapbox/rehype-prism. - Light/dark theming with per-route defaults and a pre-paint script to avoid a flash.
- Technical Documentation — architecture, code structure, build process, and caveats
- Contributing.md — file structure, naming conventions, and custom markdown syntax
- In-site guide —
Docs/Testing/0 - Doc Site Conventions.mdfor a hands-on guide
See Contributing.md for file structure, naming conventions, and the custom markdown syntax. Content is designed to be authored in Obsidian, which is the origin of the wikilink and callout extensions.
All content is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License and all code is licensed under the MIT License.