Markdown, visualized - A modern, feature-rich markdown editor and previewer.
- CodeMirror 6 - Modern, extensible code editor with excellent performance
- Syntax Highlighting - Full markdown syntax support with GitHub Flavored Markdown
- Smart Auto-Complete - Context-aware suggestions for headings, links, and more
- Line Numbers & Minimap - Enhanced navigation for long documents
- Format on Save - Automatically format markdown with Prettier
- Real-time Linting - Catch markdown issues as you type with remark-lint
- Keyboard Shortcuts - Complete keyboard navigation support
- Live Preview - Real-time rendering as you type with debounced updates
- Synchronized Scrolling - Editor and preview stay in sync
- Multiple Themes - GitHub, GitLab, Notion, Obsidian, Stack Overflow, Dev.to styles
- Syntax Highlighting - Beautiful code blocks with Shiki
- Mermaid Diagrams - Flowcharts, sequence diagrams, and more
- KaTeX Math - Beautiful mathematical equations
- GFM Support - Tables, task lists, strikethrough, autolinks
- Callouts - GitHub and Obsidian-style admonitions
- Frontmatter - YAML frontmatter parsing and display
- Multiple Tabs - Work with several files simultaneously
- Auto-Save - Automatic saving to localStorage (customizable interval)
- Version History - Track and restore previous versions with diff viewer
- Drag & Drop - Drop files directly into the editor
- File Explorer - Browse and manage your documents
- Search & Replace - Powerful find and replace with regex support
- Smart Document Creation - New documents start with auto-edit name and H1 heading
- Context Menus - Right-click menus for files (rename, duplicate, export, delete)
-
GitHub Integration
- Browse and open files from your repositories
- Create and save markdown files directly to GitHub
- Commit changes with custom messages
- Delete files from repositories
- Branch selection support
-
Google Drive Integration
- Browse and open files from your Google Drive
- Create files in any folder (with folder creation support)
- Auto-save to Google Drive (30 seconds after last edit)
- Manual save with Ctrl+S
- Delete files from Drive or just remove from local list
- Sync status indicator in status bar
- Import Files - Support for .md, .markdown, .txt, .mdx files
- Export to Markdown - Download as .md file with original formatting
- Export to HTML - Standalone HTML with embedded styles
- Export to PDF - High-quality PDF generation
- Export to Image - PNG/JPEG export for sharing
- Dark/Light Themes - System preference detection with manual override
- Responsive Design - Mobile-friendly interface with adaptive layout
- Internationalization - Full support for English and Spanish
- Customizable - Font size, font family, editor preferences
- Zen Mode - Distraction-free writing mode
- Keyboard Shortcuts - Quick reference modal (Ctrl+/)
- Context Menus - Right-click menus for editor, preview, tabs, files, and more
- Installable - Install as a standalone app on any device
- Offline Support - Work without internet connection
- Auto Updates - Automatic updates when new versions are available
- Fast Loading - Service worker caching for instant loading
- Welcome Guide - Interactive introduction for new users
- Feature Tour - Guided tour highlighting key UI elements
- Help Menu - Quick access to shortcuts, tour, and documentation
| Category | Technology |
|---|---|
| Framework | React 18 |
| Language | TypeScript 5.7 |
| Build Tool | Vite 6 |
| Editor | CodeMirror 6 |
| State | Zustand |
| Styling | Tailwind CSS |
| Markdown | unified, remark, rehype |
| Syntax Highlighting | Shiki |
| Diagrams | Mermaid |
| Math | KaTeX |
| i18n | i18next |
| Category | Technology |
|---|---|
| API Framework | Hono |
| Authentication | Better Auth |
| Database | Neon PostgreSQL |
| ORM | Drizzle |
| Deployment | Vercel Serverless |
| Category | Technology |
|---|---|
| Testing | Vitest, Playwright |
| Linting | Biome |
| Package Manager | pnpm |
- Node.js 18 or higher
- pnpm 8+ (recommended) or npm
# Clone the repository
git clone https://github.com/qazuor/markview.git
cd markview
# Install dependencies
pnpm install
# Start development server
pnpm devThe app will be available at http://localhost:5173
# Build the application
pnpm build
# Preview production build
pnpm preview| Command | Description |
|---|---|
pnpm dev |
Start development server with HMR |
pnpm build |
Build for production |
pnpm preview |
Preview production build locally |
pnpm test |
Run unit tests |
pnpm test:watch |
Run tests in watch mode |
pnpm test:coverage |
Run tests with coverage report |
pnpm test:e2e |
Run Playwright end-to-end tests |
pnpm lint |
Check code with Biome |
pnpm lint:fix |
Auto-fix linting issues |
pnpm format |
Format code with Biome |
pnpm format:check |
Check code formatting |
pnpm typecheck |
Run TypeScript type checking |
| Action | Windows/Linux | macOS |
|---|---|---|
| Formatting | ||
| Bold | Ctrl+B |
Cmd+B |
| Italic | Ctrl+I |
Cmd+I |
| Strikethrough | Ctrl+Shift+S |
Cmd+Shift+S |
| Inline Code | Ctrl+ ` |
Cmd+ ` |
| Code Block | Ctrl+Shift+ ` |
Cmd+Shift+ ` |
| Link | Ctrl+K |
Cmd+K |
| File Operations | ||
| Save (local/cloud) | Ctrl+S |
Cmd+S |
| New Document | Ctrl+N |
Cmd+N |
| Open File | Ctrl+O |
Cmd+O |
| Close Tab | Ctrl+W |
Cmd+W |
| Editing | ||
| Undo | Ctrl+Z |
Cmd+Z |
| Redo | Ctrl+Shift+Z |
Cmd+Shift+Z |
| Find | Ctrl+F |
Cmd+F |
| Replace | Ctrl+H |
Cmd+H |
| View | ||
| Toggle Sidebar | Ctrl+B |
Cmd+B |
| Zen Mode | F11 |
Cmd+Shift+F |
| Help | ||
| Show Shortcuts | Ctrl+/ |
Cmd+/ |
markview/
├── src/
│ ├── app/ # App entry and providers
│ ├── components/ # React components
│ │ ├── editor/ # CodeMirror editor
│ │ ├── preview/ # Markdown preview
│ │ ├── toolbar/ # Formatting toolbar
│ │ ├── tabs/ # Document tabs
│ │ ├── sidebar/ # File explorer, TOC
│ │ ├── statusbar/ # Status bar
│ │ ├── modals/ # Dialogs
│ │ ├── layout/ # Layout components
│ │ └── ui/ # Reusable UI components
│ ├── hooks/ # Custom React hooks
│ ├── services/ # Business logic
│ │ ├── markdown/ # Markdown processing
│ │ ├── storage/ # Local storage
│ │ ├── export/ # Export functionality
│ │ ├── github/ # GitHub API integration
│ │ └── gdrive/ # Google Drive API integration
│ ├── stores/ # Zustand stores
│ ├── types/ # TypeScript types
│ ├── utils/ # Utility functions
│ ├── i18n/ # Internationalization
│ └── styles/ # Global styles
├── tests/
│ ├── unit/ # Vitest unit tests
│ └── e2e/ # Playwright e2e tests
└── docs/ # Documentation
Access settings through the gear icon in the toolbar or press Ctrl+, (Windows/Linux) or Cmd+, (macOS).
-
Appearance
- Theme (Dark, Light, System)
- Preview Style (GitHub, GitLab, Notion, Obsidian, Stack Overflow, Dev.to)
- Editor Font Size (10-24px)
- Preview Font Size (12-28px)
- Font Family
-
Editor
- Word Wrap
- Line Numbers
- Minimap
- Sync Scroll
-
Behavior
- Auto Save
- Auto Save Interval
- Format on Save
- Lint on Type
-
Sync (Cloud Integration)
- GitHub: Connect/disconnect, view connected account
- Google Drive: Connect/disconnect, view connected account
- Sync status indicators
-
Language
- English
- Spanish (Español)
- User Guide - Complete user documentation
- Architecture - Technical architecture details
- Contributing Guide - How to contribute
- Changelog - Version history
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project follows Conventional Commits:
feat:- New featuresfix:- Bug fixesdocs:- Documentation changesstyle:- Code style changes (formatting)refactor:- Code refactoringtest:- Test additions or changeschore:- Maintenance tasks
- PWA with offline support
- Onboarding and feature tour
- Context menus for all components
- Zoom controls (keyboard, mouse wheel, menu)
- Version history with diff viewer
- GitHub integration for opening/saving/deleting files
- Google Drive integration with auto-sync
- Smart document creation (auto-edit name, H1 heading)
- Cloud delete options (local only or also from cloud)
- OAuth authentication (GitHub, Google)
- Mermaid diagrams and KaTeX math
- Multiple preview themes (GitHub, GitLab, Notion, Obsidian, etc.)
- Comprehensive test suite (2920+ tests, 77%+ coverage)
| Feature | Description | Status |
|---|---|---|
| Open Local Folder | Open all .md files recursively from a local folder | Planned |
| Folder Organization | Organize local documents into folders/categories | Planned |
| File System Access API | Direct file editing without import/export | Planned |
| Feature | Description | Status |
|---|---|---|
| Server-side PDF Export | Reliable PDF generation with Puppeteer | Planned |
| Image Export | Export preview as PNG/JPEG with options | Planned |
| Share Links | Generate shareable read-only links | Planned |
| Feature | Description | Status |
|---|---|---|
| Interactive Checklists | Click checkboxes in preview to toggle in editor | Planned |
| Markdown Linting | Real-time linting with markdownlint | Planned |
| Auto Formatting | Format markdown with Prettier on save | Planned |
| Snippets | Reusable text snippets with shortcuts | Planned |
| Feature | Description | Status |
|---|---|---|
| Dropbox Integration | Sync documents with Dropbox | Planned |
| OneDrive Integration | Sync documents with Microsoft OneDrive | Planned |
| GitLab Integration | Support for GitLab repositories | Planned |
| Image Upload | Drag & drop images, upload to cloud storage | Planned |
| Feature | Description | Status |
|---|---|---|
| Desktop App (Tauri) | Native app for Windows, macOS, Linux | Planned |
| Native File Associations | Open .md files directly with MarkView | Planned |
| Auto Updates | Automatic updates for desktop app | Planned |
| Feature | Description | Status |
|---|---|---|
| Real-time Collaboration | Multiple users editing the same document | Research |
| Plugin System | Extensible architecture for custom plugins | Research |
| Custom Themes Editor | Visual theme creator and customization | Planned |
| Vim/Emacs Keybindings | Alternative keyboard modes | Planned |
| AI Writing Assistant | Grammar, style suggestions, autocomplete | Research |
| Presentation Mode | Turn markdown into slideshows | Planned |
| Advanced Export | Export to DOCX, LaTeX, EPUB formats | Planned |
Have a feature idea? Open an issue with the "enhancement" label!
This project is licensed under the MIT License. See the LICENSE file for details.
- CodeMirror - Excellent code editor
- unified - Markdown processing
- Mermaid - Diagram generation
- KaTeX - Math rendering
- Shiki - Syntax highlighting
qazuor
Made with ❤️ by qazuor


