Skip to content

MosuWhat you type is what you see

An open-source WYSIWYG Markdown editor. No split pane, no preview pane — just one editing surface.

Mosu
Mosu editing a document with a table, task list and math
Mosu in its dark theme

These screenshots are taken by a script driving the real app (pnpm screenshots), not mockups — the column widths, the typeset formula and the diagram below are all computed by the product itself.

Markers appear only when the cursor arrives

This is the whole interaction, and it is what separates the editor from "source on the left, preview on the right": normally you see typeset text; move the cursor in, and the Markdown markers for that one element appear in place so you can edit them. No mode switch, no second pane.

With the cursor elsewhere, bold text shows only its formatting

Cursor outside — formatting only

With the cursor inside, the asterisks around the bold text appear

Cursor inside — the ** come back

Code, math and diagrams live in the same surface

Code blocks are highlighted per language and do not wrap along with prose; math goes through KaTeX; a ```mermaid fence renders straight to a diagram. All of it is lazy-loaded — a document that uses none of these pays no startup cost for them.

A TypeScript code block with syntax highlighting above a mermaid flow chart

Where the project stands

Usable, but not formally released yet. Version 0.1.0. The most recent batch of work (milestone "M4.5") is done:

GFM (tables, task lists, strikethrough, footnotes), math, Mermaid diagrams, an outline panel, a command palette, crash recovery, six themes, HTML and PDF export, copy-as-rich-text, paste-HTML-as-Markdown, table editing, a file tree, tabs, session restore, a settings panel, inline HTML rendering, customisable shortcuts, focus mode, typewriter mode and a Chinese/English/Japanese interface are all working.

Not there yet: the plugin system, cross-file search, user theme directories with hot reload, block-level HTML rendering (that one is a deliberate no, see the roadmap), drag-to-resize table columns, PDF headers/footers and TOC page numbers, rename/create/delete in the file tree, and Pandoc-based export (DOCX / ePub).

Every milestone ends with a "what actually differed from the plan" section listing exactly what was cut and why. That list is part of the project, not an embarrassment to hide.

Trying it

There is no tagged release yet, but every push to main produces installers for all three platforms under Actions.

⚠️ Those builds are unsigned. macOS will refuse them on first launch (right-click → Open, or allow them under System Settings → Privacy & Security) and Windows SmartScreen will warn. This is not a problem with the app — the signing certificates simply are not configured yet.

Running from source is easier:

bash
pnpm install
pnpm dev

A note on the documentation

The design documents are written in Chinese and are not translated. That is a deliberate trade-off rather than unfinished work: there are nine design documents plus five architecture decision records, they change as development goes on, and translating a moving target costs not one translation but one per revision, forever.

They are worth a machine translation if you are curious, because they are not feature lists — they record trade-offs and mistakes:

Relationship to Typora

The commercial product with a comparable experience is Typora. This project is an independent implementation: it reuses none of its code, assets or interface materials, and borrows only the seamless live-preview interaction model. The two are not affiliated.

Released under the MIT License. Not affiliated with Typora.