Say what a page IS, and stop filling in the same fields. You keep making pages of the same shape — every interview needs a source and a date, every recipe needs a time and a number of servings, every book needs an author and a rating. A kind holds that shape in one place. Make a page of that kind and the fields are already there. Change your mind next month, edit one page, and everything you have already made changes with it.
That last part is the whole point, and it is what makes a kind different from a template. A template hands over its text and is finished with you. A kind stays attached.
Ten minutes, and at the end you will have a shape that fills part of itself in. The example is a reading library. Swap Interview, Recipe or Person for Reference and every step is the same.
⌘N, and call the page Kind: Reference. The name is the
whole of it — a page called Kind: anything is one. There is nothing to switch on.That is the whole loop. Every reference you make from now on arrives with those four fields, and the last of them fills itself when you ask it to.
Two things that catch people, both worth knowing early. If you already have properties you do not need new ones — click any property's name and the panel that renames it holds the instruction too. And on a kind's own page you are looking at every property the document defines, not only the ones this kind uses; the ✕ there asks whether you mean to take the field off this kind or delete it from the wiki entirely.
If your sources live in a reference manager, you do not have to retype them.
File ▸ Import References (BibTeX)… reads a .bib file — the
BibTeX format that reference managers and most journal websites export — and makes
one page per source, all of Kind: Reference, carrying their authors in the
order credited, year, where they were published, keywords, and the citation key.
And their identifiers. A .bib file usually carries a DOI for a
paper and an ISBN for a book, and often the address it can be read at — those
arrive too, on Identifier and URL. A source that has both a DOI and an ISBN keeps
both. The count at the end says how many of them came with one, because a field that arrives in
silence is a field nobody knows to look for.
They are pages, not records. Drop the PDF on one, highlight it, pull quotes into notes that link both ways, find it later by meaning. That is the difference between a reference library and a reference list — and everything MojoPad does to a page, it now does to a source.
Import the same file twice and nothing is duplicated: anything already there is counted and skipped, and you are told how many.
The quickest way is not to know any of this. On any page, click the type control at the top — the one that says + Type until a page has one — and choose ✦ Make this page a kind…. Say what pages of this kind are (Interview, Reference, Recipe) and the page becomes one. Everything already on it stays exactly where it is, and every link pointing at it goes on working.
What that command does, so nothing is hidden: a kind is an ordinary page with an ordinary name. Call a page Kind: Interview and it is one. (Same trick as Template: — no new machinery to learn, and the kind is a real page you can write on, link to and search.) The command simply writes that name for you, which matters because until you know the rule there is nothing on screen that says a page is about to become a kind — you can build a page of five properties and still be looking for where to declare it.
Either way, then:
They are two different things and the words do not help, so they now sit in one place. Click the type control at the top of any page and you get both, each headed by what it does:
Most pages want only the colour. A page you will make forty of wants a kind. You can have both — and a kind can carry a type, so setting it once on the kind's page dresses every page of that kind and you never choose twice.
Press ⌘N, name the page, and choose the kind from the list — it sits beside
your templates, marked stays attached. The new page arrives with the kind's fields, the
kind's look, and the kind's first words already in it.
For a page you have already written, open the Properties palette and use the This page is a… menu at the top. Nothing you have written is touched; the page simply gains what the kind carries.
If that menu offers you nothing, you have not made a kind yet — it says so, and offers to make the first one there and then. A kind has to exist before a page can be one, and the menu is where people look for it, so that is where it is.
Some questions you would ask of every page, and never have time to. You have forty papers in a reference library. For each one you would like a two-sentence summary, the main ideas as separate points, and — before you cite it — the strongest argument against it. Nobody writes that forty times. So the question gets asked once, of the property, and every page can answer it.
In the Properties palette press + Add property. Change the first menu from Filled by hand to ✦ Filled by AI and a box appears, headed What to ask of each page: write the instruction the way you would say it to a person who was about to read the page for you. Then give it a short name — Summary, Argument against — and press Create & add. Without a name nothing is made.
Four that earn their place immediately:
The type still means what it always meant, and it is worth choosing properly: a question answered with a date should be a date, and one answered with a word from a fixed list should be a select. Only text is unconstrained. A model handed a type it cannot satisfy is told so, and you are told it could not fit rather than given something that nearly does.
A select needs its options before it can answer — click the property's name in the Properties palette and type them in. A select with nothing to choose from can never be filled.
A ✦ appears beside that field on any page that carries it — the page you made it on, and every page of a kind that names it. Press it and the page is read.
It reads the first part of a page — roughly a thousand words — not the whole of a long one. For a long source, ask the question of the page holding your notes rather than of the full text. (This is not the palette's ✦ Fill with AI, which guesses at everything once and forgets it did. This one asks its own question and remembers the answer was the model's.)
The answer comes from the model this document uses — by default the one running on your own Mac, so the page never leaves it. If you have turned on bring-your-own-model for this wiki it goes there instead, and the mark on the answer says which model wrote it. See Local AI.
Pressing ✦ is the yes, so the answer lands. There is no second confirmation: you asked the question, and the answer arrives in the field wearing its ✦. If you do not want it, ✗ takes it away; if you want a different one, ↻ asks again; and typing your own words over it makes it yours and ends the model's claim for good.
What makes that safe is that neither thing this button offers can land on words you wrote. The ✦ only appears where nothing has answered yet, and the ↻ only where the answer was the model's — the moment you edit a value by hand its mark is cleared, so it is never called out of date and never offers to be asked again. Nothing here can overwrite your writing.
✦ Fill 3 sits at the end of the properties strip whenever a page has questions nobody has answered, and the number is how many. Press it and they are asked one at a time, so you can watch it go and stop it if you want to. It is only ever the empty ones: a field you filled in yourself, and a field already answered, are both left exactly as they are. When there is nothing left to ask, the button is not there.
And when you give a page a kind, it offers. A kind that asks three questions of its pages says so the moment you point a page at it — naming them, and waiting. It is one press instead of three, and it is still a press: nothing is ever asked of a model because a page happened to open, or save, or be imported.
This is the reason it is worth the trouble. Put those properties on a kind and they belong to everything of that kind. A Kind: Reference carrying Summary, Main ideas and Argument against means every source you have ever filed is a page that has already been read once.
A property you already have can be given an instruction too, which is worth knowing if you set your fields up before this existed: click its name in the Properties palette and the panel that renames it holds the instruction as well. Until any property has one, the palette says so with a line you can press.
From the kind's own page, click a property's name to open it — the same panel that renames it holds its instruction — and choose ✦ Fill on the pages of this kind…. It shows you the question it is about to ask, how many pages that is, that each one is a separate request, and how many it will skip — locked pages, and pages that are files rather than pages — and then waits. A library of two hundred sources is two hundred requests, and you should be told that before it starts rather than notice afterwards. Pages that already have an answer are left alone; a batch is for the empty ones.
This is the one place there is no answer-by-answer review — the confirmation is the review, and nobody reads two hundred values one at a time. Every value it writes wears its ✦, so the whole batch stays findable afterwards, and any one of them stops being the model's the moment you type over it.
The ✦ on the kind's own page is a different thing: it fills the kind itself, and that single answer is then shown by all of its pages. To give each page an answer of its own, use Fill on the pages of this kind… instead.
A value the model wrote wears a ✦. Hover it and it says which model wrote it and when.
The mark is doing real work, and it is worth a paragraph. Some of these questions read your page back to you — a summary is made of what the page already says. Others produce something that was never on the page at all:
Both land in a field that looks equally like a fact. In a document you will still be reading in ten years, the difference between what you concluded and what a machine suggested should be on the page, not in your memory of which button you pressed. That is the whole of it.
Type over it, on the page or in the palette, and it is yours. The mark goes, and that value is never asked about, refreshed or marked again — the same rule a page already has over its kind. Which also means the honest way to keep a machine's answer is to read it and rewrite it in your own words: do that, and it stops being the machine's.
↻ sits beside every answer the model wrote, whether or not anything has changed. An answer you simply do not like is reason enough to ask for another, and you should not have to delete the first one to be offered a second. Press it and the model is asked again; the answer there is replaced by the new one.
Out of date is a different thing, and it says so. A summary written from an earlier draft is not so much wrong as stale, and being told which is the whole difference. When you have edited the part of the page it read — or changed the instruction, which makes every answer it ever gave out of date at once — the ✦ fades, and the ↻ beside it changes what it says from ask again to the page has moved on.
It never re-asks on its own. That would spend time and, if you use a model that charges, money you did not agree to spend; and it would overwrite an answer you might have been relying on, at a moment you were not looking.
One thing worth knowing if you share documents: instructions travel with the wiki, because they are part of what a property is. A document somebody sends you may arrive carrying theirs. They do nothing until pressed, and the batch says which property it is about to run and on how many pages — open the property to read the instruction itself first.
You will usually have been keeping a form by hand long before you think to make a kind — writing interviews for five months, putting a source and a date on each because it seemed sensible at the time. So MojoPad notices instead of waiting.
Open the Properties palette and, when a set of pages already matches, it says so: 4 pages are already the same shape. Each of them answers Source and Date — and nothing else. It names them, so you can check the claim by opening one. Call them something…, give it a name, and all of them are that kind from then on.
Nothing you wrote changes. Every page keeps every answer it gave; setting a page's kind back to none undoes the whole thing. What you gain is that they are now a group — you can view them together, and you have one place to change them all.
If every one of them gives the same answer to something — three recipes that all name the same book — you are asked one further question, on its own, with the count in it: should the kind say it instead? Say yes and that answer moves onto the kind and off the pages. They go on showing it exactly as before, but from one place. This is the only part that changes what your pages store, which is why it is asked separately and never assumed.
Look down the property strip and you can tell at a glance:
A page always wins. Whatever the kind says, what the page says for itself is what you get — including saying nothing. Clear a field on the page and it stays cleared; the kind does not talk over an answer you have already given.
Once a kind carries more than a few properties, its pages show all of them, and the two that matter are lost among the ten that are merely true. On the kind's page, each property has a small mark beside it, and it has three states rather than two:
Picking the first one changes the rest. The moment you pick out Source, every other property on that kind moves from ◍ to ○ — that is what picking means, and it is worth knowing before you do it. Turn the last one back off and they all show again.
Nothing is hidden — it is folded. Whatever was not picked out appears as a quiet +2 more at the end of the strip, which opens it in place. So a page with twelve properties reads as the two that matter, and the other ten are one click away on the page itself, never somewhere you have to go looking. Hover that + and it names what is folded, which kind picked, and where to change what it picks — so a fold you did not expect is never a mystery you have to hunt down.
A kind that chooses nothing shows everything. Nothing in MojoPad picks on your behalf: importing a bibliography builds a Kind: Reference for you and leaves every one of its fields on show, because a default that folds away a field you have just imported is the app having an opinion about your work before you have had one.
This is the reason to use kinds at all, so it is worth knowing exactly what happens. Standing on a kind's page, every property tells you what changing it would reach, before you touch it — changes 12 pages, or changes 9 of 12 — 3 answer for themselves. The second number is the one that surprises people: pages that gave their own answer keep it, which is usually what you wanted and occasionally is why an edit “did not work”.
Nothing was ever copied onto your pages, which is what makes this possible. A page of a kind stores only the fact that it is one; every value is asked for fresh each time the page is read. Delete the kind and its pages keep whatever they answered for themselves and quietly lose the rest — nothing breaks, and nothing is left behind pretending to be yours.
Two things are settled once, when the page is made, and then left alone: the first words on it and how it opens (as a map, an outline, or ordinary prose). Everything else stays live.
The reason is worth a sentence, because it is a promise about your work: if the starting text were live, editing a kind would rewrite prose you had written on every page of it. And a page's view is not decoration — a map's contents are positions and colours and bends, an outline's are rows. A kind that could reinterpret a page's contents from a distance is a kind that could throw away a map you spent an afternoon arranging. So it does not.
A kind can itself be of a kind. Make Kind: Interview a kind of Kind: Source and interviews get everything sources have, plus their own. The nearest answer wins, so Interview can override anything Source says. Useful when several shapes share a core — sources, references, clippings — and you would rather describe the core once. You are never made to do this; two levels is plenty for most documents.
Three things people do with this. A researcher keeps a wiki per project and wants the same Kind: Paper — the same fields, the same names — in every one of them, rather than rebuilding it each time a project starts. Two people working together agree on the shape a source record should have, and one of them sends it to the other so their notes stay comparable. You start a new document and would rather begin with the shapes you have already worked out than from nothing.
A kind travels as a file. File ▸ Export Document ▸ Kinds… writes every kind in the
open document into a single .mojokinds file, and File ▸ Import ▸ Import Kinds…
takes such a file into whichever document you have open. It is small and it goes in an email.
What is in it: the kinds themselves — their fields, which of those fields they promote, what each one is for, and any kind-of-a-kind relationship between them — together with the name and type of every field they use. What is not: the pages of those kinds, and none of your answers. Exporting Kind: Paper does not export your papers.
If a kind of that name is already in the document, MojoPad asks once — Overwrite or Keep mine — and applies your answer to all of them. There is no field-by-field report, because overwriting is safer than it sounds:
Field names merge by name. If the arriving kind asks for a Year and this document already has a Year, its pages are pointed at yours — you do not end up with two fields called Year in every table and every filter. Where a name is new, the field is added, and MojoPad tells you how many of each when the import finishes.
A kind you import belongs to the document it lands in. Nothing records where it came from or where else it lives, and nothing goes looking. Change a kind and the copies in other documents do not change with it — export again, import again, and you decide which documents get it. That is one more step than a system that syncs by itself, and in exchange every document stays whole: send one to a colleague and it opens complete on their Mac, with nothing missing and nothing to install.
Make a page called Kind: Something and it is filed in a Kinds folder in the sidebar, made the first time one is needed. If you already keep your kinds in a folder, that one is used instead of a second appearing beside it. It is a convenience only — a kind is a kind because of its name, so moving it out of the folder changes nothing, and every kind is exported wherever it sits.
A kind that is encrypted supplies nothing while it is locked. Its pages fall back to their own answers, it is not offered in the menus, and none of what it holds appears on them — which is the point of locking it. Unlock it and everything returns, because nothing was ever copied out of it. See Encryption and Privacy.
Both answer “what am I making?” and they sit side by side at ⌘N.
The difference is what happens afterwards:
You can use both: a kind for what the pages are, and a template for a particular way of starting one.