Back to feed

pluk-inc/md-preview

pluk-inc/md-preview
391
+348/day
20
Swift

A simple Markdown viewer for reading .md files

From the README

Markdown Preview

A fast, native macOS app for reading Markdown files.

   

Drop a .md on the icon (or set Markdown Preview as your default handler) and get a clean, scrollable preview with a real document outline — no Electron, no browser tab.

Screenshots

Quick Look preview — spacebar a .md in Finder:

Features

  • Native renderingWKWebView pipeline backed by swift-markdown, with heading anchors and link handling.
  • Mermaid diagrams — fenced mermaid code blocks render as diagrams in both the app and Quick Look previews, using a bundled renderer so previews work offline without a CDN request.
  • Document outline — sidebar TOC that mirrors your headings; click to jump.
  • Inspector panel — toggleable side panel with file metadata.
  • In-document search — toolbar search field plus standard ⌘F / ⌘G / ⌘⇧G for next/previous match.
  • Open With — switch to your real editor (VS Code, Cursor, Zed, Sublime, BBEdit, Nova, CotEditor, TextMate, MacVim, Xcode, TextEdit) without leaving the preview. The list filters to apps that actually declare an editor role for Markdown, and remembers your pick.
  • Share = copy the source — the share toolbar feeds the picker the Markdown text itself, so Copy writes the raw source to the clipboard (great for pasting into ChatGPT / Claude), and Mail, Messages, and Notes get the content in the body instead of a file URL.
  • Quick Look extension — system-wide .md previews from Finder spacebar, Spotlight, and Mail attachments without launching the app.
  • Default handler — offers to register itself as the default .md opener on first launch.

Supported file types

.md, .markdown, .mdown, .txt UTI: net.daringfireball.markdown

Installation

Grab the latest signed and notarized DMG from the Releases page.

Requirements

  • macOS 15 or later
  • Apple Silicon or Intel

Building from source

git clone git@github.com:pluk-inc/md-preview.app.git
cd md-preview.app
open md-preview.xcodeproj

Build and run the md-preview scheme. Swift Package Manager will resolve Sparkle and swift-markdown on first build.

Project layout

md-preview/         Main app target (AppKit, WKWebView)
quick-look/         Quick Look extension (.appex)
scripts/            Release & rollback automation
Version.xcconfig    Marketing & build version (single source of truth)
appcast.xml         Sparkle update feed

Releasing

Releases are driven by Amore — it handles building, code signing, notarization, DMG creation, S3 upload, and Sparkle appcast publishing in one shot.

Bump MARKETING_VERSION and CURRENT_PROJECT_VERSION in Version.xcconfig, then:

./scripts/release.sh

Use ./scripts/rollback-release.sh to revert the appcast pointer if a release misbehaves.

Contributing

Pull requests are welcome. For larger changes, please open an issue first to discuss what you'd like to chang