MojoPad

Pages and Linking

Linking is the soul of a wiki, and MojoPad makes it automatic. There are five kinds of links, and four of them make themselves.

Page names and URLs light up as you type — click to follow.

1. Page-name links (automatic)

Whenever the name of an existing page appears in your text, it becomes a link. Type GroceryList anywhere and it links to the GroceryList page. Matching ignores case.

Rename a page and what you already wrote keeps working. The old name is kept as one of that page's other names, so every sentence that mentions it, and every page embedded by it, goes on finding it — including on pages you are not looking at. What is already written is not rewritten: your words stay as you typed them, and the old name simply still leads to the right place. If you would rather it did not, remove it from Other names in the page's Info panel.

One-word names are treated more carefully, and it is worth knowing why. A name of two words or more — Grocery List, Robert Smith — is a deliberate thing to write, so it links wherever it appears. A name that is a single common word is not: if you have a page called Ideas, you do not want every sentence containing the word "ideas" turned into a link to it. So a one-word name links only where the two pages are genuinely about the same thing, which MojoPad works out from what they say.

That is the right instinct for a wiki of ordinary notes and the wrong one for a wiki brought over from somewhere that linked every occurrence of every name — especially if your page titles are mostly single words. Turn on Link one-word page names everywhere in the Info palette and the judgment is switched off for that document: every mention of every name becomes a link, and nothing has to be done by hand. It is a per-document setting, so a wiki that wants it can have it without changing the others.

2. Aliases (automatic)

A page can answer to more than one name. Open the Info palette and add aliases — give "Robert Smith" the alias "Bob", and every Bob in the document links to him. Daily Notes use this trick out of the box: the page named 2026-06-11 also answers to "Thursday, June 11, 2026".

3. WikiWords (automatic, optional)

A WikiWord is a single word with a capital in the middle, LikeThis. With "Highlight WikiWords as potential links" enabled (Info palette ▸ Document, or Settings for new documents), WikiWords are underlined as potential pages — click one and the page is created. Turn it off if your writing is full of CamelCase that shouldn't link.

4. Web links (automatic)

Anything starting with http://, https://, or mojopad:// becomes a clickable link. Web links open in your browser; mojopad:// links jump to a page — even a page in a different MojoPad document. See Page Links Everywhere.

5. Links you make by hand

  • Make Link (⌘L) — link the selection to a page with that exact name, creating it if needed.
  • Link Selection to Page… — link the selection to any existing page, whatever the words say. Also on the right-click menu.
  • Make Custom URL Link… (⌥⌘U) — register a phrase that links to a URL everywhere it appears in the document. Great for ticket numbers, company names, documentation sites.
  • Add Link… (Format menu) — a one-off web link on the selection, without registering a phrase.
  • Write it the Markdown way. Type [some words](an address) and the closing bracket turns it into a link where you typed it. Or paste the whole thing — which is the one that matters if you keep item links to another app, since a x-devonthink-item:// or bookends:// address is copied, never typed. Any address MojoPad would open works, not just web ones. Words in brackets that name no address — [see note](above) — are left exactly as you wrote them.

Knowing where a link goes

Rest the pointer on a page link for a moment and a small preview card appears — the page's first lines, without leaving where you are. Encrypted pages show a lock, attachments show their filename. Hovering a web link shows its destination URL in a tooltip, so you always know where a click will take you.

A link to a page that is a downloaded PDF says so on the link itself — the name is followed by (PDF). Somebody reading a wiki built on a library of papers cannot otherwise tell a link to a note from a link to a full text without going to look. The badge is drawn on the link rather than written into it: your page keeps the words you typed, and it does not appear in exports or on a published site.

Prefer a quieter pointer? Turn the bubbles off with Settings ▸ Links & Pages ▸ Show a preview bubble when hovering links and page lists — the same switch also covers the page drawer and the Backlinks palette.

Removing links

Edit ▸ Unlink (also in the command palette, and as Remove Link in a link's right-click menu) removes the link under the cursor, and it sticks: on a Markdown page the phrase is remembered as unlinked for that page, so it stays plain text after you leave and come back — automatic links and WikiWords alike. On a rich-text page the unlink holds for that exact spot. To unlink a phrase across the whole document, rename or delete the page (or remove the alias or custom URL that creates it).

Completing names

Halfway through typing a page name? Press ⌘K (Complete Page Name) and MojoPad finishes it for you, with a picker when several pages match.

Writing a link as [[Page Name]]

If you are used to writing links as [[Page Name]], MojoPad understands them — on the page as you read it, and in everything that leaves: a compiled paper, a PDF, a Word file, a published site. The brackets come off and the name becomes a real link you can click.

  • Only names that are actually pages. [[Something You Never Wrote]] is left exactly as you typed it, brackets and all — so a link that has not landed is easy to spot, and anybody writing about the syntax keeps their example.
  • [[Page Name|call it this]] shows your own words instead of the page's name.
  • Your source is not rewritten. On a Markdown page you keep the brackets exactly as you typed them; the link is how the page is drawn, not what it stores. Read the page as source (the Formatted pill) and there they are, unchanged.
  • ![[Page Name]] is an embed, not a link, and is left alone.
  • Markdown pages only, and deliberately. A Markdown page hands the brackets back when it saves, so the link is safe to draw. A plain-text page's whole promise is that the text is the text, and a formatted page stores the link itself rather than the brackets — on both, drawing the link would quietly replace what you typed. So on those two, brackets stay brackets. Use the Link button or ⌘L there, which is what they store anyway.

Naming a page mid-sentence, without stopping

Typing [[ normally opens the page picker, which is the right door when you are not sure of the name: it lists what you have, and lets you name something you have not written yet.

It is the wrong door when you are in the middle of a sentence. Writing a thought out is exactly when the things you mean to write about next occur to you, and a dialog — followed by being taken to a blank page — ends the thought you were having. So in Settings ▸ Links & Pages ▸ Typing [[ you can change it to Lets me type the name:

  • Nothing opens. Type [[Some Idea]] and carry on writing.
  • The link is made when you close the brackets — to that page if it exists, or to a new one if it does not.
  • You are not taken there. A note appears saying what was made, with a way to open it when you have finished the paragraph. The new page is empty and waiting.
  • ⌘L follows the same setting, so highlighting a phrase makes its page and leaves you where you are.

Nothing is created until you close the brackets, so a name you were halfway through typing never becomes a page.

Links that suggest themselves

MojoPad goes a step beyond matching names. As you write, it reads the paragraph under your cursor and, when you pause, quietly offers existing pages it relates to by meaning — including ones you'd never have thought to name. A small Relates to strip appears in the corner with a page or three; click one and the link drops in right where you're typing. Ignore it and it fades. It's the fastest way to weave a new note into everything you've already written — the wiki grows its own connections as you think.

If you would rather write undisturbed, turn it off: Settings ▸ Editing ▸ Offer pages this paragraph relates to. The ✕ on the strip itself only quiets it for the page you are on and only until you quit, which is right for "not on this one" and wrong for "not ever" — the setting is the one that means never. Nothing else changes: the same pages still turn up in Rediscover, in the map, and in the writing view's own panel when you go looking for them.

Your PDFs and books are part of this. The papers, manuals and books you keep in the wiki are read for meaning like everything else — so a paragraph you're writing can surface the paper it belongs beside, and Rediscover can hand back a paper you skimmed months ago and forgot. A long document is sampled across its whole length, not just its opening pages, so its findings count as much as its abstract. Nothing leaves your Mac; this is the same local index everything else here uses.

Embedding pages

The deepest way to connect pages is to embed one inside another. Write ![[Page Name]] on its own line — finish the closing brackets and it renders right there as you type, read-only, in a titled box (click the title to open the source page). This works the same on any page that takes text — rich text, Markdown and plain text. On a Markdown Page you can also type / and choose Embed page to pick from a list. Edit the source page and the embed shows the new content the next time this page renders — great for dashboards and maps of content. Embeds round-trip to ![[Page Name]] in the source; a page that is only a snapshot or attachment embeds as a card — and a PDF embeds with its first page showing, a little thumbnail of the paper right there in your literature note; click it to open the reader. An embed also counts as a connection: the embedded page shows up in its Backlinks and on the Graph, so embedding wires two pages together exactly the way a link does.

Calling an embed something else

An embed wears the page's own name at the top, which is right when you are pointing at a source and wrong when you are quoting yourself. Put a bar and your own words after the name:

  • ![[Q3 Planning Notes|What we decided]] — the box is headed What we decided, and still opens Q3 Planning Notes when you click it.
  • ![[Q3 Planning Notes|]] — a bar and nothing after it. No heading, no box: the borrowed writing reads as part of your page, and exports that way too. This is the one to use when a passage is genuinely part of what you are writing and the frame around it is just furniture.

The name is still tried whole first, so a page actually called Pros | Cons goes on meaning that page. A bar only means "label" when the name it would make does not exist.

Embeds can go finer than a whole page — a single section or even a single paragraph. See Transclusion and Split View.

Putting one page inside another

Both are in the command palette too, as Embed a Page and Copy a Page in Here, and both answer to the word transclusion — in the palette and in the “/” menu alike.

There are two ways, and which you want depends on one question: should the words change when the other page changes?

Embed page — type / and choose it — puts a live window onto the other page. Edit the source and every page embedding it shows the new words. You cannot type into the window, because the words are not this page’s. Use it for a definition, a standing list, a paragraph you want to state once and show in six places.

Copy page in here puts the other page’s words into this one, and they are yours from that moment. Edit them, cut them up, delete half. The source page is untouched and will not change what you now have. A line above the copy says where it came from, and clicking it goes there. Use it to start from something you already wrote — a structure you keep reusing, last month’s report as the shape of this month’s.

Both offer a single section when the page has headings, so you can take one part rather than all of it.

What a copy brings with it

Copying a page in takes its words and tidies them on the way: the markup is cleaned, and the paragraph addresses the source page uses are not carried over. That second one matters if you have linked to a paragraph — the link still lands on the original, where you made it, rather than following the copy around. Anything the source page was embedding arrives as an embed and fills itself in from whatever that page says now.

Some pages have nothing to copy in. A file page keeps its words inside the file, and a canvas or a board has no prose at all. Choosing one of those says so rather than inserting an empty space.

A link to a page, and a link to a passage

Right-click any page in the sidebar and choose Copy Link to Page. You get a link that opens that page in that wiki — paste it into a mail message, a task, a note in another app, anywhere on this Mac. Clicking it brings MojoPad forward, opens the wiki if it is closed, and goes to the page. The link is built from the page’s own identity rather than its name, so renaming the page later does not break it.

Or a link to one paragraph. Hover the left edge of any block, click the handle, and choose Copy link to this passage. That link opens the page and scrolls to that paragraph, flashing it so you can see where you landed.

Or to the exact words. Select a phrase, right-click it, and choose Copy Link to Selected Words — it is also on the block handle and in the command palette. The words are marked where they stand, with a tint and a dashed underline that stays in the page, and the link points at that mark. Follow it a year later and you are shown the sentence you meant, not the paragraph it sat in. The mark is named from the words themselves; if you have already marked that passage, the link points at the mark you made rather than laying a second one over it.

The same passage can be addressed the other way, for use inside your wiki: Copy block link on the same menu gives you ![[Page#^id]], which pastes the passage into another page as a live copy. One is for going TO the passage, the other for bringing it here; both name the same paragraph, so neither goes stale when the other is used.

Splitting a paragraph does not split its address. Cut an addressed paragraph in two and the first half keeps the address, because that is where the link was made; the second half is new text with none. A page that already carries two paragraphs sharing one address repairs itself the next time you edit it.

Writing one by hand. A link composed outside MojoPad can name a passage as well as a page, using the same two forms the app writes: a heading, or a marked passage. That is what makes these usable from a task manager, a mail message, or anything else that holds a link.

For this Mac, or for the web

While a wiki is shared, every one of those commands asks which kind of link you want. For this Mac opens the page in MojoPad, as before. For the web is an ordinary address anyone on your network can open in a browser — and it carries the passage too, so a colleague lands on the paragraph or the words you meant rather than the top of the page.

You are only asked when there is something to choose: with the wiki not shared, a web address would be a broken link that looks like a working one, so you get the local link and no question. A web link works for as long as you leave the wiki shared, and stops when you stop.

Writing a link by hand. [[Page#Heading]] and [[Page#^id]] both work in your own writing and land on the passage rather than the top of the page. This is also how most other wiki-shaped apps address a passage, so a folder of notes brought in from one keeps its internal links working.