Show HN: Markdown Prism – A Non-Electron Markdown Editor for macOS (prism.huconn.xyz)
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?
3 comments
[ 3.1 ms ] story [ 17.3 ms ] threadI'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.`
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?
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.