Skip to content

About

A premium, highly polished desktop application for reading and editing Markdown files. Built with Electron, React, and Tiptap.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

28 Commits

Folders and files

Repository files navigation

MarkdownReader Logo

MarkdownReader

Desktop Markdown Workspace for Windows

Engineered for distraction-free technical writing, mathematical typesetting, interactive diagrams, and Windows desktop integration.

Release Windows Platform Electron TypeScript License: MIT


Table of Contents


Overview

MarkdownReader is a desktop Markdown application developed for Windows 10 and Windows 11. Built with Electron, React 19, TypeScript, and the Tiptap rich-text editing engine, it combines distraction-free document viewing with a technical editing suite.

The application supports mathematical typesetting via offline-bundled KaTeX, interactive diagrams via Mermaid.js, clean PDF export without user interface bleed, system font discovery, and deep Windows shell integration.


Features

Performance and Startup

  • Zero White-Flash Startup: Inline scripts apply theme and background styles before first paint to prevent flashes in dark and light modes.
  • Asynchronous File Operations: High-throughput document streaming powered by Node.js asynchronous filesystem APIs (fs.promises).
  • Large Document Optimization: ProseMirror indexing and search highlights are capped and optimized to maintain smooth scrolling and editing on large files.
  • Background Task Indicators: Progress indicators in the header and status bar inform the user during heavy file operations and large text processing.

KaTeX Math Formulas

  • Support for inline equations ($E=mc^2$) and display equation blocks ($$\sum_{i=0}^n i$$).
  • Bundled offline vector fonts (WOFF2 and TTF) for mathematical rendering without network connectivity.
  • WYSIWYG equation rendering with automatic Markdown serialization.

Mermaid Diagrams

  • Render flowcharts, sequence diagrams, state machines, Gantt charts, mindmaps, C4 architecture, and entity-relationship diagrams in fenced mermaid code blocks.
  • Dual-Mode Widget: Switch between the rendered SVG diagram and raw source code at any time.
  • Color schemes automatically match the active application palette and accent settings.

PDF and Print Studio

  • Isolated Print Renderer: Print and PDF rendering runs in a separate background renderer to guarantee that editor toolbars, dialogs, and sidebars never appear in exported documents.
  • Scaled Paper Preview: Live preview with page format selection (A4, US Letter, A3, Legal, Tabloid), orientation, margin controls, and zoom settings.
  • Standalone HTML Export: Export single-file HTML documents with embedded offline stylesheets and typography.

Typography and Personalization

  • Windows System Font Discovery: Real-time listing of installed Windows fonts with instantaneous search filtering and hover preview.
  • Apply Font to Entire App UI: Optional setting to extend the chosen typeface across all tabs, sidebar tree, toolbars, buttons, and dialogs.
  • Pangram Preview: Live interactive preview card displaying the active font, configured font size, and line height.
  • Animation Speed Multiplier: Configurable interface transition speeds from 0.25x to 3.0x, or disable animations entirely.
  • Theme Palettes and Custom Accents: Choose from preset palettes (Zinc, Cobalt, Emerald, Violet, Rose, Amber) or specify any custom HEX accent.

Windows Integration

  • Windows Setup Assistant: Automatic prompt on launch checks for missing associations or shortcuts with one-click configuration.
  • File Association: Register .md and .markdown file extensions in the Windows Registry with dedicated application icons.
  • File Explorer Context Menu: Right-click context actions to "Edit with MarkdownReader" on files and "Open Folder in MarkdownReader" on directories.
  • Start Menu and Desktop Shortcuts: Automatic deployment of high-resolution shortcuts to the Windows Start Menu and Desktop.
  • Application User Model ID: Registered as com.adamk.markdownreader for taskbar pinning, window grouping, and system notification handling.
  • Frameless Titlebar: Custom header with double-click maximize/restore, window snapping support, and minimize/maximize/close controls.

Asset Pipeline and Lightbox

  • Direct Screenshot Pasting: Pressing Ctrl+V pastes clipboard images directly into the active document, saving the file to ./assets/ with relative Markdown paths.
  • Drag-and-Drop Files: Dragging local images into the editor copies them into the document asset directory.
  • Fullscreen Lightbox: Zoom towards the mouse cursor and pan using middle-click to inspect diagrams and images.

Document Opening Modes

  • Smart Mode: Automatically opens external Markdown files in Reading Mode and newly created or edited files in Editing Mode.
  • Configurable Default: Option to enforce Always Reading, Always Editing, or Smart Mode via Settings.

Quick Start

Installation

  1. Go to the Releases page.
  2. Download MarkdownReader-v2.0.3-win32-x64.zip.
  3. Extract the archive and launch MarkdownReader.exe.

Windows Setup Assistant

When launched for the first time, MarkdownReader displays an integration assistant in the bottom-right corner. Click "Fix All & Apply" to configure .md file associations, create Start Menu shortcuts, and enable Explorer context menu actions. These options can also be adjusted under Settings (Ctrl+,) > Windows.


Keyboard Shortcuts

Shortcut Action Description
Ctrl + N New Document Opens a new blank document tab
Ctrl + O Open File Select and open a local Markdown file
Ctrl + S Save File Save the active document
Ctrl + Shift + S Save As Save document with a new file path
Ctrl + W Close Tab Close the active document tab
Ctrl + E Toggle Mode Switch between Reading and Editing modes
Ctrl + P Export Studio Open the PDF and Print export dialog
Ctrl + , Settings Open application configuration
Ctrl + F Find and Replace Open search drawer
Ctrl + </kbd> Toggle Sidebar Show or hide the file explorer sidebar
Ctrl + Shift + L Toggle Outline Show or hide the document headings outline
Ctrl + B Bold Toggle bold styling on selection
Ctrl + I Italic Toggle italic styling on selection
Ctrl + K Insert Link Insert or edit a hyperlink

Building from Source

Prerequisites

  • Windows 10 or Windows 11 (64-bit)
  • Node.js version 18.0.0 or higher
  • npm version 9.0.0 or higher

Development Setup

# Clone the repository
git clone https://github.com/lapisecek/MarkdownReader.git
cd MarkdownReader

# Install dependencies
npm install

# Start Vite development server and Electron concurrently
npm run electron:dev

Production Build

# Compile frontend, package app.asar, build executable, create release zip,
# and register Windows Start Menu shortcut
npm run electron:build

Generated outputs:

  • dist-electron/MarkdownReader-win32-x64/
  • dist-electron/win-unpacked/
  • dist-electron/MarkdownReader-v2.0.3-win32-x64.zip

Security Architecture

MarkdownReader follows Electron security guidelines:

  • Renderer Isolation: contextIsolation: true is enabled across all windows.
  • Node Integration Disabled: nodeIntegration: false in all renderer processes.
  • Secure Preload Bridge: Inter-process communication runs exclusively through typed channels defined in preload.cjs.
  • Isolated Background Print Worker: Document printing is handled by an ephemeral background window without access to application state.

License

This project is licensed under the MIT License. See the LICENSE file for the full text.

About

A premium, highly polished desktop application for reading and editing Markdown files. Built with Electron, React, and Tiptap.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages