From 723fcad848a0e7f7b10abf9eeef0330abc6fcbc8 Mon Sep 17 00:00:00 2001 From: Arthur <106233257+Crackx17@users.noreply.github.com> Date: Sat, 28 Mar 2026 14:47:27 +0100 Subject: [PATCH 1/2] Add MacMD Viewer to tools directory --- _tools/macmd-viewer.md | 74 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 _tools/macmd-viewer.md diff --git a/_tools/macmd-viewer.md b/_tools/macmd-viewer.md new file mode 100644 index 00000000..f3b459cd --- /dev/null +++ b/_tools/macmd-viewer.md @@ -0,0 +1,74 @@ +--- +title: MacMD Viewer +category: "documents" +description: "MacMD Viewer is a native macOS Markdown viewer with Mermaid diagram support, QuickLook extension, and syntax highlighting." +icon: macmd-viewer.png +website: https://macmdviewer.com +syntax: + - id: headings + available: y + - id: paragraphs + available: y + - id: line-breaks + available: y + - id: bold + available: y + - id: italic + available: y + - id: blockquotes + available: y + - id: ordered-lists + available: y + - id: unordered-lists + available: y + - id: code + available: y + - id: horizontal-rules + available: y + - id: links + available: y + - id: images + available: y + - id: tables + available: y + - id: fenced-code-blocks + available: y + - id: syntax-highlighting + available: y + notes: "Supports 190+ languages via highlight.js." + - id: footnotes + available: n + - id: heading-ids + available: y + notes: "Automatically generated from heading text." + - id: definition-lists + available: n + - id: strikethrough + available: y + - id: task-lists + available: y + - id: emoji-cp + available: y + - id: emoji-sc + available: n + - id: highlight + available: n + - id: subscript + available: n + - id: superscript + available: n + - id: auto-url-linking + available: y + - id: disabling-auto-url + available: n + - id: html + available: y +--- + +[MacMD Viewer](https://macmdviewer.com) is a native macOS application for viewing Markdown files. Built with SwiftUI, it provides a fast, focused reading experience without the overhead of an editor. MacMD Viewer is designed for people who write Markdown in their editor of choice and want a dedicated, reliable way to preview the rendered output. + +MacMD Viewer includes a QuickLook extension, so you can preview Markdown files directly in Finder by pressing the spacebar. It also ships with built-in Mermaid diagram rendering, making it a good fit for technical documentation that includes flowcharts, sequence diagrams, and other visualizations. Syntax highlighting covers 190+ programming languages via highlight.js. + +The application features a table of contents sidebar that highlights the active heading as you scroll, file watching for live updates when the source file changes, and a clean, distraction-free interface. MacMD Viewer is available as a one-time purchase for $19.99. + +{% include tool-syntax-table.html %} From 959d292b412dba6e6134cbe42aff0ef2a3fe7b02 Mon Sep 17 00:00:00 2001 From: Arthur Date: Thu, 25 Jun 2026 00:31:46 +0200 Subject: [PATCH 2/2] Add tool icon and refine MacMD Viewer entry - Add the missing 200x200 tool icon (entry referenced an icon that was never committed, so it rendered broken) - Drop the inflated '190+ languages' claim (ships the highlight.js common subset) - Mark heading IDs as partial: auto-generated, no custom IDs - Tone down the description per the directory's minimal-marketing guideline --- _tools/macmd-viewer.md | 13 ++++++------- assets/images/tool-icons/macmd-viewer.png | Bin 0 -> 9934 bytes 2 files changed, 6 insertions(+), 7 deletions(-) create mode 100644 assets/images/tool-icons/macmd-viewer.png diff --git a/_tools/macmd-viewer.md b/_tools/macmd-viewer.md index f3b459cd..14493bb1 100644 --- a/_tools/macmd-viewer.md +++ b/_tools/macmd-viewer.md @@ -1,7 +1,7 @@ --- title: MacMD Viewer category: "documents" -description: "MacMD Viewer is a native macOS Markdown viewer with Mermaid diagram support, QuickLook extension, and syntax highlighting." +description: "MacMD Viewer is a native macOS app for reading Markdown files, with a Quick Look extension, Mermaid diagrams, and live reload." icon: macmd-viewer.png website: https://macmdviewer.com syntax: @@ -35,12 +35,11 @@ syntax: available: y - id: syntax-highlighting available: y - notes: "Supports 190+ languages via highlight.js." - id: footnotes available: n - id: heading-ids - available: y - notes: "Automatically generated from heading text." + available: p + notes: "Automatically generated from heading text. There's no way to set custom heading IDs." - id: definition-lists available: n - id: strikethrough @@ -65,10 +64,10 @@ syntax: available: y --- -[MacMD Viewer](https://macmdviewer.com) is a native macOS application for viewing Markdown files. Built with SwiftUI, it provides a fast, focused reading experience without the overhead of an editor. MacMD Viewer is designed for people who write Markdown in their editor of choice and want a dedicated, reliable way to preview the rendered output. +[MacMD Viewer](https://macmdviewer.com) is a native macOS application for reading Markdown files. Built with SwiftUI, it renders Markdown as a read-only document and pairs with whatever editor you use to write it. -MacMD Viewer includes a QuickLook extension, so you can preview Markdown files directly in Finder by pressing the spacebar. It also ships with built-in Mermaid diagram rendering, making it a good fit for technical documentation that includes flowcharts, sequence diagrams, and other visualizations. Syntax highlighting covers 190+ programming languages via highlight.js. +It includes a Quick Look extension, so you can preview a Markdown file from Finder by pressing the spacebar. It renders Mermaid diagrams, highlights fenced code blocks, and watches the open file so the preview reloads when you save. A sidebar lists the document's headings and tracks your position as you scroll. -The application features a table of contents sidebar that highlights the active heading as you scroll, file watching for live updates when the source file changes, and a clean, distraction-free interface. MacMD Viewer is available as a one-time purchase for $19.99. +MacMD Viewer is available as a one-time purchase. {% include tool-syntax-table.html %} diff --git a/assets/images/tool-icons/macmd-viewer.png b/assets/images/tool-icons/macmd-viewer.png new file mode 100644 index 0000000000000000000000000000000000000000..d3663e49b2846c6f322924711135029a25b28880 GIT binary patch literal 9934 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