- Syllabus homepage with columns: Date, Topic, Lecture Notes (PDF), Readings, Supplemental Video
- Real-time search / filter for syllabus keywords
- Optional YouTube embeds via an accessible modal (add a
videoId) - Content-driven: edit
src/data/syllabus.jswithout touching UI components - Responsive: table is horizontally scrollable on mobile
- Edit the schedule in
src/data/syllabus.js. - Drop PDFs into
public/lectures/and set thenotesfield. - Set
videoIdto a YouTube ID to enable the modal player.
npm install
npm run dev- Syllabus data:
src/data/syllabus.js - PDFs:
public/lectures/(links use/lectures/<file>.pdf)
- Install dependencies:
npm install- Build with the correct base path (replace
REPO_NAME):
VITE_BASE='/REPO_NAME/' npm run build- Publish
dist/to thegh-pagesbranch:
npm run deploy- In GitHub: Settings → Pages
- Source: Deploy from a branch
- Branch: gh-pages / /(root)
Notes:
- PDF links are resolved relative to the build base, so they work on GitHub Pages.
- Output is in
dist/.