A fully static, responsive site generated from markdown files in src/lab/, with client-side tab navigation, MathJax for equations, and Prism-based syntax highlighting.
- Create a markdown file in
src/lab/(e.g.,src/lab/lab12.md). - The first
#heading becomes the display title; otherwise the filename is used. - Optional frontmatter:
--- title: Lab 12 – Advanced Integrals --- - Run
npm run build. The lab appears automatically in the left navigation.
- Install dependencies:
npm install - Start dev server:
npm run serve - Open
http://localhost:8080/and edit files undersrc/.
- Run
npm run build; output is generated under_site/. - The GitHub Pages workflow uploads
_site/automatically on push tomain. - For a user site repo named
<username>.github.io, your site publishes tohttps://<username>.github.io/after the workflow completes.
- Node.js (LTS)
- Eleventy (
@11ty/eleventy) - Eleventy Prism plugin (
@11ty/eleventy-plugin-syntaxhighlight) - Markdown-It (used as Eleventy markdown engine)
- MathJax v3 via CDN (no install required)
- If a markdown file is missing or malformed, the UI shows a friendly error and falls back to the first available lab.
- Build warnings appear in the terminal; fix markdown and rebuild.