Skip to content

Repository files navigation

LumiWrite ✨

LumiWrite Logo

LumiWrite Screenshot

LumiWrite is a local-first, lightweight, high-performance Markdown editor. 📝⚡

This project is currently in MVP development.

Implemented Features (2026-02-05) ✅

  • Markdown basics (H1-H6, paragraphs, blockquotes, lists, tasks)
  • Inline styles (bold, italic, strikethrough, highlight)
  • Code blocks with syntax highlighting + language selection
  • Tables: render + edit (multi-line cells, insert/delete rows/cols)
  • Sidebar file tree + document outline (click to jump)
  • Auto-reveal current file in the tree + highlight selection
  • Open/save files (Ctrl+S)
  • Undo/redo + configurable hotkeys (hotkeys.json)
  • Theme follows system (Light/Dark)

Not Yet Implemented ⏳

  • Hybrid editing (source/preview switching)
  • Paste images + assets management
  • Rust notify file watching
  • Custom title bar
  • Export (HTML/PDF/long image)
  • Windows/macOS packaging

Tech Stack 🧰

  • Flutter
  • super_editor
  • Rust
  • flutter_rust_bridge
  • highlight

Quick Start 🚀

Prerequisites

  • Flutter SDK (stable)
  • Rust toolchain

Install & Run

  1. Clone the repo
    git clone https://github.com/yourusername/lumiwrite.git
    cd lumiwrite
  2. Install Flutter dependencies
    flutter pub get
  3. Generate Rust bindings (when needed) If you modify or rebuild native/, regenerate Dart bindings:
    flutter_rust_bridge_codegen generate
  4. Run
    flutter run

App Icon 🎨

Place your icon PNG at the project root as app.png, and make sure flutter_launcher_icons.image_path in pubspec.yaml points to it.

Generate icons:

flutter pub get
dart run flutter_launcher_icons

Rebuild Windows:

flutter build windows --release

Portable Package (Recommended) 📦

The portable build output is located at build/windows/x64/runner/Release/. Zip the whole directory for distribution.

Note: Releases are currently Windows-only. 🪟

One-click packaging script:

powershell -ExecutionPolicy Bypass -File installer\package_portable.ps1

Outputs:

  • dist/LumiWrite_Portable/ (ready to run)
  • dist/LumiWrite_Portable.zip (ready to share)

Windows Release Script 🏷️

You can publish a Windows-only release to GitHub and keep the release tag and pubspec.yaml version in sync:

powershell -ExecutionPolicy Bypass -File installer\release_windows.ps1 -Version 0.2.0

To build automatically before packaging and release:

installer\release_windows.cmd 0.2.0 --build

File Association Scripts (.md / .markdown) 🧷

The portable package includes two scripts:

  • register_md.ps1: associate .md/.markdown with LumiWrite.exe
  • unregister_md.ps1: remove the association It also includes double-clickable CMD wrappers:
  • register_md.cmd
  • unregister_md.cmd

Run from the same folder as LumiWrite.exe:

powershell -ExecutionPolicy Bypass -File .\register_md.ps1
powershell -ExecutionPolicy Bypass -File .\unregister_md.ps1

Hotkey Configuration ⌨️

Default hotkeys:

  • Ctrl+Z: Undo
  • Ctrl+Y: Redo
  • Ctrl+S: Save
  • Ctrl+O: Open file
  • Ctrl+Shift+O: Open folder

You can edit hotkeys.json in the project root, for example:

{
  "undo": "Ctrl+Z",
  "redo": "Ctrl+Y",
  "save": "Ctrl+S",
  "openFile": "Ctrl+O",
  "openFolder": "Ctrl+Shift+O"
}

Leave a value empty to disable that hotkey.

Roadmap 🗺️

  • Basic Markdown input and rendering
  • File open/save
  • Sidebar file tree + outline
  • Code blocks + syntax highlighting + language selection
  • Table render + edit
  • Undo/redo + hotkey configuration
  • Image paste + local storage
  • Hybrid editing (source/preview switch)
  • File watching (Rust notify)
  • Custom title bar
  • Export (HTML/PDF/long image)
  • Packaging (Windows/macOS)

License 📄

MIT

About

LumiWrite is a local-first, lightweight, and high-performance Markdown editor.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages