A no-database documentation site for sharing course material. Content is plain Markdown — one file per topic — read straight from disk by Vite. Built with React, React Router, and Framer Motion.
npm install
npm run dev # http://localhost:5173Build for production and preview the output:
npm run build
npm run previewsrc/
├── site.config.js ← EDIT THIS to manage chapters, order, and branding
├── content/ ← your Markdown, one .md file per topic (by chapter)
│ ├── getting-started/
│ ├── web-platform/
│ ├── javascript/
│ └── components/
├── lib/ ← content loader, TOC parser, prev/next navigation
├── hooks/ ← theme, active-heading, scroll progress, media query
├── components/ ← Sidebar, TableOfContents, TopBar, Pagination, Search…
└── styles/ ← globals.css (design tokens) + markdown.css (prose)
-
Create a Markdown file, e.g.
src/content/javascript/loops.md. Start it with a single# Titleand use##/###for sections (these become the "On this page" outline automatically). -
Register it in
src/site.config.jsunder the right chapter:{ slug: 'loops', title: 'Loops' }
The
slugmust match the file name (without.md) and be unique. Its position in the config sets its place in the sidebar and the Prev/Next order.
That's the whole workflow — no database, no admin panel, no rebuild step in dev.
- Three-column reading layout — chapters left, content center, page outline right.
- Live "On this page" outline that follows your scroll position.
- Previous / Next navigation that walks the chapters in order.
- ⌘K / Ctrl-K search across all pages.
- Light / dark theme (strict black & white), remembered between visits.
- Reading-progress bar and smooth page/interaction animations.
- Fully responsive, with an animated mobile drawer.
npm run build produces a static site in dist/ you can host anywhere
(Netlify, Vercel, GitHub Pages, any static host). Because it's a single-page
app, configure your host to fall back to index.html for unknown routes so deep
links like /setup resolve correctly.
This starter ships with a sample web-development curriculum. To make it yours:
- Replace the folders under
src/content/with your own.mdfiles. - Rewrite
chaptersinsrc/site.config.jsto match. - Update
site.name,tagline, andlogoTextat the top of that same file.