Settings

Theme

Show HN: Markdown Prism – A Non-Electron Markdown Editor for macOS

prism.huconn.xyz

5 points by hulryung 5 months ago · 3 comments · 2 min read

Reader

Hi HN,

I built a macOS-native Markdown viewer/editor called Markdown Prism.

Website: https://prism.huconn.xyz

GitHub: https://github.com/hulryung/markdown-prism

I originally built this for myself. I wanted a lightweight Markdown viewer on macOS that:

wasn’t Electron-based

rendered GFM properly

supported LaTeX math and Mermaid diagrams

worked fully offline

Most native apps I tried were either minimal but missing key features (math, diagrams), or full-featured but Electron apps. I wanted something in between — native feel, but with the mature JS Markdown ecosystem.

How it works

It’s a hybrid approach:

SwiftUI for the native app shell

WKWebView for rendering

markdown-it, KaTeX, highlight.js, and Mermaid.js bundled locally

So you get native performance and integration (Quick Look, file watching, drag-and-drop), but still benefit from battle-tested JS rendering libraries. Everything is bundled for offline use.

Features

Split-pane editor with live preview (400ms debounce)

GFM (tables, task lists, strikethrough)

LaTeX math via KaTeX

Mermaid diagram support

Syntax highlighting (190+ languages)

Quick Look extension (preview .md in Finder)

Dark mode

File watching for external edits

Install via:

brew install hulryung/tap/markdown-prism

or download the DMG from the website.

It’s free and open source (MIT), macOS 14+.

Would love feedback — especially from people who use Markdown heavily. What’s missing? What would make this your daily Markdown tool?

Leftium 5 months ago

Very nice!

I've been using mdserve. A nice feature is a sidebar that lists all the MD files in a directory. I wish it could also list sub-directories.

The reason is because I organize related MD files in directories, with sub-directories. Folders without MD files should be filtered out.

Here is an example project with MD files in both reference and specs (and root) folders. Other folders should be filtered out: https://github.com/Leftium/rift-transcription

---

The brew install did not work; the App source name is wrong: `Error: It seems the App source '/opt/homebrew/Caskroom/markdown-prism/0.2.0/Markdown Prism.app' is not there.`

  • hulryungOP 5 months ago

    Thanks for the bug report! The cask had the app name wrong (Markdown Prism.app vs the actual MarkdownPrism.app). Just pushed a fix — should work now:

    brew update && brew reinstall --cask hulryung/tap/markdown-prism

    --- Short and to the point — acknowledges the report, explains the fix, gives the command. Want me to adjust the tone or add anything?

unmarkdown 5 months ago

Nice to see a native viewer. The electron fatigue is real. I've developed several apps on Electron and have moved away from it.

Curious about the rendering pipeline ... are you using a Swift markdown parser or wrapping something like cmark/commonmark under the hood? The tricky part I've found with GFM rendering is getting tables and task lists to behave consistently, especially when you add LaTeX and Mermaid on top.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection