Hacker News new | ask | show | jobs
Show HN: Markdown Prism – A Non-Electron Markdown Editor for macOS (prism.huconn.xyz)
5 points by hulryung 128 days ago
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?

2 comments

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.`

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?

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.