Product Introduction
- Definition: MuM is a native macOS Markdown reader and rendering engine, built entirely with Apple's AppKit framework. It is technically categorized as a document viewer and a command-line interface (CLI) tool for static site generation and automated content processing.
- Core Value Proposition: MuM exists to solve the inefficiency of using writing-centric Markdown editors for reading and referencing documentation. Its core proposition is delivering a fast, native, reading-first experience with hand-built typesetting, multi-project management, and a lightweight CLI for automation, making it ideal for developers, technical writers, and researchers managing large knowledge bases.
Main Features
- Native AppKit Rendering Engine: MuM forgoes embedded web engines (like WebKit) and implements its own Markdown parser and typesetter directly in AppKit. This results in near-instantaneous cold starts (~0.3s), ultra-smooth scrolling performance (100+ fps), a tiny installer size (1.7 MB), and precise control over text layout, especially for CJK (Chinese, Japanese, Korean) typography.
- Multi-Project Workspace Management: Unlike single-folder editors, MuM allows users to keep multiple independent projects (e.g., code repositories, documentation sets) open simultaneously. Projects are switchable via keyboard shortcuts (⌘1…⌘9), each maintaining its own state, including reading position memory, outline, and search history, effectively answering "where am I" across different contexts.
- Cross-Project Search and Navigation: It features a fuzzy-find file search (⌘P) and a powerful cross-project content search (⌘⇧F) that streams results from every open project. The outline navigator (⌘⇧O) and reading history navigation (⌘[ / ⌘]) provide non-linear access to content without losing context.
- CJK-Tuned and Semantic Typesetting: The rendering engine applies measured rules for CJK line height, punctuation compression, and mixed-script (Latin + CJK) spacing. It also semantically renders inline HTML tags (e.g.,
<small>,<mark>,<sup>) within Markdown, keeping the tags hidden while preserving their visual and semantic meaning. - Windowless CLI Rendering Engine: The same core typesetting engine is available via the
mumCLI command for headless rendering. It can convert Markdown files to PNG images or paged PDFs (honoring CSS-like page-break hints) and output structured data like document outlines in stable JSON format, making it ideal for automated workflows, CI/CD pipelines, and AI agents.
Problems Solved
- Pain Point: The friction of reading and referencing Markdown documentation scattered across multiple folders and projects using slow, bloated, or writing-focused editors. Traditional tools prioritize editing features over reading efficiency, lack project-context memory, and have poor performance with large files.
- Target Audience: Software Developers and DevOps Engineers managing code documentation; Technical Writers maintaining multi-repository docs; Researchers and Academics working with notes and papers in Markdown; Knowledge Managers curating personal or team wikis; Automation Engineers needing reliable Markdown-to-PDF/PNG conversion in scripts.
- Use Cases: Quickly referencing API documentation across several cloned Git repositories; reviewing and searching through a personal knowledge base of meeting notes and research; generating cover images or formatted PDF reports from Markdown files in a build pipeline; presenting Markdown slides or notes in a clean, focused reading view without editing UI clutter.
Unique Advantages
- Differentiation: Compared to universal Markdown editors (VS Code, Typora, Obsidian), MuM is exclusively a reader/processor, not a writing app, which allows for extreme performance optimization. Versus other native apps, its multi-project context memory and CJK-specific typesetting are unique. Versus web-based viewers, its native AppKit foundation guarantees superior performance and system integration.
- Key Innovation: The decoupling of the hand-built AppKit typesetting engine to serve both a interactive GUI and a deterministic CLI. This provides a consistent, high-quality output channel for both human reading and machine automation from a single codebase, with classified exit codes (0-4) for robust script handling.
Frequently Asked Questions (FAQ)
- Is MuM a good replacement for Obsidian or VS Code for note-taking? No, MuM is not designed as a primary note-taking or writing application. It lacks real-time editing features, plugins, and a graph view. Its strength is as a complementary high-performance reader and renderer for content created in those tools.
- How does MuM achieve such a small file size and fast startup? MuM's 1.7 MB size and ~0.3s cold start are achieved by being a native macOS AppKit application without any embedded web browser engine, Electron framework, or unnecessary dependencies. All rendering is done by optimized macOS system frameworks.
- Can MuM render mathematical equations or Mermaid diagrams? Based on its current feature set focusing on pure AppKit rendering, MuM does not support LaTeX math or Mermaid.js diagrams. It is optimized for textual content, code, basic tables, and embedded images/PDFs.
- What does "CJK-tuned typesetting" mean in practice? It means MuM applies specific typographic rules for Chinese, Japanese, and Korean text, such as proper handling of full-width punctuation, avoiding excessive space between mixed scripts, and optimal line height (leading) for readability, which are often ignored or poorly implemented in standard Markdown previewers.
- How can I use the MuM CLI in my automation workflow? The
mum rendercommand can be integrated into scripts to generate PNG previews or print-ready PDFs from Markdown. Themum outlinecommand outputs a JSON-structured table of contents, useful for automated documentation indexing or validation checks, with clear success/error codes for scripting logic.
