Skip to content

Repository files navigation

MZO.md (Note-App)

A minimalist, local-first note app for desktop.

Built with Electron, TypeScript, SQLite, and TipTap / ProseMirror.

Features

  • Local-first storage with SQLite
  • Optional auto-export to markdown files
  • Fast note-search with FTS5
  • Markdown-focused editing with TipTap / ProseMirror
  • Connect and organize notes with links and tags
  • Export notes to Markdown, Plain Text, HTML, JSON and PDF
  • Import notes from Markdown, Plain Text, HTML and JSON
  • Focus Mode and adjustable editor width (Ultrawide support)
  • Light and dark theme support

Stack

  • Electron
  • TypeScript
  • TipTap / ProseMirror
  • electron-vite
  • Vite
  • DOMPurify
  • Zod
  • Lucide

Install

Requirements:

  • Node.js 20+
  • npm 10+
git clone https://github.com/MZO26/MZO.md.git
cd MZO.md
npm install

Scripts

Command Description
npm run dev Start development mode
npm run pack:mac Build macOS app
npm run pack:win Build Windows app
npm run pack:linux Build Linux app
npm run typecheck Run TypeScript type check

Keyboard Shortcuts

Note

Shortcuts use $mod which maps to Ctrl on Windows/Linux and Cmd on macOS.


Click to view all App Shortcuts
Shortcut Action
Mod + N Create new note
Mod + G Open global search
Mod + F Open doc search
Mod + S Toggle selection
Mod + O Toggle sidebar
Mod + . Toggle toolbar
Mod + W Set editor width
Mod + , Open settings
Mod + + / Mod + = Zoom in
Mod + - Zoom out
Mod + 0 Reset zoom
F11 Toggle focus mode
Mod + P View recent notes

Click to view all Editor Shortcuts
Shortcut Markdown Action
History & Selection
Mod + Z Undo
Mod + Y Redo
Mod + Shift + Z Redo
Mod + A Select all
Inline Formatting
Mod + B **text** Bold
Mod + I *text* Italic
Mod + S ~~text~~ Strikethrough
Mod + H ==text== Highlight
Mod + E `code` Inline code
Mod + Shift + E $math$ Inline Math
Headings & Paragraphs
Mod + Shift + 1 # Heading 1
Mod + Shift + 2 ## Heading 2
Mod + Shift + 3 ### Heading 3
Mod + Shift + 4 #### Heading 4
Mod + Shift + 5 ##### Heading 5
Mod + Shift + 6 ###### Heading 6
Lists
Mod + Shift + O 1. Ordered list
Mod + Shift + L - Bullet list
Mod + Shift + T [] Task list
Tab Indent list item
Shift + Tab Outdent list item
Enter Next list item
Blocks & Elements
Mod + Shift + B > Blockquote
Mod + Shift + C ``` Code block
Mod + Shift+ M $$math$$ Math block
Mod + Shift + R --- Horizontal rule
Shift + Enter Hard break (<br>)
Links & Media
Mod + Alt + Enter Open Link
Mod + K Toggle Link
Mod + Alt + I Insert image
Tables
Mod + Alt + T Insert table
Mod + Alt + Add row after
Mod + Alt + Add row before
Mod + Alt + Add column after
Mod + Alt + Add column before
Mod + Alt + Backspace Delete table
Editor Controls
Mod + Shift + V Paste without formatting
Escape Remove focus from editor
Mod + Shift+Enter Insert Space at end of a block

Architecture

Directory Structure

.
├── electron/       # Main process
├── shared/         # Shared types, constants, schemas
└── src/            # UI, components, settings, styles, state

Data Flow

flowchart TD
    A[Renderer] -- IPC via preload --> B[Main Process]
    B --> C[(SQLite Database)]
Loading

Bug reports

I'm always looking to improve this project. If you find a bug or have a feature suggestion, please let me know.

License

MIT

Releases

Packages

Used by

Contributors

Languages