← Back to Projects

📚 Notes 2 Website

Python PyMuPDF EasyOCR HTML/CSS/JS Batch Scripting

Project Category: Individual Project

A standalone, portable CLI tool that automates the conversion of entire folders of raw lecture PDFs or images into a consolidated, highly-searchable, offline, beautifully formatted HTML website. Built for rapid studying of complex materials without wrestling with complex setups.

View Repository Live Demo
Notes 2 Website UI

🖼️ Demos & Interface

Dark Mode Demo 🌙 Dark Mode

Easy on the eyes

Light Mode Demo ☀️ Light Mode

Crisp and clean reading

Smart Search 🔍 Smart Global Search

Fuzzy matches instantly (Ctrl+K)

🚀 Core Features

✨ One-Click Magic

Drop PDFs or images into the input folder and run execute.bat. It automatically handles text extraction and OCR seamlessly under the hood using PyMuPDF and EasyOCR.

🔌 Offline First & Portable

The generated site is 100% static HTML/JS/CSS without any backend, database, or node module dependencies. Put the bundled folder on a thumb drive, and it works perfectly wherever you click it.

🔍 Intelligent Global Search

A custom full-text search engine scans all generated chapter content globally. Invoke it via Ctrl+K to instantly find and auto-scroll to specific terms inside lectures across the entire consolidated knowledge base.

🗑️ Session UI Management

Interact with the built website directly. Delete chapters from the sidebar dynamically if you feel they aren't relevant to your current study session.

⚙️ Architecture & Data Pipeline

The parsing engine executes a structured, multi-stage pipeline triggered purely by Windows batch scripts orchestrating Python processing units:

flowchart TD A[Raw Lecture Notes
PDFs or Images] -->|Fully Automated
PyMuPDF & EasyOCR| B(Raw Extracted Text & Native Images) B -->|Format and Construct using
LLM / AI / Yourself| C(Formatted MD Notes) C -->|Fully Automated
Python HTML Bundler| D[Local Interactive HTML Website] classDef automated fill:#2374f7,stroke:#fff,stroke-width:2px,color:#fff; classDef manual fill:#f72365,stroke:#fff,stroke-width:2px,color:#fff; class A,D default; class B,C default;

Traveler...

Holo