A powerful, feature-rich desktop Markdown viewer built with NW.js. Perfect for reading, editing, and navigating through Markdown documentation with ease.
- GitHub-flavored Markdown (GFM)
- Mermaid diagram rendering
- Syntax highlighting for 100+ programming languages
- Live preview with smooth rendering
- Browser-like history - Navigate back and forward between documents
- Recent files - Quick access to your last 10 opened files
- Link navigation - Click between linked .md files seamlessly
- Table of Contents - Auto-generated sidebar from document headings
- Find text within documents (Ctrl+F)
- Real-time match highlighting
- Navigate through results with keyboard shortcuts
- Match counter showing current position
- Built-in editor with live preview toggle
- Auto-save functionality
- File watcher for external changes
- Preserves formatting and styling
- Light and dark mode with auto-switching syntax themes
- GitHub-inspired design
- Responsive layout
- Smooth animations and transitions
- Export to PDF
- Drag-and-drop file loading
- Comprehensive keyboard shortcuts
- Command-line file opening
Download the latest release from the Releases page.
Prerequisites:
- Node.js 16 or higher
- npm
Steps:
# Clone the repository
git clone https://github.com/yourusername/simple-markdown-viewer.git
cd simple-markdown-viewer
# Install dependencies
npm install
# Run in development mode
npm start
# Build for production (Windows 64-bit)
npm run buildThe built application will be in the dist/ directory.
- Click "Open File" button in the toolbar
- Drag and drop a .md file into the window
- Command line:
simple-markdown-viewer file.md - Recent files dropdown for quick access
| Shortcut | Action |
|---|---|
Ctrl+O |
Open file |
Ctrl+E |
Toggle edit mode |
Ctrl+S |
Save file (in edit mode) |
Ctrl+F |
Open search |
Ctrl+Left |
Navigate back |
Ctrl+Right |
Navigate forward |
Esc |
Exit edit mode / Close search |
- Click on links to other .md files to navigate
- Use the β and β buttons to go back and forward
- Recent files dropdown shows your last 10 opened files
- Press
Ctrl+For click the π Search button - Type your search query
- Use β and β buttons to navigate matches
- Press
Escto close search
- Click the π TOC button to open the sidebar
- Click any heading to jump to that section
- Automatically generated from H1-H4 headings
- Click the "Edit" button to switch to edit mode
- Make your changes in the text editor
- Click "Preview" to see the rendered result
- Press
Ctrl+Sto save your changes
Click the π/βοΈ button in the toolbar to toggle between light and dark mode. Your preference is automatically saved.
- Headers (H1-H6)
- Emphasis (bold, italic, strikethrough)
- Lists (ordered, unordered, task lists)
- Links (internal, external, anchor)
- Images
- Code blocks with syntax highlighting
- Inline code
- Blockquotes
- Tables
- Horizontal rules
- Mermaid diagrams (flowcharts, sequence diagrams, etc.)
- NW.js - Desktop application framework
- Marked.js - Markdown parser
- Mermaid.js - Diagram rendering
- Highlight.js - Syntax highlighting
- Pure HTML, CSS, and JavaScript - No heavy frameworks
simple-markdown-viewer/
βββ index.html # Main HTML structure
βββ renderer.js # Application logic
βββ styles.css # Styling and themes
βββ package.json # Dependencies and config
βββ CLAUDE.md # AI development guide
βββ README.md # This file
See CLAUDE.md for detailed architecture documentation and development guidelines.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Derek Bowes SubsKeepr Inc. derek@subskeepr.com
- Marked.js - Fast Markdown parser
- Mermaid.js - Diagram and charting tool
- Highlight.js - Syntax highlighter
- NW.js - Desktop application platform
If you encounter any issues or have questions, please open an issue on GitHub.
Made with β€οΈ by Derek Bowes at SubsKeepr Inc.
