MDEditor

MDEditor is a Windows-first offline document editor for people who want to write formal documents without dealing with raw Markdown syntax. It combines a Korean WYSIWYG editing experience with simple file handling and PDF export.

Why This Project Exists

Many teams still want the portability of Markdown files, but the people writing the documents often prefer something that feels closer to a word processor.

This project was created to bridge that gap:

  • write in a familiar visual editor
  • keep documents as simple .md files
  • work fully offline
  • export polished PDFs when the document is ready

Project Goal

The goal is not to build a general-purpose publishing platform.

The goal is to make everyday document work easier for non-technical users who need:

  • a clear Korean interface
  • local file ownership
  • a lightweight editing workflow
  • repeatable document templates
  • a straightforward path from draft to PDF

Concept At A Glance

flowchart LR
    A["User writes visually"] --> B["MDEditor WYSIWYG editor"]
    B --> C["Markdown file (.md)"]
    C --> D["Save and reopen locally"]
    C --> E["Pandoc conversion"]
    E --> F["Shareable PDF"]

What Problem It Solves

flowchart TD
    A["Need a document tool"] --> B{"Current option?"}
    B --> C["Word processor only"]
    B --> D["Markdown editor only"]
    C --> E["Easy to write, harder to keep plain-text workflow"]
    D --> F["Good for developers, harder for non-technical users"]
    E --> G["Need a middle ground"]
    F --> G
    G --> H["MDEditor: visual writing + Markdown files + offline PDF export"]

How The App Works

sequenceDiagram
    actor User
    participant App as MDEditor
    participant File as Local Markdown File
    participant Pandoc as Pandoc Sidecar

    User->>App: Create or edit a document
    App->>File: Save as .md
    User->>App: Reopen and continue editing
    User->>App: Export as PDF
    App->>Pandoc: Convert saved Markdown
    Pandoc-->>App: PDF output
    App-->>User: Ready-to-share PDF

Key Features

  • Korean-first desktop UI
  • WYSIWYG editing with TOAST UI Editor
  • Native New / Open / Save / Save As workflow
  • Built-in templates for blank documents, reports, meeting notes, and proposals
  • PDF export through Pandoc
  • Offline-first local file workflow
  • Windows NSIS installer build

Who It Is For

  • office teams writing reports or proposal drafts
  • non-developers who do not want to see Markdown syntax while writing
  • teams that want local files instead of cloud-only editing
  • users who need a simple path from draft to PDF

Who It Is Not For

  • users looking for real-time collaboration
  • teams needing cloud sync or online review flows
  • advanced publishing workflows with complex layout design

Repository Layout

  • src/: React UI, editor wrapper, templates, and file workflow logic
  • src-tauri/: Tauri desktop app, Windows bundling config, and PDF export command
  • scripts/: Windows helper scripts for sidecar sync and Tauri build automation
  • docs/: simple documentation for non-developers and maintainers

For Non-Developers

If a GitHub Release is published, the easiest path is:

  1. Open the repository's Releases page.
  2. Download the Windows installer.
  3. Install MDEditor.
  4. Open the app, choose a template if needed, and start writing.
  5. Save the document as a Markdown file.
  6. Export a PDF when the document is ready.

For a step-by-step explanation, see docs/USER-GUIDE.md.

For Developers

Requirements

  • Node.js 20+
  • Rust toolchain with cargo and rustc
  • Visual Studio with the x64 C++ toolchain
  • Pandoc installed locally on Windows

Install And Test

npm install
npm test
npm run build

Windows Desktop Build

npm run sync:pandoc
npm run tauri:dev:win
npm run tauri:build:win

The helper scripts will:

  • load the Visual Studio developer shell
  • add Cargo to PATH
  • sync the installed Pandoc binary into the Tauri sidecar location
  • run the local Tauri CLI for desktop development or packaging

Current Status

Phase 0 is implemented and locally verified for:

  • frontend tests
  • production web build
  • Windows Tauri build
  • NSIS installer generation

The remaining practical step is final manual smoke testing of the packaged app:

  1. launch the installed app
  2. create a document
  3. save and reopen a .md file
  4. export a PDF and confirm the output file

License

This project is released under the MIT License. See LICENSE.

Description
No description provided
Readme 173 KiB
Languages
TypeScript 85.9%
CSS 7.5%
PowerShell 3.2%
Rust 2.9%
HTML 0.5%