How schuyler/macdown3000 works
MacDown 3000 is a macOS Markdown editor. Its primary workflow is editing Markdown, rendering it to HTML, and showing a live preview; users can also browse folders, configure editor/rendering preferences, and export HTML or PDF. The graph includes the documented highlighting and rendering extensions, plus PEG Markdown Highlight’s parser/style-parser internals and compiler support. Most application implementations are not sampled, so documented capabilities are represented without guessing their internal call wiring.
Main entry points: MPRenderer.h HTML renderer · MPDocument.h Document · MPEditorView.h Markdown editor · peg-markdown-highlight Editor highlighting
Components 21
Editor Application
- Markdown editor
MacDown/Code/View/MPEditorView.h - Document
MacDown/Code/Document/MPDocument.h - Preferences
MacDown/Code/Preferences/MPPreferences.h
Markdown Rendering
- HTML renderer
MacDown/Code/Document/MPRenderer.h - Hoedown
MacDown/Code/Extension/hoedown_html_patch.c - Live preview
MacDown/Code/Document/MPRenderer.h - Math rendering
MacDown/Resources/MathJax/init.js - Task lists
MacDown/Resources/Extensions/tasklist.js - Table resizing
MacDown/Resources/Extensions/table-resize.js
Syntax Highlighting
- Code highlighting
MacDown/Resources/Extensions - Editor highlighting
Dependency/peg-markdown-highlight - Markdown parser
Dependency/peg-markdown-highlight/pmh_parser_head.c - Parser definitions
Dependency/peg-markdown-highlight/pmh_definitions.h - Style parser
Dependency/peg-markdown-highlight/pmh_styleparser.c - PEG runtime
Dependency/peg-markdown-highlight/greg/greg.c - PEG compiler
Dependency/peg-markdown-highlight/greg/compile.c - Grammar tree
Dependency/peg-markdown-highlight/greg/tree.c
Workspace & Export
- Folder sidebar
MacDown/Code/Sidebar/MPFolderSidebarViewController.h - HTML/PDF export
MacDown/Code/Document/MPDocument.h - Quick Look
MacDownQuickLook/PreviewViewController.h
Other components
- Mac user
Connections 19
- Mac user → Markdown editor: edits Markdown
README.md - Markdown editor → Document: edits document
- Document → HTML renderer: renders document
README.md - HTML renderer → Hoedown: converts Markdown
README.md - HTML renderer → Live preview: updates preview
README.md - HTML renderer → Math rendering: supports math
README.md - HTML renderer → Task lists: supports task lists
README.md - HTML renderer → Table resizing: supports tables
- Markdown editor → Editor highlighting: highlights syntax
README.md - Editor highlighting → Markdown parser: parses Markdown
Dependency/peg-markdown-highlight/pmh_parser_head.c - Markdown parser → Parser definitions: uses definitions
- Editor highlighting → Style parser: parses styles
Dependency/peg-markdown-highlight/pmh_styleparser.c - PEG runtime → PEG compiler: supports compilation
- PEG compiler → Grammar tree: builds grammar tree
- Mac user → Folder sidebar: opens workspace
README.md - Folder sidebar → Document: opens files
README.md - Mac user → Preferences: configures options
README.md - Mac user → HTML/PDF export: exports document
README.md - Document → Quick Look: previews file