features · v1.0.0
Every character does exactly one thing.
Twenty-three prefix characters, two inline notations for note links and embeds, and a stack of small quality-of-life features. That is Mudlark.
The eight basics.
- #HeadingsectionCreates a section heading. Everything below it groups under that heading on the right.# Project Notes→Project Notes
- +Tasktodo itemAdds an unchecked task. Tasks float to the top of their section on the right.+ Buy groceries→☐ Buy groceries
- −DoneactionChecks off a task by fuzzy-matching its name. Content after the space is the task name to match. Use _ to remove items of any other type.- buy gr→☑ Buy groceries
- !HighlightemphasisMarks a line as important. Rendered bold and prominent on the right.! Demo is at 3pm→Demo is at 3pm
- ?Questionopen loopFlags a line as a question. Rendered in italics on the right so open questions stay visible.? Should we move the deadline?→Should we move the deadline?
- "QuoteblockWraps a line in a styled blockquote with a left border." Simple things should be simple→“Simple things should be simple”
- *Bulletlist itemCreates a bullet point. Multiple bullets form a list under the nearest heading.* Bring the good coffee→• Bring the good coffee
- @MediamediaEmbeds an image or video from a file path, URL, or dropped file.@ photo.jpg→[image: photo.jpg]
Fifteen more for advanced use.
- %Numberedordered listCreates a numbered list item. Auto-numbered on the right side.% First step→1. First step
- `Codesyntax-highlightedA line of code. Add a language hint right after the prefix for syntax highlighting.`js console.log("hello")→console.log("hello")
- =Mathinline evalEvaluates a math expression inline. Unit-aware arithmetic across lengths, weights, times, and temperatures. Variables and constants (pi, e) included.= 100 km to mi→62.14 mi
- :TimercountdownStarts a countdown timer. Notifies when done. Supports multi-phase timers (e.g. 5m work, 5m rest).: 25m→25:00 ▶
- ;LooploopingStarts a looping timer that restarts automatically when it finishes.; 5m→5:00 ↻
- &TablerowCreates a table row. Use | to separate columns. First row becomes the header.& Name | Role | Status→Name | Role | Status
- >MoverelocateRe-parents an item to the current section by type and fuzzy match. Requires a type prefix. Add a pipe to send to a specific section (e.g. > + fix or > + fix | Home). Double the type prefix (> ++ name) to move a whole named block instead of one item.> + fix bug→[moved: fix bug]
- .Write-towrite-toCreates an item of a target type under a destination heading. Requires a pipe destination (e.g. . + milk | Shopping).. + eggs | Shopping→[added to Shopping]
- _RemoveRemoves an item or section by type and fuzzy match (e.g. _ ! ship or _ # old). The inner type prefix needs its own trailing space. Double the inner prefix (_ ++ name) to remove a whole named block. That is the only way to target composite blocks like code, tables, or math._ ? deadline→[question removed]
- /CommentprivateA private note that only appears on the left side. Never rendered on the right./ todo: revisit this later→(hidden)
- ~RuleseparatorDraws a horizontal rule. Completions and moves cannot cross it. Add a label to center text on the rule.~ Chapter 2→——— Chapter 2 ———
- ,FindsearchSearches content above. Add | replacement to replace all matches. Add @ heading to scope to a section., search | replace→[3 replaced]
- ^FootnotefootnoteDefines a footnote. Drop a bare ^ at the end of a word (no space) to attach a sentinel. On its own line, ^ text defines the footnote. Sentinels and definitions pair by source order.^ The cat was orange.→¹ The cat was orange.
- \EscapeliteralMakes the rest of the line plain text. Bypasses all prefix parsing.\ + Not a task→+ Not a task
- $Metadatametadata chipPer-note metadata surfaced as a chip in the rendered pane. Use key=value rows like $ tags=trip, $ source=https://… or free-form notes like $ remember the shipping address.$ tags=lisbon, trip→[tags: lisbon, trip]
capabilities
Twenty more capabilities.
- Quick capture
⌥Space opens a capture bar from any app, ⌥⇧Space pre-fills it from the clipboard. You stay in your current app.
- Dual-pane editor
Write on the left, read the organized version on the right.
- Note links
[[Title]] links any note. Renames keep every reference in sync.
- Inline embeds
{{ }} drops images, video, math, code, and live timers inline.
- Media galleries
@@ blocks lay media out in justified rows, no cropping.
- Live timers
Countdowns and loops, ticking inside any sentence.
- 20 themes
Ten light, ten dark. Or build your own with the theme builder.
- Export
Send notes and tasks to 12+ destinations.
- Automation
Control Mudlark via mudlark:// and Apple Shortcuts.
- Custom shortcuts
Rebind every keystroke. Change the prefix characters.
- Reader mode
Toggle a rendered-only view of your note.
- Named blocks
Group lines into named blocks for easier organization.
- Window pinning
Pin above other windows to keep Mudlark visible.
- Inline formatting
*italic*, **bold**, and `code` inside any line.
- Smart typography
Auto-converts arrows, symbols, fractions, smart quotes.
- Spell check
Underlines as you type, right-click to correct. Code is excluded.
- Custom callouts
Define your own line type with prefix, icon, color, style.
- Category order
Reorder or hide item categories in the rendered pane.
- Note pinning
Pin notes to protect them from auto-cleanup.
- Cheat sheet
Full reference for every prefix and shortcut (⌃⌘/).