Amit Haridas 8fb61130f3 feat(flowchart): bundle-side clipboard wire-up (C11)
Cmd+C / Cmd+V / Cmd+D keyboard shortcuts now work in the standalone
window. The clipboard pure module (committed in C6a) is inlined
into the bundle alongside the mermaid parser (C9 inlining) so the
standalone window does not depend on a separate bundle rebuild.

  - copySelection / pasteSelection definitions added inside the
    bundle IIFE, exposed as window.FlowchartClipboard for jsdom
    tests.
  - Module-level _clipboard variable scoped to the keydown handler
    block so copy survives across Cmd+V and Cmd+D presses.
  - Cmd+C: serialises the canvas-owned selection (now read via
    getSelection(), not the old DOM .selected query) and stashes it.
  - Cmd+V: applies the stashed payload to the store via addNode +
    connect; nothing to do for the edge-only payload.
  - Cmd+D: copy + paste in one keystroke, with a 24px offset.
  - Delete/Backspace: reuses getSelection() to delete the selected
    node or edge; replaces the fragile DOM-querying path that the
    test for the bundle was no longer catching.

The pure module in src/flowchart/flowchart-clipboard.js stays the
source of truth for the algorithm (9 tests in C6a). Bundle inline
keeps the standalone window functional without a rebuild step;
a future build-time inclusion would collapse the duplication.

Amit Haridas
2026-09-30 21:43:49 +05:30
2025-09-21 21:47:12 +05:30

Markdown Converter

MarkdownConverter

A powerful cross-platform Markdown editor and document converter powered by Pandoc, built with Electron. 100% open-source with no proprietary dependencies.

Features

Markdown Editor

image - **Multi-tab editing** - Work on multiple files simultaneously - **Live preview** - Real-time markdown rendering with syntax highlighting - **Dynamic splitter** - Drag to resize editor and preview panes - **25+ themes** - Light and dark themes including Atom One Light, Dracula, Nord, Sepia, and more - **Find & Replace** - Search and replace with regex support - **Line numbers** - Toggle line numbers in the editor - **Auto-save** - Automatic saving every 30 seconds - **Math support** - KaTeX integration for mathematical expressions

PDF Viewer & Editor

image
  • Built-in PDF viewer - Open and view PDF files directly in the app
  • Page navigation - Navigate pages with keyboard or buttons
  • Zoom controls - Zoom in/out, fit to width, fit to page
  • Rotation - Rotate pages left or right
  • PDF Editor tools:
    • Merge multiple PDFs
    • Split PDFs by page range
    • Compress PDFs
    • Rotate pages
    • Delete pages
    • Reorder pages
    • Add watermarks
    • Password protection
    • Remove passwords
    • Set permissions

Export Options

  • PDF - Export to PDF with customizable page sizes and orientation
  • DOCX - Standard and Enhanced (template-based) Word export
  • ODT - OpenDocument format
  • HTML - Web-ready HTML export
  • PowerPoint - PPTX presentation export
  • EPUB - E-book format
  • LaTeX - Academic document format
  • RTF - Rich Text Format
  • Export themes - Five visual styles (Modern, Classic, Sepia, Minimal, Elegant) for PDF and Word exports — recolored headings, links, and fonts

Advanced Features

  • Custom headers & footers - Add headers/footers to exports with dynamic fields
  • Page size configuration - A3, A4, A5, B4, B5, Letter, Legal, Tabloid, or custom sizes
  • Visual flow chart editor - Build Mermaid flowcharts visually; drag nodes, connect edges, live preview. Insert at cursor.
  • Batch conversion - Convert entire folders of markdown files
  • ASCII Art Generator - 17 hand-coded fonts + 400+ FIGlet fonts; text banners, boxes, and templates; insert into editor, copy to clipboard, or save to file (Ctrl+Shift+A)
  • Word templates - Use custom Word templates for enhanced exports
  • Import documents - Import from 30+ formats (DOCX, PDF, HTML, etc.)
  • MarkItDown import - Any file → Markdown via Microsoft MarkItDown. Bundled (MIT + PSF Python runtime) — no installation required for the core formats (PDF, DOCX, PPTX, XLSX, Outlook .msg, EPUB, HTML, images, ZIP, CSV, JSON, XML). For audio transcription and OCR, install markitdown[all] system-side (multi-GB ML models; not bundled).
  • Excel export - Markdown tables to native .xlsx workbooks (one sheet per table)
  • AI Assistant - Multi-provider AI help (OpenAI/Anthropic/Ollama/LM Studio): chat panel, summarize/improve/translate commands, grammar proofreading
  • Inline comments - Anchor-based document comments in .comments/ sidecars with F8 navigation
  • Wiki-links & Backlinks - [[Note]] links with click-to-create and a "what links here?" panel (local knowledge base)
  • Crash recovery - Session restore of open tabs and unsaved buffers after a crash
  • Version history - Automatic pre-save snapshots with restore/diff/delete from the History panel
  • Vim mode & snippet expansion - Vim keybindings toggle; Tab expands saved snippets
  • Quick Note - Global scratchpad (Ctrl+Alt+Q) that appends to notes/quick-notes.md
  • Real PDF encryption - Password protection, removal, and permissions actually work
  • Offline math & diagrams - KaTeX bundled locally; PlantUML renders locally when the CLI is installed

Installation

Prerequisites

  • Node.js (v16 or later) — only for development builds
  • Pandoc — bundled inside the app, no install needed
  • MarkItDown — bundled inside the app (MIT + embedded PSF Python runtime via PyInstaller), no install needed for PDF / DOCX / PPTX / XLSX / Outlook / EPUB / HTML / images / ZIP / CSV / JSON / XML
  • Optional for advanced import only: pip install "markitdown[all]" adds audio transcription (Whisper) and OCR (EasyOCR/Tesseract) — these are multi-GB model downloads and are not bundled for size reasons

Install Dependencies

npm install

Run the Application

npm start

Build for Distribution

# Windows
npm run build:win

# macOS
npm run build:mac

# Linux
npm run build:linux

Keyboard Shortcuts

Action Shortcut
New File Ctrl+N
Open File Ctrl+O
Open PDF Ctrl+Shift+O
Save Ctrl+S
Save As Ctrl+Shift+S
Export Ctrl+E
Print Ctrl+P
Find Ctrl+F
Undo Ctrl+Z
Redo Ctrl+Shift+Z
New Tab Ctrl+T
Close Tab Ctrl+W
Toggle Preview Ctrl+Shift+V
Zoom In Ctrl+Shift++
Zoom Out Ctrl+Shift+-
Command Palette Ctrl+Shift+P
Zen Mode F11
Writing Analytics Ctrl+Shift+A
Quick Note Ctrl+Alt+Q
Universal Converter Ctrl+Shift+C
Table Generator Ctrl+Shift+T
ASCII Art Generator Ctrl+Shift+A
Next Comment F8
Add Comment at Cursor Ctrl+Alt+M
Flow Chart: Undo Ctrl+Z
Flow Chart: Redo Ctrl+Shift+Z
Flow Chart: Delete selected Delete

Themes

37 built-in editor themes, registered in src/main/ThemeRegistry.bootstrap.js.

Light (14)

Theme Id
Atom One Light (Default) atomonelight
GitHub Light github
Light light
Solarized Light solarized
Gruvbox Light gruvbox-light
Ayu Light ayu-light
Sepia sepia
Paper paper
Rose Pine Dawn rosepine-dawn
Concrete Light concrete-light
Catppuccin Latte catppuccin-latte
One Light one-light
Winter is Coming (Light) winter-is-coming-light
Spring Light (seasonal) spring-light

Dark (22)

Theme Id
Dark dark
One Dark onedark
Dracula dracula
Nord nord
Monokai monokai
Material material
Gruvbox Dark gruvbox-dark
Tokyo Night tokyonight
Palenight palenight
Ayu Dark ayu-dark
Ayu Mirage ayu-mirage
Oceanic Next oceanic-next
Cobalt2 cobalt2
Concrete Dark concrete-dark
Concrete Warm concrete-warm
Catppuccin Frappé catppuccin-frappe
Catppuccin Macchiato catppuccin-macchiato
Catppuccin Mocha catppuccin-mocha
Tokyo Night Storm tokyo-night-storm
Synthwave '84 synthwave-84
Outrun outrun
Winter is Coming (Dark) winter-is-coming-dark

High-Contrast (1)

Theme Id
Solarized Dark (High Contrast) solarized-dark-hc

The currently-selected theme persists across restarts via electron-store (key theme, default atomonelight). Adding a new theme is one register() call in the bootstrap + one CSS file under src/styles/themes/.

PDF Viewer

Open PDF files directly in MarkdownConverter:

  • File > Open PDF or Ctrl+Shift+O
  • Navigate pages with arrow buttons or page input
  • Zoom controls: +/- buttons, Fit Width, Fit Page
  • Rotate pages left or right
  • Close PDF to return to editor

MarkdownConverter ships as a self-contained package. Everything needed for the core workflows is bundled; a few large optional tools are detected from the system when present.

Bundled with the app

Component License Role
Pandoc 3.9 GPL-2.0+ (separate process) 25+ export/import formats
FFmpeg (via ffmpeg-static) GPL-3.0+ build (separate process) audio/video tools
MarkItDown (MIT) + embedded Python runtime (PSF) MIT / PSF any-file → Markdown import (PDF/DOCX/PPTX/XLSX/Outlook/EPUB/images/ZIP)
sharp + libvips Apache-2.0 / LGPL-2.1+ (dynamic) image tools
KaTeX, marked, [highlight.js], [DOMPurify], [mermaid], [CodeMirror 6], pdf-lib (@cantoo fork), pdfjs-dist, JSZip, simple-git MIT / Apache-2.0 / BSD-3 / MPL-2.0 editor, preview, PDF, Git
JetBrains Mono & Fira Code fonts SIL OFL 1.1 editor typography

GPL-licensed tools run as separate processes (never linked into the app) and their complete corresponding sources are offered in SOURCES.md. Full details: THIRD-PARTY-NOTICES.md, also available inside the app under Help → Third-Party Notices & Licenses.

Not bundled (used when installed)

LibreOffice (Office conversion), MiKTeX/TeX Live (LaTeX PDF), ImageMagick (extra image formats), PlantUML + Java (local diagrams), Calibre (MOBI), MarkItDown [all] extras (audio transcription / OCR).

Credits

Built on open source: [Electron], [CodeMirror], [marked], [KaTeX], [highlight.js], DOMPurify, mermaid, [pdf-lib], pdf.js, [sharp]/libvips, [Pandoc], [FFmpeg], [MarkItDown] by Microsoft, [simple-git], [JSZip], [JetBrains Mono], [Fira Code]. Thank you to all their authors and maintainers.

Open Source

MarkdownConverter is 100% open-source. All dependencies are permissively licensed:

  • Electron - MIT License
  • pdf-lib - MIT License
  • pdfjs-dist - Apache 2.0 License
  • marked - MIT License
  • highlight.js - BSD 3-Clause License
  • dompurify - Apache 2.0/MIT License
  • docx - MIT License
  • xlsx - Apache 2.0 License (SheetJS Community Edition)

License

MIT License - see LICENSE file for details.

Author

Amit Haridas (amit.wh@gmail.com)

Version

v4.13.0

S
Description
No description provided
Readme MIT
16 MiB
Languages
JavaScript 84.4%
CSS 8.1%
HTML 6.8%
NSIS 0.3%
PowerShell 0.2%
Other 0.1%