Updated for Markion v0.3.1 · 2026-09-04

DOCUMENTATION

Frequently asked questions

Answers about platforms, updates, Markdown support, recovery, and troubleshooting—plus the limitations known in the current release.

What is Markion?

Markion is a native desktop Markdown editor built in Rust with the GPUI GPU-accelerated UI framework. It offers four view modes—Edit, Visual Edit, Split, and Read—plus an outline, a file-tree workspace panel, find-and-replace, focus and typewriter modes, and export to several formats.

Which platforms are supported?

PlatformTargetNotes
Windowsx86_64-pc-windows-msvcWindows 10 and later; NSIS .exe installer
macOSaarch64-apple-darwinApple Silicon native; min macOS 11.0; no Intel Mac package or universal binary is currently provided
Linuxx86_64-unknown-linux-gnuBuilt on Ubuntu 22.04; ships as .deb and .AppImage

Releases are not platform code-signed, so on first launch you can still see Gatekeeper (macOS) or SmartScreen (Windows) warnings; bypass them manually to run Markion. The Windows x86_64 in-app updater separately verifies its NSIS payload with a Minisign key, which does not suppress SmartScreen. macOS and Linux update actions open the release download in the system browser. Linux users installing the .deb get the required runtime libraries (Wayland / X11 / Vulkan / fontconfig) pulled in automatically.

Which Markdown features are supported?

Markion uses pulldown-cmark (CommonMark + GFM) with the following enabled:

  • CommonMark baseline
  • GitHub Flavored Markdown: tables, strikethrough, task lists, autolinks
  • Footnotes
  • Math formulas ($inline$ and $$block$$)
  • ```mermaid Mermaid diagrams (fenced code blocks—flowcharts, sequence diagrams, and more)
  • Smart punctuation (smart quotes, dashes)
  • Heading attributes
  • YAML front matter (--- delimited, with title / author / date used by exports)
  • Extended inline syntax (Markion-specific, layered on top of pulldown-cmark text runs): ==highlight==, ^superscript^, ~subscript~, emoji shortcodes such as :smile: and :heart:, bare autolinks

See Markdown & rendering for details. Footnotes are always enabled—there is no toggle for them.

What are the four view modes?

Cycle through the four modes with Ctrl+Shift+V (default is Visual Edit), or jump straight to one with Ctrl+//Ctrl+E/Ctrl+P/Ctrl+R: Edit (raw Markdown source only), Visual Edit (WYSIWYG-first, source-backed), Split (source left, rendered preview right), and Read (rendered preview only, non-editing). Switching modes preserves the active document, cursor/selection, undo history, and per-tab scroll state. See Editing modes.

How is math typeset?

On-screen rendering (Split/Read preview and Visual Edit) uses an embedded RaTeX engine (KaTeX-compatible, bundled fonts) to typeset $inline$ and $$block$$ formulas into cached SVG—no network access and no external LaTeX install required. LaTeX export keeps the native $...$/$$...$$ source for the reader's own toolchain; the built-in DOCX export degrades formulas to a readable Unicode plain-text approximation rather than embedding typeset glyphs.

How do auto-save and crash recovery work?

Markion writes recovery snapshots after five seconds of inactivity by default and silently saves named files. Preferences → General lets you disable Silent Save while keeping recovery, or set a 1–300 second delay. Set enabled = false to disable both:

[auto_save]
enabled = true
silent_save = true
delay_secs = 5

For documents that have never been saved to a file, Markion writes a recovery copy to the recovery directory. If Markion exits unexpectedly, the next launch offers to restore the unsaved work from that copy. The title bar shows a * suffix next to the file name when there are unsaved changes.

How does it perform on large documents?

Markion caches derived document state (preview blocks, outline, statistics, syntax highlighting) per document version and shares it via Arc, so typing in large documents does not re-derive everything on every keystroke. The syntect grammar registry is loaded off the main thread at startup so first render stays responsive. Source-mapped Visual Edit incrementally reuses independently parseable regions after localized edits, falling back to a full derivation whenever Markdown context or byte ranges are uncertain; Split/Read preview derivation stays debounced and cached rather than incremental. Markion still uses a String buffer rather than a rope, and some semantic reads intentionally require a full parse.

Troubleshooting

  • macOS says Markion “can't be opened because it is from an unidentified developer.” This is Gatekeeper. Right-click the app and choose Open, or in System Settings → Privacy & Security click Open Anyway. Releases are unsigned.
  • Windows SmartScreen warns before running the installer. Click More info → Run anyway. Releases are unsigned.
  • How do I choose a PDF backend? Open Preferences → Export and select the built-in engine or Pandoc. The default built-in engine supports CJK text, images, tables, code, and vector math without external tools. Pandoc needs its toolchain and falls back to the built-in engine when unavailable or conversion fails. The status bar identifies the backend used.
  • A custom theme is not appearing in Preferences. Confirm the .toml file is in the themes directory (see the data-directory table in Themes, languages & preferences), that its name field is set and non-empty, and that no built-in theme has the same name (built-ins take precedence).
  • Where are the logs? See the Logs dir column of the data-directory table in Themes, languages & preferences. Set RUST_LOG=debug before launching to increase verbosity.

Known limitations

  • Visual Edit is WYSIWYG-first while retaining canonical Markdown; constructs without a proven byte-exact rendering expose exact source as a transitional affordance (tracked on the WYSIWYG coverage roadmap) rather than accepting a guessed rich-tree mutation, and block reordering is offered only when non-overlapping source boundaries are provable.
  • On-screen rendering (Split/Read preview and Visual Edit) typesets math with the embedded RaTeX engine; LaTeX export keeps native $...$/$$...$$ source for the reader's own toolchain, and the built-in DOCX export fallback still degrades formulas to a readable plain-text approximation rather than embedding typeset glyphs.
  • Visual Edit table cells support direct plain-text editing, but do not yet provide rich inline-formatting controls inside cells. Reference/multiline images, malformed tables, and HTML entities in body text remain known WYSIWYG coverage roadmap gaps that keep source-backed editing paths.
  • One-click updates install the Windows NSIS distribution after Minisign verification; macOS bundle replacement and Linux .deb/AppImage self-replacement remain future work, and updater authentication is not Windows Authenticode or Apple notarization.
  • A full custom-theme installation UI is not implemented; theme files still go into the themes directory manually.
  • Image export is a static snapshot of document layout, and very large documents do not yet use a rope or fully incremental parsing across every derived subsystem.

Reporting bugs

Please file issues at GitHub Issues. Including the Markion version (shown in the first log line on startup) and the platform helps.