MojoPad

Formatting

The format bar sits above the page. It works on rich text pages and on the formatted view of Markdown Pages. On pages it can't format — plain text, attachments, locked pages — it keeps its place so the window never reshuffles as you move between pages, but it shows only the controls that still do something there: Read page aloud, the reading-column width, and the calendar. None of those care what kind of page you are on.

Turning it off

Writing somewhere you never format — plain text, Markdown source, notes you keep bare — and you may not want the row at all. ⌃⌘B, or View ▸ Show ▸ Hide/Show Format Bar, puts it away. It stays away on every page and between launches until you bring it back with the same key, and you can give it a different one in Settings ▸ Shortcuts.

The Paragraph style menu at the left sets the current line to Body or any of Heading 1 through Heading 6 — six levels for deep outlines — and always shows the block your cursor is in. Each level renders at its own distinct size, so the hierarchy reads at a glance.

Choosing a style puts the line in that style — including the style it already shows. If a few words in a Body line are drawn larger or in another font than the rest (words joined up from a heading, say, or pasted from another document), choose Body and they are body text again: sizes, fonts and line spacing set on words in the line come off, and so does any extra space above or below it. Bold, italic, underline, links, colors, highlights, marked passages and citations stay, and so does the line spacing you chose for the paragraph with Spacing. The same goes for a heading: choose its own level and it is that heading again. Choosing Body for a quote or a code block makes it body text. One ⌘Z undoes it.

Moving words keeps what is theirs. Cut, copy or drag words from one place in a page to another and a size or font they had comes with them — words pasted from another document keep theirs wherever you move them — but a heading's words brought into a paragraph don't bring the heading's size and font along as a size of their own. Joining a heading to the line above or below it works the same way, and in a theme that draws headings in a color of their own, the words joined into a paragraph take the paragraph's color.

The Size list beside it holds still. The sizes on offer are always the same ones in the same order; when the text under your cursor is a size that is not among them, that size appears in a row of its own at the top, headed This text, and goes again when you move on — so the list never grows as you click around a page. With words selected, the Size and font boxes describe every word in the selection, wherever you started dragging; when the selection holds more than one size, or more than one font, the box is left blank rather than naming just one of them.

Prefer a lighter touch? Turn on Show a floating format bar over selected text in Settings ▸ Editing and a compact bar pops up right above whatever you select, the way modern editors do: Bold, Italic, Underline, Strikethrough, Superscript, Subscript, Highlight, then Heading 1–6 (click again to drop back to body text), bullet / numbered / to-do lists, a Link, and ✦ Edit with AI. Buttons light up to show what's already applied.

Superscript and subscript

Squares and citations sit up; chemistry sits down. Select the characters and click x² or x₂ beside Strikethrough (they're in the floating bar and the / menu too, and Format ▸ Superscript/Subscript can carry any shortcut you give them in Settings ▸ Shortcuts). Applying one clears the other, so flipping a stray subscript into a superscript is one click, not two.

On Markdown pages they travel as x^2^ and H~2~O — the markers hug the text with nothing loose inside, which is exactly what keeps ordinary prose like "5^2 and 3^4" or a ~/Documents path from ever turning into stray scripts.

Paragraph style, font, size, emphasis, colors, alignment, lists, indent, spacing.

The page header

Each page opens with an editorial masthead — its type, the title in a serif face, and a meta line ("created… · edited… · N linked here"). Click the title to rename the page right there; every link to it updates with the new name. Prefer things bare? The page title, the format bar, the tab bar, and the page-type label can each be shown or hidden on their own from the View menu.

Every count is a door

"3 linked here" only half answers the question it raises — the better answer is the three pages themselves. So click the count and it opens them: the Backlinks palette, with the pages that point at what you're reading. It is written to read as part of the sentence rather than as a control bolted into it, so it takes the words' own font and color and underlines only when you point at it.

The counts along the bottom of the window work the same way, and each opens the view that answers its own number:

  • N pages shows and hides the page list.
  • N links opens the Graph. That number counts every link in the wiki, and a flat list of several hundred is not a readable answer — the Graph is the same links arranged so you can see them.
  • N today opens Updates, whose Recently Modified list is exactly what it counts. It counts pages you edited today, not pages created today, and it only appears when there is something to show.

The / menu

Type / at the start of a line, or after a space, for an inline menu of blocks and formatting — quicker than reaching for the toolbar. Straight after a word or a link it is just a slash, so an index line like Glossary/Methods/Timeline types as it reads. Keep typing to filter — including words the entry is not called: typing transclusion finds Embed page, and a name with a space in it keeps matching as you type it. ↑/↓ to choose, Return to insert, Esc to dismiss. It gets out of the way of a slash you meant as a slash: a space typed straight after it closes the menu, and Return before you have typed a letter or moved to a row just starts a new line, rather than running whatever happened to be first. The commands are grouped: Text (the headings, then Body right after Heading 6 — it turns a heading back into plain text — then bold, italic and the other ways to mark words, and inline code), Lists (bullet, numbered, checkbox), Blocks (quote, toggle, comment, code block, divider, table), Callouts (note, tip, warning, and more), and Insert (link, page link, image, page embed, bookmark, YouTube video, footnote, inline math and math block — all of them on rich-text pages too; math finds both kinds, as code finds both kinds of code). It works on rich text pages and the formatted view of Markdown Pages. Prefer the mouse? The + button on the format bar opens the same menu, grouped and clickable. The same words work in the command palette, which is where to reach these when the cursor is not in a page — and if it is not, inserting one says where to click first.

Type it, don't click it

If you think in Markdown, just type it — MojoPad turns the marker into the real thing the moment you press space at the start of a line:

  • -, *, or + → a bulleted list
  • 1. → a numbered list
  • [] → a to-do item
  • # … ###### → Heading 1 through Heading 6
  • > → a quote, and ``` → a code block

It only fires when the marker is the whole line so far, so it never disturbs a dash mid-sentence, and it leaves alone an existing list and the lines of a block equation you're still typing. Prefer keys? ⇧⌘8 starts a bullet, ⇧⌘9 a numbered item, and ⇧⌘L a to-do.

Math is typed the same way: $x^2$ becomes a formula in your sentence when you type its closing dollar sign, and $$, Return, the formula, Return, $$ becomes a block equation when you type the last one (see Math). One ⌘Z gives back the dollar signs.

Typing a link, mid-sentence

You're writing about a paper and you want the address in the sentence, not in a dialog. Type it the way you'd write it in Markdown — [the 1987 paper](https://example.org/soc) — and the moment you close the bracket it becomes a link, right where you typed it, reading as the 1987 paper. Nothing to select first, nothing to reach for.

It's deliberately cautious about what counts as an address, because the shape is so close to ordinary punctuation: it wants a real scheme, or a plain www. Anything else is left alone, so "the result (see below) was clear" stays a sentence and your parentheses stay parentheses. It also refuses addresses MojoPad wouldn't open if you clicked them. If it fires when you didn't want it, one ⌘Z puts the literal brackets back.

This works in rich text and in the formatted Markdown view. In the raw source view you're already writing Markdown, so the brackets are the link and nothing needs to happen.

In the raw Markdown source view (⌃⌘P), lists are just text — so pressing Return at the end of a list line continues the list (numbered lists renumber; Return on an empty item leaves the list), and the same ⇧⌘8 / ⇧⌘9 / ⇧⌘L shortcuts insert or toggle the marker on the current line — or on every line you've selected, so you can turn a run of rows into a numbered list in one go.

The outline moves work here too. Tab and ⇧Tab nest and un-nest the row you're on (or every row in your selection) — two spaces of indent per level, exactly what Markdown reads as nesting. New Row as Child, New Row at Parent Level, and New Row Above insert a fresh marker at the right depth. So the source view outlines just like the formatted one; only the moves are made in text.

Mixing bullets and numbers in one list

A single list can switch between bullets and numbers partway through — number the middle few items and leave the rest as bullets. Select the rows and choose Numbered (or Format ▸ Convert List to Numbered); in the raw Markdown source view, just type 1. on the lines you want numbered and - on the rest. The formatted view renders each run on its own — bullets, then a numbered stretch, then bullets again — and it round-trips through Markdown unharmed.

⌘+ and ⌘− move the line you are writing in between heading levels — body text, then Heading 6 up to Heading 1, and back down again. A heading’s size here comes from your heading settings rather than from a number on the line, so stepping between the levels is what these keys can do and keep.

Away from writing — a Markdown page read as its source, a plain-text page, the search view — the same keys make the text bigger or smaller, on the same sizes Settings offers, and it sticks. (That setting lives in Settings ▸ Editing ▸ Text size.) Both keys can be given different ones in Settings ▸ Shortcuts.

Paragraph styles from the keyboard

Typed # or ## at the start of a line, and want plain words back? Press ⌃⌘0: ⌃⌘0 turns a heading back into Body. Each style has a key of its own, ⌃⌘1 through ⌃⌘6 for Heading 1 through Heading 6, and each does exactly what choosing that style in the paragraph menu does: sizes and fonts set on the line's words come off, bold, links and colors stay, and one ⌘Z undoes it. You can press them in the middle of a sentence and keep typing. A heading key on a line that is already that heading leaves it alone — it does not turn it back into Body, which has its own key. The same seven are in Format ▸ Body and Headings, in the command palette (type body, heading 2 or h2), and in the / menu, where Body comes right after Heading 6, so the rows above it are where they have always been. They work on rich-text pages and the formatted view of Markdown pages. Where a style can't go, MojoPad says so on the status line and changes nothing: a list row or a table cell can't be a heading, and a Markdown page read as its source keeps only text, so switch back to Formatted first. A list row or a table cell is refused the same way whichever way you ask for a heading — these keys, the paragraph menu, Format ▸ Paragraph Style…, Turn into, the / menu, the floating format bar or ⌘+ — with the same words: A heading can’t go in a list row — only Body can. Body itself still works there (⌃⌘0, or Body in the paragraph menu), and takes a size set on the row’s words off them. In a dialog, or while you're typing in a box that isn't the page, such as the Pages filter, the keys belong to that box. All seven can be given other keys in Settings ▸ Shortcuts, except ⌘1 through ⌘9, which switch tabs, and the keys that jump to your pinned pages.

Press ⌃⌘S (or Format ▸ Paragraph Style…) and the entire style dropdown turns into a small list under your fingers: Body, Heading 1–6, Quote, Code block, and the three list kinds — bulleted, numbered, and to-do. The style your cursor is sitting in comes preselected, so the list doubles as an answer to "what is this line?". Type a few letters to narrow it (g 3 finds Heading 3, quo finds Quote), press Return, and the line converts — your cursor returns to the exact spot it was in, even mid-word, so you can restyle a line and keep typing without a glance at the mouse. Choosing the style the line already has puts the line back in that style, just as the dropdown does: sizes and fonts set on its words come off, and bold, links and colors stay. Like every key in MojoPad, it's yours to remap under Settings ▸ Shortcuts.

Moving lines

Put the cursor on a line and press ⌃⌘↑ or ⌃⌘↓ — the line swaps places with its neighbor and the cursor rides along, so you can walk an item up a list by tapping the shortcut a few times. It knows what a "line" is wherever you are: a list item moves within its list, a paragraph or heading moves among the page's blocks, and in the raw Markdown source view it's the literal text line under the cursor. ⌘Z undoes a move like any other edit. The same commands live in Format ▸ Move Line Up / Down. (Blocks have a bigger brother: ⌥⌘↑ / ⌥⌘↓ moves the whole block, and a whole list moves as one.)

How links look

Every theme comes with link colors chosen to sit with the rest of it, and left alone that is what you get — change the theme and the links change with it. Settings ▸ Editing is where to say otherwise:

  • Underline links. On unless you turn it off. Worth leaving on unless your page has another way of showing what is a link: color alone is easy to miss, and impossible for a reader who cannot tell your two colors apart. The line takes the link's own color.
  • Links to your pages, links to the web, and links to files on this Mac — three colors, because they are three different promises: one moves you inside your wiki, one leaves for the internet, one opens something on your disk. Each has a Reset beside it that hands the answer back to your theme.

Set one and it holds whatever the theme is. Leave it on Reset and the theme decides, which is where every one of them starts.

Links you paste follow these settings too, whether you copied them from one of your pages or from another app: the color and the underline they had where you copied them stay behind, and they are drawn the way this wiki draws its links. Words you colored keep their color when you paste them.

And a color you set on a link yourself wins over all of it. Select a whole link MojoPad made from one of your page names, set a color on it, and it is drawn in your color, not the link color — on screen, and when you reopen the wiki. A link you have not colored still looks like a link. (A color set on a phrase before MojoPad turned it into a link is not carried onto the link; color the link itself.)

Make the page read the way you like

The controls in Settings ▸ Editing shape how your writing sits on the page, and all of them apply live — keep a page visible while you change them and watch it follow:

  • Default font and Text size — the body of your writing.
  • Each heading — a box for H1 through H6, if one level is the wrong size rather than all of them. They are multiples of your body text, not point sizes: 2 means twice the size of the words around it, so the ladder keeps its proportions when you change the body size instead of six numbers drifting out of step. An empty box means the size it has always been — fill in one and you change one level, and the other five are untouched. The Heading size slider still scales whatever they come to.

    If what you want is one word or one link at a particular size, this is not the control — select it and set the size directly. That works inside a heading too, and it stays; what it will not survive is turning a paragraph into a heading afterwards, because that is you asking for the heading's look and a size chosen while it was a paragraph is a leftover.

  • Heading font and Heading size — every heading level, on every page, in one place. This is the way to restyle headings: set it once here rather than styling each page's headings by hand (custom fonts and sizes can't survive on Markdown pages, whose storage keeps structure over decoration — though text color and highlight now do). The theme's serif stays until you choose otherwise.
  • Page title — the name at the top of every page. It heads the page the way a heading does, so left alone it takes your heading face and changes when that changes. Same as body text sends it the other way, so the title reads as the first words of the writing rather than as a banner above it — the look to reach for if your pages are notes rather than documents. Or give it a face of its own: a title in a display face over plainer writing is the oldest trick in the book for making a page feel like a page.
  • Line spacing — how tall each line stands. Nudge it up for airy, down for dense.
  • Paragraph spacing — extra air between paragraphs, so you can separate them visually without typing blank lines. It is added to the space a paragraph already has, on Markdown pages as on formatted ones, and you see it change in every open window as you move the slider. It stays out of the raw Markdown source view, where blank lines mean something.
  • Markdown source font — the raw Markdown view has its own typeface, separate from your writing font. It starts as the classic fixed-width look; pick any installed font instead.
  • Cursor thickness and Cursor color — if the blinking hairline is easy to lose, make it a solid bar: Medium, Bold, or Extra bold, in any color (it starts on your theme's accent; Reset returns it there). The thick cursor rides everywhere you type on a page — headings, lists, the Markdown source view — and still blinks so your eye can catch it. Native thin stays the default.

Typewriter scrolling

Writing at the bottom edge of the screen gets old — your eyes live in your lap. Flip on View ▸ Typewriter Scrolling and the line you're typing stays pinned near the middle of the window: as you write, the page slides up underneath you, the way a typewriter feeds paper. The line comes to that position whenever you put the caret somewhere — typing, Return, the arrows, deleting, or clicking a line further up the page — so it is always where the mode promises it will be. Scrolling with the wheel is never hijacked, so reading stays free: run down a long page and nothing moves under you until you place the caret again. A move big enough to lose your eye is eased rather than jumped. Works in every editor view, remembers your choice, and turns off the same way you turned it on.

Where that line sits is yours to set. "Near the middle" is a taste, not a fact: some people want dead center, some want the line lower so more of what they have already written stays in view above it, and some want it higher so there is room to see where the page is going. Drag Settings ▸ Editing ▸ Typewriter line sits at anywhere from 25% to 75% of the way down the window. Halfway is dead center; it starts a little above that, which is where most eyes rest. Change it with a page open and the next line you type arrives at the new height — no need to turn typewriter scrolling off and on again to see it.

Word completions

As you type, MojoPad can offer to finish a word for you. After the first few letters, a small list appears — press Tab to accept the highlighted one (or ↑ ↓ to pick another), and just keep typing to ignore it. By default it draws from words you've already used across your wiki — your names, jargon, and recurring terms — so it stays quiet and personal. It's on by default; turn it off under Settings ▸ Editing. (Completing a page name, to make a link, still lives on [[ — see Pages and Linking.)

It never makes you wait. MojoPad counts your wiki's words a little at a time while you are not typing, so in a very large wiki the first suggestions after opening it may come from part of it, and the rest join within moments. After that only the page you change is read again: a new word you type is offered a moment after you pause.

Two settings, right under the toggle, let you tune it to taste:

  • Start suggesting after 2, 3, or 4 letters. Fewer letters means it offers help sooner but pops up more often; more letters keeps it out of the way until you're clearly mid-word. Three is the calm default.
  • Include common English words. Off by default. Turn it on and MojoPad also completes the ~10,000 most common English words — so a longer word you haven't typed yet (say necessary or opportunity) still fills in. Your own words always come first; common words only fill the remaining slots beneath them, so they never bury your vocabulary. This is why it isn't on out of the box — a full dictionary would suggest something for nearly every word and get noisy, so we keep it opt-in and always ranked under what you actually write.

The controls, left to right

  • Paragraph style — Body, Heading 1–6 (⌃⌘0, ⌃⌘1–⌃⌘6). Follows your cursor, so it always shows what you're in. In Markdown pages, headings round-trip to # syntax.
  • Font and size — also follow the cursor, and with words selected they describe all of them: more than one size or font in the selection, and the box is left blank. The font menu lists every font installed on your Mac — including accessibility faces like Atkinson Hyperlegible — not a short fixed set. The document default lives in Settings ▸ Editing.
  • B / I / U / S — ⌘B, ⌘I, ⌘U, and strikethrough.
  • Text color and highlight — ink, and a highlighter with a small color palette (see Highlighting below).
  • Links — a web address links itself: paste a URL and it drops in clickable (paste it over selected text to link that text), or type one and press space or return. Pressing return after a link starts the next line as plain text, not more link. Format ▸ Link to a File… (also on the / menu) points a link at a file on your disk — click it to open the file in its default app. MojoPad first checks what the file really is, and won’t open a program, a folder or a document with macros this way (see Files MojoPad will not open for you). For links to other pages, see Page Links Everywhere.
  • Clear formatting — strips bold, italic, color, size and links from the selection and leaves the words. The button most people reach for after pasting from the web (Paste and Match Style, below, saves needing it at all).
  • Alignment, bulleted / numbered lists, outdent / indent (⌥⌘[ / ⌥⌘]).
  • Spacing — line spacing for the selected paragraphs, from Tight to Loose, with Normal being the spacing your pages already use. It governs the lines inside a paragraph; the space around a heading is set by MojoPad — one line above and half a line below, in whatever line spacing you have chosen — so it is the same after every heading but one: a first- or second-level heading on a page's very first line keeps a larger space below it, which no spacing setting changes. The space around a list is set by MojoPad too: it sits directly under the line that introduces it, with a line of space below it before whatever follows, and a list inside a list sits close to its item. An export, a PDF, a Compile and a live share leave the same space above and below a list as the screen does.
  • Reading width — the S · M · L · F control at the far end sets how wide the writing column runs (F = full). It's remembered per page, with a document-wide default in Settings ▸ Page Layout; embedded videos follow it too.

Highlighting

Select a passage and hit Highlight (the highlighter on the format bar, or the H on the floating bar). It comes in a small palette — amber, green, pink, and blue — so you can color-code as you read. On the floating bar, H applies your last-used color and toggles it off if the passage is already marked; the ▾ beside it opens the palette (with ⌀ to remove). On the main format bar, the highlighter button opens the palette directly.

Highlights are translucent, which is the point: rather than a fixed color painted over your words, the tint lets the page's own text show through — so a highlight stays clear and readable in every theme, light or dark, and looks right if you switch themes later. Highlights made in older versions are refreshed to match the first time you open the page.

Lists and checkboxes

Start a list from the keyboard: Format ▸ Make Bullet Item (⇧⌘8), Make Numbered Item (⇧⌘9), or Make Checkbox Item (⇧⌘L) — each turns a line, or a whole selection, into that kind of list. (Or just type -, 1., or [] and a space — see "Type it, don't click it" above.) Checked items dim and strike through; pair with Plugin ▸ Strike Out and Move to Bottom (⌃⌘⌫) for a very satisfying done-with-this gesture.

To reshape an existing list, use Format ▸ Convert List To ▸ Checklist, Bulleted, Numbered, or Plain Text (also in the / menu and the command palette). With your cursor in a list it converts the whole list; select just a few lines and it converts only those — so you can put checkboxes on two items in the middle of a numbered list and the rest keep counting.

Tables

Format ▸ Table… inserts a table; Tab and ⇧Tab move between cells, and Tab in the last cell adds a row.

Images

Paste or drag images straight into a page. On a rich text page, click an image and a small corner handle appears — drag it and the image follows, any size you like, shape kept. (Markdown pages keep the preset menu below: their storage is plain image syntax, which has nowhere to write a width.) Right-click ▸ Image Size scales to 25 / 50 / 75 / 100% of the page width on any page. Double-click an image to edit it in your image editor (saves flow back into the page automatically); option-double-click saves it out as a file. See External Editors.

Look at it properly. An image in a page is sized for reading around it, which is the wrong size for reading it. Click a picture and press Space — or right-click it and choose Quick Look — and it fills the window on a dark backdrop. Scroll to zoom (it zooms toward the pointer, so whatever you are looking at stays put), drag to move once you are in past full size, double-click to fit it back, and Esc or a click outside to close. It works for every picture on the page, whether it came from a file or was pasted straight in.

Sketch

⇧⌘K opens a drawing canvas — pencil colors, four nib sizes — and Insert drops the sketch into the page as an image. Double-click a sketch to reopen the canvas with your strokes intact and keep drawing.

Plain-text niceties

Plugin ▸ Alphabetize sorts the selected paragraphs, list items, or lines. Edit ▸ Paste and Match Style (⌥⇧⌘V) pastes without funky formatting.

Lists continue themselves. On a plain-text page, end a line like - milk or 3. pack the car and press return — the next line starts with the next marker (numbers count up on their own). Press return on an empty item to end the list. It's all still plain text: the markers are just characters, exactly what you'd get typing them yourself.