Modern Markdown note-taking web app with folders, dark/light mode, live preview, and export to PDF/MD.
A modern, professional, and fully-featured Markdown note-taking web app that supports folders, dark/light mode, live preview, exporting notes to PDF/Markdown, and local storage. Designed for developers, students, and anyone who wants a clean, productive note-taking experience.
- JavaScript (ES6+)
- HTML5
- CSS3
- Node.js π (for server-side markdown-to-HTML/PDF conversion)
- Express.js (Server API)
- Markdown-It (for Markdown to HTML conversion)
- HTML DOM APIs (frontend)
- CSS Variables (for dark/light theme switching)
- LocalStorage (for saving notes locally)
- How to structure a full-stack frontend + backend web app
- Handling theme toggling and CSS variables
- Implementing folder-based note systems
- Exporting content as Markdown and PDF
- Using internal scrolls vs page scroll properly
- Best practices in flexbox/grid layouts for modern GUIs
- Communicating between frontend and backend via fetch API
User β Folder β Note β Editor β Live Preview β Save / Export
- User creates/selects a folder
- Adds or edits a note
- Markdown editor displays input on the left
- Live preview renders on the right
- User can save locally, download Markdown, or export PDF
- Developer wants to take daily notes for projects.
- Student wants organized notes with folder structure.
- Writer wants markdown writing experience with preview.
- Open terminal in the server folder
- Run:
npm install
- Then run the server:
node index.js
Server running on http://localhost:3000
- Navigate to client folder
- Open
index.htmlby double-clicking (do not open via browser file URL only) - App should now run locally and connect to backend
Note
index.html without running the server will break Markdown to HTML/PDF export functionality.
- Provide a full-featured markdown editor for notes
- Organize notes in folders
- Support dark and light modes for accessibility
- Allow live preview of markdown
- Export notes as PDF or Markdown
- Enable local storage saving for offline usage
- Markdown syntax and conversion to HTML
- Client-server communication via Fetch API
- CSS Variables for dynamic theming
- Flexbox & Grid layouts for responsive UI
- LocalStorage for persistent data
MarkdownNoteApp/
βββ client/
β βββ index.html
β βββ style.css
β βββ app.js
βββ server/
β βββ index.js
β βββ package.json
βββ README.md
-
Sidebar: Folder list + theme toggle + create folder button
-
Main Content:
- Note title input (small)
- Editor (large, scrollable)
- Preview (large, scrollable)
- Action buttons: Save, Download MD, Export PDF
- π Dark/Light Mode toggle
- π Folder system for organizing notes
- π Markdown Editor with live preview
- πΎ Save notes locally
- π Export Markdown files
- π Export full notebook PDF
- π±οΈ Scrollable editor & preview independent of window
- β Responsive layout (modern professional style)
- Create Folder: Prompt user β add folder β save to localStorage
- Select Folder: Load note data β populate editor & preview
- Edit Note: Live markdown rendering via server
- Save Note: Save note content in localStorage
- Download Markdown: Blob β download
.md - Export PDF: Send markdown β convert to HTML β PDF β download
- Toggle Theme: Switch CSS variables between dark/light
// Save note example
function saveNote() {
if (!currentFolder) return alert("Select folder first");
data[currentFolder] = [{ title: titleInput.value, content: editor.value }];
localStorage.setItem("notes", JSON.stringify(data));
}[!disclaimer]
- This is a learning and demo project
- Server must run to enable export and live preview features
- Opening
index.htmlalone only works for editing notes, not exporting- Scroll and theme fixes have been implemented professionally
- Fully functional Markdown note web app
- Persistent storage with localStorage
- Dynamic theme switching working correctly
- Modern GUI with proper alignment and scrolling
- Export functionality integrated with Node server
- Students π§βπ
- Developers π©βπ»
- Writers βοΈ
- Productivity enthusiasts π
- Multiple notes per folder
- Search functionality
- Drag & drop folders
- React/Tailwind frontend for better UX
- Desktop version with Electron
- Helps organize notes efficiently
- Improves productivity with markdown
- Teaches frontend + backend integration
- Demonstrates theme management and responsive design
Important
MIT License β Free to use, modify, and distribute π‘
This Markdown Note App is a professional, modern, and full-featured note-taking tool built with JavaScript, Node.js, HTML, and CSS. It covers everything from theming, folder structure, live preview, export features, GUI layout, and internal scroll handling. Perfect for beginners learning full-stack web development, or anyone looking for a clean, local markdown note system.
Β© 2026 @SyedShaheerHussain
.png)
.png)