amitwh 1b85bc47a4 feat(paste): CSV/TSV → markdown table on tabular paste
- src/utils/csv-to-table.js — pure module. Auto-detects the delimiter
  (tab wins over comma; comma wins over semicolon). RFC 4180-style
  parsing handles quoted fields, escaped quotes (""), and CRLF. Cells
  are escaped for markdown tables (\\ for backslashes, \| for pipes,
  newlines stripped). Alignment: a column is right-aligned when every
  non-empty cell matches a numeric pattern AND there are ≥2 rows or
  ≥1 multi-character cell (single-char numbers like "1" alone are
  too ambiguous to call as numeric — could be labels). Single-row input
  produces a header-only table (no fabricated "Column N" labels, no
  body).
- src/editor/smart-paste.js — paste handler now tries CSV first (it
  needs no async), falls back to the existing URL → title flow.

Tests (30 new, tests/csv-to-table.test.js):
  - detectDelimiter: tab > comma > semicolon, empty/non-string safe
  - parseRows: simple, RFC 4180 quoted, escaped quotes, CRLF, multi-line
  - escapeCell: pipes, backslash-first escaping, newline strip, null/number
  - csvToTable: simple CSV, single-row (header-only), TSV, empty input
  - alignment: numeric detection (≥2 rows OR ≥1 multi-char cell), currency,
    percentages, text columns stay left
  - escaping inside cells (pipes, newlines)
  - ragged-row padding
  - looksLikeCsv: true for tab/comma multi-row, false for single row,
    column-count mismatch, prose, very short input

Full suite: 72 suites, 861 tests, lint+format clean.

Amit Haridas
2026-09-14 09:01:07 +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
  • Batch conversion - Convert entire folders of markdown files
  • ASCII Art Generator - Create text banners and diagrams
  • 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: PDF, DOCX, PPTX, XLSX, Outlook .msg, EPUB, images, ZIP (audio/OCR with the [all] extras)
  • 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)
  • Pandoc (required for export functionality)
  • Optional: MarkItDown (pip install "markitdown[all]") for any-file → Markdown import

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

Themes

Light Themes

  • Atom One Light (Default)
  • GitHub Light
  • Light
  • Solarized Light
  • Gruvbox Light
  • Ayu Light
  • Sepia
  • Paper
  • Rose Pine Dawn
  • Concrete Light

Dark Themes

  • Dark
  • One Dark
  • Dracula
  • Nord
  • Monokai
  • Material
  • Gruvbox Dark
  • Tokyo Night
  • Palenight
  • Ayu Dark
  • Ayu Mirage
  • Oceanic Next
  • Cobalt2
  • Concrete Dark
  • Concrete Warm

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.7.1

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%