Give a wiki its own look, and change it in one place. Write a style once — a source card, a stance label, a highlighted quote, a banded table — put it on any page by name, and every page that wears it follows when you change your mind. The look belongs to the wiki, so it travels with it: into exports, onto a share, into a copy you hand a colleague, and out again as a file somebody else can use.
It is not a theme. A theme is how MojoPad looks to you on this Mac. Page styles are how this wiki's pages look to everyone who opens it, and they are part of the document.
MojoPad comes with a look you can use as it is, called Evidence sources. Using it is the fastest way to see the whole feature working, and everything it does you can also do by hand afterwards.
That is the loop. Everything below is that loop with the lid off.
The look is part of the wiki, not part of a page. It is not a page you could delete by accident, and it is not a setting on your Mac that a copy of the wiki would leave behind. Open the same wiki in two windows and both show it; open it on another Mac and it is still there.
Because it belongs to the wiki, it goes where the wiki goes:
A page can carry its own styling, and always could. That styling only ever touches the page it sits on. The wiki's page styles reach every place MojoPad draws a page — the editor, the split view, a page peeked at in a small window, cards on a canvas and on a storyboard, the preview under a database view's card, a note attached to a property, and the page as it is printed. Which is the point: a source card that looked right on the page and wrong on the board would be a card you could not trust.
Everything it draws stays inside that page's own box. It cannot reach the toolbar, the page list, the status line, a palette or the canvas around a card, and on a share it cannot touch the navigation. Plain text pages are left alone — they are text, and the styles have nothing to hold on to. A Markdown page is drawn with the wiki's styles, so a rule about ordinary paragraphs or tables shows there too, but the commands that put a style on words need a rich text page, because Markdown has nowhere to keep the style. Every one of them says so, and names the way through: Page styles work on rich text pages. Convert this page to rich text to use them.
Four things can decide how a word looks, and MojoPad puts them on in this order:
The order is the tiebreaker, not the whole story. Between two rules, the more specific one wins wherever it was written, and how specific each one is settles the matter before the order is looked at. A rule naming an element and a class beats a rule naming that class alone, whether the wiki wrote it or the page did.
So what a page's own styling promises is this: where the wiki's rule and the page's rule are equally specific, the page's wins. A wiki's styles get exactly the power a page's own styling has always had and no more, so nothing in a wiki can shut a page's own styling out. What a wiki can do is write a rule that is more specific than the one on the page — and then the wiki's rule is the one you see.
The look that comes with MojoPad is written that way, so this is worth seeing once rather than taking on trust. Evidence sources puts the element's name in front of its table rules:
/* in the wiki's page styles */
table.ev-table td { border-bottom: 1px solid light-dark(#c9ceda, #3a4150); }
/* on the page: loses, because the wiki's rule is the more specific one */
td { border-bottom: none; }
/* on the page: wins, because the two are now equally specific and the page is put on later */
table.ev-table td { border-bottom: none; }
Space works the same way. The built-in sets the space under a source card's title with its class named twice, so a rule on the page naming that class once does not move it — name it twice on the page as well and the page wins the tie. You do not have to work any of this out by eye: when something you wrote is not showing, the panel's Check This Page names what beat it and what to write instead.
Underneath, a style is a name you hang on some words, a paragraph, a box or a table, and a rule that says what that name looks like. You write the rule once in the panel; the Style menu is the list of names with a human label beside each, and that is what Apply Style offers you.
Tables need their rules written slightly harder, and this is the one piece of small print worth knowing before you write your first table style. MojoPad has its own look for tables, and it is specific enough to beat a plain class. Put the element's name in front and yours wins:
/* loses to MojoPad's own table look */
.stance-table td { border-bottom: 1px solid #c9ceda; }
/* wins */
table.stance-table td { border-bottom: 1px solid #c9ceda; }
You do not have to remember this. The panel's Check This Page finds rules that match something on the page beside you and still do not show, and tells you exactly what to write: “border” isn't taking effect on this page — something more specific wins. Put the element's name in front of the class, like “table.stance-table td”. It names the other two causes too: that this page's own styling sets the same thing too, and there it is the page's own that shows; or that the words there carry formatting of their own, which you can clear to let the style show.
A color is written as a pair — how it looks on a light page, and how it looks on a dark one — so one set of styles is right in every theme, and right on paper:
.ev-card-title {
font-weight: 700;
color: light-dark(#10245a, #b7c8f2);
}
The panel draws a Colors in these styles strip: every pair you have written, shown as a light swatch and a dark one. Click a swatch and it takes you to the line it came from. Printing and PDF always use the light half, because paper is light whatever your screen is doing.
You file a paper as a source card, and its title is also the name of a page in this wiki — so MojoPad makes the title a link. You had given source titles a deep blue. The link arrived in MojoPad's link color instead, and the title you designed came out in two colors. On a stance label it was worse: white lettering on a filled band, and the one linked word all but unreadable against it.
So an element you give a color to now owns the links inside it. Color a heading, a stance label, a highlighted quote or a table's header row, and every link that lands in there is drawn in that color — a link you typed, one MojoPad made from a page name, a citation, a link to a file on your Mac. Underlines stay where they were, so a link still reads as a link; it reads in your color instead of its own. The rule travels with the look, so what you export, share or publish draws it the same way the window does.
When you do want a link in there to look like a link, write that rule yourself — and, like a table rule, write it slightly harder than you would expect. The rule MojoPad wrote for you counts the class and the link together, so a rule of your own naming the class once loses to it wherever you put it. Name the class twice, the same way the built-in look holds a block's space, and put it after the rule that set the color:
.ev-stance { color: #ffffff; }
/* later in the same styles: a link in a stance label, in a color of your own */
.ev-stance.ev-stance a { color: #ffe600; }
Two things keep their own coloring on purpose. A button under a card preview is drawn on a filled shape of its own and keeps the lettering that reads on it. And the small (PDF) mark after a link to a paper you hold keeps the quiet gray it is drawn in.
Format ▸ Page Styles ▸ Edit Page Styles… opens it, docked to the right of the page you are on. It has four tabs — Styles, Snippets, Templates and History.
This is the most important thing about the panel, and it is written across the top of it: the page beside you changes as you type; Save puts the change on every page, export and share.
So you can try something. A half-written rule reaching every window, every export and every
synced Mac the instant you typed it would be unusable, so it does not. While you have unsaved
work an Unsaved changes pill sits in the header with Save and Discard beside
it. Discard puts back what the wiki holds. The styles box is an ordinary text box, so
⌘Z undoes inside it as you would expect; and after a Save, the status line offers
Undo, which puts back the styles from before that save.
While you are still typing a rule that is not finished, your pages keep the last set of styles that worked rather than flickering through nonsense, and the panel says which line it is waiting on.
Under the styles box is a report, and every row of it has the action that completes it:
Each style in the menu is drawn as a live chip showing its label, what it goes on, and how many pages use it, with Apply, Where Used and Edit Label on it.
There are more doors than you need, on purpose, because people reach for different ones:
⌃⌘Y, which opens a chooser of the
wiki's styles.⇧⌘P), which carries every one of them.Nothing here is ever grayed out without saying why. If a style cannot go where the caret is, the command says so in the status line and names the way through.
Remove Style takes off the innermost style at the caret, or every styled run the selection touches. Remove the Box (Keep the Words) is its own command, because removing a box and removing what is in it are different things and you should never get one when you meant the other. Clear formatting leaves page styles alone — it takes off bold and the like, not the style.
Styles can be grouped, and the Stance group in the built-in look is the example worth copying: Contrary, Supportive, Equivocal, Neutral. Apply a different one to a label that already wears one and it swaps rather than stacking — and if the words in that label were the old name, the words follow, so a label reading Contrary becomes one reading Supportive and the status line tells you the words came too. Words you had written yourself are never rewritten.
Copy a card and paste it into another page of the same wiki and it keeps its styles. Styles that are not in this wiki's Style menu are not kept, which is what stops a paste from an unrelated wiki leaving names behind that nothing here draws.
A style says how words look. A snippet is the shape itself — a whole source card, a stance table with a row per source — with blanks you fill in each time. Snippets belong to the wiki's page styles, so a look that travels brings its snippets with it.
Inserting one. Format ▸ Page Styles ▸ Insert Snippet ▸, Edit ▸ Insert under a Snippets heading, the “/” menu or the palette. If the snippet has blanks, a Fill In form opens with a box for each: plain text, a choice from a group, a link, or a set of rows for a table. Fill in what you have; a blank you leave empty is left out unless it is marked Needed.
Links in a blank are checked, not trusted. A link blank takes a web address that
starts with https, or the exact title of a page in this wiki — which becomes a real
page link. Anything else is refused by name, and a near miss offers you the page titles it
nearly matched.
Or fill them in later. Insert with Blanks Instead puts the snippet in with its
blanks still showing, ready to type over. The first is selected for you, and ⌃/ jumps to
the next one.
Write the shape you want on a page, once, by hand. Select it and choose Save Selection as Snippet…. A dialog opens showing what you selected, with one instruction: Click the words that change each time — they become blanks to fill. Click a run of words and it becomes a text blank named after the style it sits in; click a link and it becomes a link blank; click a stance label and it becomes a choice over that whole group. Name it, and it is in the menu.
A snippet saved or changed in the panel is part of your unsaved work — the status line says so — so Save in the panel is what keeps it.
A style template is a whole look — the styles, the Style menu and the snippets — saved as
one small file ending in .mojostyles. It goes in an email. It is how a look
gets from your wiki to next year's wiki, or to a colleague's Mac.
Format ▸ Page Styles ▸ Style Templates… is your collection on this Mac: a grid of cards, each drawn in its own styles rather than described. Evidence sources is first, marked Built in; it cannot be deleted or written over, and offers Duplicate to Change instead. Each card offers Use in This Wiki…, New Wiki with These Styles…, Share…, Duplicate, Rename, Move to Trash and Show in Finder. Import… sits at the top.
Format ▸ Page Styles ▸ Save Page Styles as Template…. Give it a name and a line about what it is for, and tick which snippets go with it — each shown as it will look. If a name you already use comes up, you are asked once: Replace, or Keep Both. Wikis that already used the old one keep their own copy either way.
Two things are checked before the file is written, and both are shown rather than done quietly:
What is in the file: the styles themselves, the Style menu with each style's label and what it goes on, and the snippets with their blanks. What is not: your wiki's name, your name, any path, any page, any page's words, and the values a blank happened to be filled in with last time.
Share… on a card, or File ▸ Export Document ▸ Page Styles Template…, writes the file wherever you choose.
A template that arrives goes to the preview, always, by every route — File ▸ Import ▸ Import Page Styles Template…, the library's Import…, dropping the file on a window, or double-clicking it in the Finder. It never quietly becomes a page, and it never quietly becomes your wiki's look.
The preview shows, before you have agreed to anything:
Show on This Page draws this window's pages in the arriving look, changing nothing; your own comes back when the preview closes. Then Add to My Style Templates keeps the file without touching this wiki, and Use in This Wiki… applies it. Snippets with the same name as one you already have are asked about once: Keep Mine or Use the Template's.
A template is copied into the wiki, not linked to it. The wiki keeps a note of the name it started from and nothing else. That is what makes the wiki whole: it looks the same on a colleague's Mac, in an export and on a share, with nothing to install. It also means editing a template never reaches out and restyles wikis nobody is looking at, and a file that turns up in your library cannot change a wiki you already have.
The Templates tab in the panel is where the two sides meet up, and nothing on it ever happens by itself:
New Wiki with These Styles… on a library card makes the wiki already wearing it. And when you set up a practice on a new wiki, there is a Page styles row offering None, the built-in look, or any of your own. None is chosen, so a wiki is only ever styled because somebody asked for it.
Every save keeps the look it replaced. So does applying a template, and so does restoring. The History tab lists them newest first, each with its date and how many styles and snippets it held.
Restore puts that earlier look in the panel's editor — and no further. It is a draft like any other until you press Save, so you can look at it, change your mind, and Discard. The most recent entries are kept and the oldest fall off the end.
History is stored inside the wiki, so it travels with it and is sealed by the wiki's password along with everything else. If it cannot be written — some wikis arrive with that folder unusable — you are told in one sentence and offered the choice to save anyway without keeping the previous look. Nothing is written until you press.
A wiki you did not write arrives wearing its author's look, and you are not asked first — being asked a question about styles you have not seen yet is not a choice, it is an interruption. What you get instead is a way out that is always in the same place.
View ▸ Show Pages Without Page Styles. Tick it and that wiki's pages draw plain. A small Page styles off for this wiki chip appears with Turn On… beside it, so you always know which state you are in.
Three things about that switch are worth knowing, and all three are deliberate:
While the styles are off, exports of that wiki leave them out too — what you see is what you send. The one export that asks you before it writes, Compile, says so on the sheet: Page styles are off for this wiki on this Mac, so this export leaves them out.
A wiki's styles reach every page of that wiki, including pages you write in somebody else's wiki. So they are held to the same limits a page's own styling has always had, and to two more. Nothing here is a matter of opinion; each one is refused, counted, and explained on the line it was written on.
| It cannot… | Why |
|---|---|
| Write words onto your pages | A style can decorate words but not add them, so what you read is what search, an export and your assistant read. This is the one that matters most in a research wiki: no look can make a card say Supportive when the words say otherwise. |
| Stop you editing | No look can make pages impossible to click in or type in. |
| Fetch anything from the internet | A picture named on a website would tell that site you opened the page. Pictures pasted into the styles themselves work normally. |
| Add a font | It can ask for fonts already on the Mac by name, but cannot bring new ones along. |
| Escape the page | Anything it draws is held inside the page's own box, and clipped at its edge. It cannot cover the toolbar, the page list, a palette, a permission question, or a share's navigation. |
| Reach outside the page in a rule | A rule that names the window, the page's surroundings or the app around it is left out, with the reason: Looks outside the page — start the rule with a class. |
| Run anything, or animate | No scripts, no animation, and a snippet that holds a script marker is refused outright. |
One thing it can do, and the panel says so rather than refusing it: hide words. Making words invisible has honest uses, so it is allowed — and counted, in plain sight, both in the panel and in an arriving template's preview: 2 rules can hide words — look here first if words seem to be missing from a page. Turning the styles off shows everything, and History puts back the look from before.
An assistant that has MojoPad's tools can read a wiki's page styles and use them, and cannot write them. See AI Agents for how an assistant is connected and what else it may do.
So how do you get a look out of an assistant? Ask it for a style template file. It
writes a .mojostyles file, you open it, and the preview is the door — the same door
a colleague's file comes through, showing you what it holds and what was left out before
anything is applied. The file is plain text in this shape:
{
"mojopadPageStyles": 1,
"name": "Lab sources",
"about": "Source cards and a stance table for the group's papers.",
"css": ".src-card { border-left: 10px solid light-dark(#17398a, #7fa2e6); }",
"styles": [
{ "class": "src-card", "label": "Source card", "kind": "box" }
],
"snippets": [
{ "name": "Source card",
"html": "<div class=\"src-card\"><p><#Paper title#></p></div>",
"fields": [{ "name": "Paper title", "kind": "text", "required": true }] }
]
}
A style's kind is one of words, paragraph, box or table. A blank's kind is one of text, choice, link or rows. Every field is rebuilt from scratch when the file is read, so anything else in it is dropped and counted rather than trusted.
Three things put words on a page, and the names are close enough to be worth one table.
| What it is | Where it lives | Reach for it when… | |
|---|---|---|---|
| Snippet | A piece of a page in this wiki's styles, with blanks to fill in | In the wiki's page styles — travels with the look | You write the same shape over and over: a source card, a table row per source |
| Clipping | A page of this wiki whose name begins Clipping:, inserted as it stands | A page, which you can link to and search | You paste the same fixed block of text often |
| Template | A starting point for a whole new page | A page named Template: | You make pages that all begin the same way |
They insert from the same menu and are labeled so you can tell which is which. A style template is a fourth and unrelated thing: a whole look as a file, not words for a page.
“I applied a style and nothing happened.” Three causes, in the order they are worth checking. One: page styles are off for this wiki on this Mac — look for the chip, or check View ▸ Show Pages Without Page Styles. Two: the rule is losing to something more specific. Open the panel and press Check This Page; it names the rule and tells you what to write instead, usually the element's name in front of the class. Three: the rule was left out to keep pages safe — the report says which line and why.
“I changed the styles and my pages did not change.” You have a draft. Look for the Unsaved changes pill: the page beside the panel is showing your draft and nothing else is, until you press Save.
“A wiki somebody sent me is unreadable.” View ▸ Show Pages Without Page Styles, and it draws plain. Per wiki, on your Mac only, and nothing in the wiki can turn it back on.
“I want my old look back.” The History tab, then Restore, then Save. If you have only just saved, the status line's Undo is quicker.
“Can somebody hide words from me with this?” They can make words invisible, and you are told how many rules are able to do it — in the panel, and in the preview before you ever use an arriving look. Turning the styles off shows everything the pages hold. What a look cannot do is put words on a page that are not really there, or take words out of what search, an export or your assistant reads.
“A pasted card lost its styles.” Styles are kept on a paste only when this wiki's Style menu has them. Pasting from a wiki with a different look brings the words and not the look, which is what stops names piling up that nothing draws.
“The commands are refusing on this page.” They need a rich text page. A Markdown page, a plain text page and a page you are reading as its source all say so and name the way through.
“Word lost my cards.” Word, Markdown and plain text keep the words of a styled passage and not its look, and each tells you how many passages that was. A PDF, an exported web page, a published site, an ePub and a share all keep the look.
“A locked wiki opened in an older MojoPad.” Page styles are sealed with the wiki's password, and a version of MojoPad older than the one page styles arrived in does not know that there is anything there to keep. Open a password-protected wiki in one of those and save it, and its page styles are dropped. Your backups still hold them. If you move a protected wiki between Macs, keep MojoPad current on both.
Help ▸ Save Diagnostic Report… writes the report you send when something is wrong, and page styles are in it as counts and states, never words.
For each wiki it says whether the wiki carries a look at all — or why its pages are drawing plain instead: the look is sealed with the wiki's password, or was written by a newer MojoPad, or is over what MojoPad allows, or cannot be read. Then the shape of it: how large the styles are against what is allowed, how many styles and how many snippets against theirs, how many earlier looks History is keeping, and the line most reports are sent to have answered — whether every style in the Style menu really is drawn by a rule, and how many are not. (A style nothing draws is the usual answer to “I applied it and nothing happened”.)
For each window it adds what that window is drawing: whether the wiki's sheet is applied, how many parts of the stored look were left out on the way, and whether a style template is being previewed there.
The wikis you have switched page styles off for are counted and not named. And none of your styles, class names, labels, snippet names or template names appear anywhere in it — not yours and not a sender's. A report you paste into an email should not carry the wording of anybody's work.