MojoPad

Markdown Pages

MojoPad pages come in three text flavors — rich text, Markdown, and plain text — plus file pages for attachments. Set the default for new pages in the Info palette (Document section); convert any page with Convert Page To (in the menu, or the ⇧⌘P command palette), or flip an entire document at once with Convert All Pages to Markdown. Converting rich text to Markdown now keeps your formatting — headings, bold, lists, and links — as Markdown syntax, rather than flattening it to plain text. Storyboards sit out both commands and say so: a board's cards are a structure Markdown has no way to hold, and converting one would quietly flatten it into a bulleted list. To get a board's words out as a document, use its own Send to… button, or export the board directly — see Storyboard.

Markdown, the way you'd hope

Resized an image? The width rides along in the text itself — ![alt|400](photo.png) — the same dialect other Markdown wikis speak, so a resize survives every reload, export, and other editor.

Markdown pages open as a formatted, fully editable view — headings render as headings, lists as lists, checkboxes as real clickable checkboxes. Type in it, bold things with ⌘B, use the format bar, or type / for a quick-insert menu (see Formatting); your edits are written back to clean Markdown source underneath.

Text color and highlight stick, too. Color a word or highlight a passage on a Markdown page and it survives a save and reload — MojoPad keeps it as a tiny inline <span> in the source (the one scrap of HTML Markdown allows), so it round-trips cleanly. Decoration Markdown genuinely can't express — a custom font or a one-off size — still gives way to the page's own styling.

A Markdown page in its formatted view. The pill (top right) flips to source.

The little pill in the top-right corner names the view you're inMarkdown (the raw source) or Formatted (the live, editable view) — and clicking it (⌃⌘P does the same) flips to the other. New Markdown pages open in the Formatted view, ready to write — raw source is always one ⌃⌘P away. An empty page shows a faint “Press / for quick actions” hint that vanishes the moment you start typing.

Supported syntax

Headings, bold/italic, inline code, fenced code blocks, links, images, bulleted/numbered lists, nested lists, task lists (- [ ] / - [x] become clickable checkboxes), blockquotes, horizontal rules, ~~strikethrough~~, footnotes, superscript/subscript (x^2^, H~2~O — nothing loose inside the markers), and pipe tables.

Saying “I mean the character, not the markup”. Put a backslash in front of it: \*not italic\* writes the asterisks, \# writes a hash instead of making a heading. It works for every punctuation mark Markdown uses, and — the part that matters — the backslash is still there when you save the page and open it tomorrow.

Other things that now read the way you'd expect. __bold__ works as well as **bold**. Written-out characters like &amp; and &mdash; come through as the characters themselves. A heading that closes with its own hashes (## Title ##) drops them. And a fenced code block indented under a list item stays inside that item instead of spilling its backticks into the text.

Code blocks and syntax highlighting

Give a fenced code block a language and it's colour-highlighted — in the editor, in exports, and on published sites:

```js
const x = 42
```

JavaScript/TypeScript, Python, C-family, JSON, CSS, HTML/XML, shell, SQL, and YAML are recognised; an unknown or missing language renders as plain, un-highlighted code.

Footnotes

Reference a note with [^1] in your text and define it on its own line with [^1]: the note (the id can be a word, like [^why]). References are numbered by first appearance and collected, with back-links, at the foot of the page.

Writing isn't linear, and the numbering keeps up. Insert a citation between two earlier ones — with /footnote or the format bar's — and every reference renumbers to reading order on the spot: the new one takes its rightful place and the later ones step up, with the notes list reordering to match. Your ids never change, so [^why] stays [^why] in the source.

Cite the same source twice. When the page already has footnotes, /footnote first asks: start a new note (just press Return — it's preselected, so the quick path is exactly two keys) or reuse any existing source, listed by number with a snippet of its text. A reused source shows the same number at both places and keeps a single definition at the foot of the page.

Callouts

Start a blockquote with [!type] to turn it into a coloured callout box — the same syntax Obsidian and Joplin use:

> [!warning] Heads up
> This part is important.

Types include note, info, tip, success, question, warning, danger, quote, and example — each with its own colour and icon. Add an optional title after the type, or leave it off for a default label.

Callouts only appear rendered in the Formatted view. In the raw Markdown source they stay as plain > [!note] … text — that's expected. Flip to the rendered view with the Markdown ⇄ Formatted pill in the page's top-right corner (or ⌃⌘P); the same toggle covers every Markdown page. Callouts also render in HTML / PDF / web exports and on published static sites.

Embedding pages

![[Page Name]] on its own line embeds another page inline. Because it works the same on rich text pages, the full details now live under Pages and Linking ▸ Embedding pages.

Toggles and bookmarks

A toggle is a collapsible section (Notion-style): type /Toggle, name it, and tuck content inside — click the ▸ to fold or unfold. In Markdown it's > [!toggle] Title (a trailing -, as in [!toggle]-, starts it collapsed).

A bookmark turns a URL into a rich card with its title, description, and thumbnail: type /Bookmark and paste a link. Click the card to open it in your browser.

A video embeds a playable player right in the page: type /YouTube video and paste a YouTube link (watch, youtu.be, Shorts, or Live), a Vimeo link, or a TED talk URL — TED plays through TED's own player. The video plays inline, on your Mac, without leaving your notes. Hover the player and use the / + buttons beneath it to resize — the size you pick sticks. In Markdown the player is just the bare video URL on its own line, so the source stays plain text.

Pasting Markdown anywhere

Paste text that looks like Markdown into a rich text page and MojoPad renders it as formatted content automatically (toggle in Settings ▸ Editing; ⌘Z undoes to plain text). Paste an article into an empty Markdown page and it switches straight to the formatted view.

One honest limitation

Markdown can't express everything the format bar can. Font colors, sizes, faces, and underline survive on screen but degrade to plain text when a formatted-view edit is saved back to source. If a page needs full styling freedom, convert it to rich text.