One file, one pipeline, zero servers. The same base64-injected, self-contained HTML powers both the macOS Finder Quick Action and this web app — rendered document on the left, syntax-highlighted source on the right.
Nothing is uploaded. Everything locally rendered.
Right-click any .md in Finder — no app to launch.
Quick Actions → View Markdownmdview "$file"opens itDrop, paste, or open a file right here. Fully client-side.
Fonts, CSS and every JS library are inlined into one HTML file. It works with no internet, no npm, no runtime dependencies.
base64 sidesteps every HTML-escaping bug; DOMPurify strips scripts and event handlers from the rendered side.
[data-theme] × [data-mode] drive Minimalist and Swiss Grid, each in light and dark — all from CSS custom properties.
A pure Bash generator assembles both outputs. The whole thing is text in, text out — reviewable and diff-able.
Drag the divider to rebalance the panes — or to an edge to collapse one (it glows red, so you can grab it back). Double-click resets to 50/50, and it's fully keyboard-operable. On a phone, a [Rendered | Raw] tab gives each pane the whole screen.
The intro is pre-rendered into the page at build time — jsdom running the same marked + DOMPurify — so search engines and AI assistants see the content with scripts off. For you it renders identically, just a touch faster.
md-viewer is a Quick Action, not an app — double-click / Enter opens your default editor (TextEdit / VS Code), not the viewer. Use one of these, fastest first:
Select the .md → press the shortcut → open. One keystroke. Set it up once:
System Settings → Keyboard → Keyboard Shortcuts… → Services → “Files and Folders” →
View Markdown → assign e.g. ⌃⌘M.
Show the preview pane (⌘⇧P), select the file → the Quick Action buttons appear at the bottom → click View Markdown. No submenus.
Right-click the .md → Quick Actions → View Markdown.
Solid, but one submenu deep.