MarkHola is a lightweight desktop Markdown reader and editor built with Rust for Apple Silicon Macs.
v0.7.6
- Readonly and writable modes with
Command + /mode switching - Create a new blank Markdown document with
File > NeworCommand + N - Open local
.mdand.markdownfiles (Open File supports multi-select) - Open and keep multiple Markdown documents in one window
- Export the current document to PDF from
File > Export > PDF - Export the current document to HTML from
File > Export > HTML - Print the current document from
File > Print - Switch app shell themes from
View > Theme > Default / GitHub / Dark / Light - Load the app shell themes from editable files under
themes/<theme>/layout.css - Save the current document with
Command + S - Save a new unsaved document by choosing a path on first save
- Save the current document to another path with
File > Save As - Open the bundled documentation from
Help > Documentation - Render headings, links, images, tables, lists, blockquotes, and code blocks
- Syntax-highlighted fenced code blocks in readonly mode
- Improved mainstream language highlight coverage for fenced code blocks
- Mathematical expressions in readonly mode, including inline math,
$$...$$, and fencedmathblocks - Code block line numbers and hover language badges in readonly mode
- Render Mermaid fenced code blocks in readonly mode
- Support
[toc]placeholder for table of contents in readonly mode - In-page find in readonly mode with
Command + F - In-page find and replace in writable mode with
Command + F - Writable editor line numbers
- Writable editor shortcuts:
Command + Aselect allCommand + C / V / Xcopy, paste, and cutCommand + Z / Rundo and redoCtrl + A / Emove to line start and line endTab / Shift + Tabindent and outdent, including multi-line selections
Command + Wclose the current document tab- Drag and drop files into the window
- Toggle fullscreen document viewing from
View > Toggle Full Screen - Open Markdown files from Finder on macOS
- Open external links in the default browser
- macOS app bundle and DMG packaging
- macOS on Apple Silicon
- Rust
block2chardetngencoding_rsicnslopdfobjc2objc2-app-kitobjc2-core-foundationobjc2-foundationobjc2-web-kitopenpulldown-cmarkrfdserdeserde_jsonsyntecttaourlwry
Run tests:
cargo testRun release regression checks:
./scripts/release_regression.shRun release regression checks with packaging:
./scripts/release_regression.sh --with-packageUse the full release publish workflow before uploading a GitHub release:
open scripts/release_publish_workflow.mdBuild the app:
cargo buildCreate the macOS app bundle and DMG:
./scripts/package_dmg.shRelease order for GitHub publishing:
./scripts/release_regression.sh --with-package- sandbox-validate the exact DMG candidate
- create the GitHub release draft and upload that validated DMG
- publish the release only after the sandbox checks pass
src/: desktop app source codesrc/bin/make_icns.rs: macOS icon generation helperassets/: logo and icon sourcesexamples/: sample Markdown files for manual verificationscripts/: packaging scriptsscripts/release_publish_workflow.md: pre-publish sandbox validation and GitHub release workflowthemes/: directly editable app theme filesassets/help/: bundled in-app help markdown files
