A premium, data-driven digital archive for the IITM Data Science Degree. Built for speed, offline reliability, and effortless navigation.
Tired of slow, clunky course viewers and searching through endless folders of saved pages? This project transforms your static SingleFileZ (.u.zip.html) saves into a lightning-fast, interactive Single Page Application.
Tip
This archive is optimized for 0ms render delay by pre-compiling all styles and unzipping course payloads on the fly during deployment.
- β‘ Instant Load Times: Swapped the Tailwind Play CDN for a statically compiled
main.css, cutting boatloads of render-blocking time. - π Auto-Generated Sidebar: A smart Node.js engine recursively crawls your
content/folder to build a beautiful, nested navigation tree. - π Modern Aesthetics: A sleek, dark-themed dashboard with glassmorphism effects and dynamic course filtering.
- π± Mobile First: Fully responsive UI with a custom off-canvas navigation drawer and touch-optimized controls.
- π οΈ Automated CI/CD: Powered by GitHub Actions. Just push your files, and the system automatically unzips, optimizes, and deploys.
A lightweight SPA using Vanilla JS for routing and Tailwind CSS for styling. It uses hash-based routing (#dashboard, #file-path) to maintain state without page reloads.
scripts/optimize-for-prod.js: Uses7zto extract high-density polyglot ZIP/HTML files into streamable directory structures.scripts/generate-sidebar.js: Generates a real-time JSON map of your entire course library.
Our custom .github/workflows/deploy.yml handles:
- Environment Setup: Installs Node.js and specialized extraction tools (
7z). - Optimization Pass: Unpacks all new SingleFileZ archives.
- Data Refresh: Rebuilds the sidebar JSON map.
- Style Build: Compiles the final production CSS.
- Direct Deploy: Pushes the artifact directly to the GitHub Pages edge network.
- Capture Content: Use the SingleFileZ extension to save your course pages.
- Organize: Drop your
.htmlfiles into thecontent/folder. Use any nested structure you like (e.g.,Term/Course/Week/). - Push & Deploy:
git add . git commit -m "feat: add new course modules" git push origin main
- Sit Back: Your GitHub Action will trigger, optimize your files, and update your live site in ~2 minutes.
This project includes a built-in PDF factory to turn your course modules into printable handouts.
- Standard: Quick batch conversion of every file in a course directory.
- v3 Ultra: High-fidelity multi-page rendering. Supports long assignments with full layout unrolling.
- v4 Compact: Academic-grade efficiency. Removes UI clutter, fixes KaTeX math doubling, and optimizes spacing for printable handouts.
# Generate Standard PDFs
npm run pdf
# Generate v3 Ultra PDFs
npm run v3-pdf
# Generate v4 Compact PDFs (Recommended for Handouts)
npm run v4-pdfYou can trigger these manually from the Actions tab:
- Select π Standard Course PDF Generator π οΈ, π v3 Ultra-High Quality PDF Generator β¨, or π v4 Compact Efficiency PDF Generator π.
- Click Run workflow and specify the course/week.
- Download the PDFs from the workflow summary or find them in the
gh-pagesbranch inside their respective folders (v3-pdf/orv4-pdf/).
A complete mirror of all raw assets, optimized modules, and PDF versions is maintained on the backup-vault branch. This is synchronized weekly or can be triggered manually via the π° Multi-Content Sync & Backup π‘οΈ action.
A dedicated markdown documentation site with full-text search, sidebar navigation, and responsive design. Perfect for study notes and organized course materials.
- Auto-Extraction: Converts course HTML archives to clean markdown
- Full-Text Search: Client-side search with Lunr.js
- Dual Sources: Auto-extracted markdown + hand-written study notes
- Math Support: KaTeX for LaTeX equations
- Code Highlighting: Prism.js syntax highlighting
- Mobile Responsive: Touch-friendly off-canvas navigation
# Extract markdown from archives
npm run markdown:extract
# Generate search index
npm run markdown:index
# View locally
open markdown/index.htmlmarkdown/
βββ extracted/ β Auto-extracted from course archives
βββ manual/ β Hand-written study notes
βββ index.html β Responsive SPA
See markdown/README.md for complete guide or markdown/manual/GETTING_STARTED.md for user guide.
- Markdown Archive: https://simplearyan.github.io/iitm-notes-archive/markdown/
- Main Archive: https://simplearyan.github.io/iitm-notes-archive/
This is an unofficial, personal organization tool. It is not affiliated with, endorsed by, or sponsored by the Indian Institute of Technology Madras (IITM).
All course materials, questions, syllabus content, and related intellectual property belong exclusively to IITM and the respective instructors. This tool is designed purely for personal offline study and productivity purposes.
Made with β€οΈ for the IITM BS community.