Interactive JavaScript training website — slideshows and documents generated from Markdown files.
Built with Gatsby v5, React 18, and Reveal.js. Each Markdown file in src/md/ becomes both a slideshow (/slides/<name>) and a readable document (/docs/<name>).
Requirements: Node 20 LTS (nvm use)
npm install --legacy-peer-deps
npm run develop # http://localhost:8000
npm run build # production build → /public
npm run serve # serve production build locallyThe
--legacy-peer-depsflag is required because@atlaskit/navigation-nextdeclares a peer dep on React 16.
Markdown content lives in src/md/ and is managed as a git subtree from the js-training wiki:
npm run wiki:pull # pull latest content from wiki
npm run wiki:push # push content changes back to wikiSee CONTRIBUTING.md for how to add or edit content.
| Layer | Technology |
|---|---|
| Framework | Gatsby 5 |
| UI | React 18 |
| Slideshows | Reveal.js 3 |
| Styling | Sass + Emotion + styled-components |
| Navigation | Atlaskit navigation-next |
| Auth | Firebase 8 |
| Markdown | react-markdown 9 + rehype-raw |
| Language | TypeScript + JavaScript |
- You Don't Know JS, by Kyle Simpson
- Eloquent Javascript, by Marijn Haverbeke
- Async Programming > Async Iterators
- DOM API (as introduction to React/JSX)
- Functional Programming Trampolines
- Objects > Proxy: Handlers, Reflect, ...
- Errors handling: Catch errors, throw custom errors
- Last Session: Group review of current legacy code
- Mastering the console
