Notebooks

Your own writing about a language — grammar you worked out, notes on how people actually talk, tables you keep coming back to.

What a notebook is

You can use them for whatever you want, but a notebook is a place to keep everything you work out about one language, in your own words. They are not meant for quizzes so much, more for the long-form half of learning, the part you write once and come back to to remember what you learn.

People tend to use them for:

  • Grammar notes with your own examples
  • Conjugation and declension tables
  • Cultural explanations, register, and what not to say
  • Pronunciation notes: pitch accent, tones, vowel length
  • Vocabulary collocations
  • Sentence mining: lines you liked, with the source
  • TV show, film, book, and podcast lists/recommendations
  • Planning out your studies or a log of what still confuses you

How they are organized

There are three levels, and only the middle one is optional:

Notebook structure
LevelWhat it is
NotebookThe top level, tied to a single language when you create it. The language is what makes a notebook findable, so a notebook that mixes two languages will fight you later. Give it a title and, optionally, a description explaining what belongs in it.
Section
optional
A folder inside a notebook — “Verbs”, “Particles”, “Media”. Pages do not need one; a page with no section simply sits at the top level of the notebook. Sections are worth adding once a notebook passes a couple of dozen pages and the list stops being scannable and you need a filter.
Page
the writing
One document, with a title, an optional description, and a rich text body. This is where you actually write. A page can be moved to another section, reordered by hand, and deleted, or put into the trash without losing it immediately.

Deleting a section does not delete its pages — they fall back to the top level of the notebook. Deleting a notebook, on the other hand, takes its pages with it.

Getting started

  1. Add the language first. A notebook has to belong to a language you are studying. If yours is not in the list yet, see adding languages.
  2. Create the notebook from your notebooks. Title and language are required; add a description if you like.
  3. Add a page. New pages open straight into the editor with an empty paragraph. Nothing else is required to start writing.
  4. Add sections when you need them — not before. It is easier to sort thirty existing pages into sections than to guess the right six folders on day one.
  5. Reorder by dragging. Pages keep a manual order inside their notebook, so a grammar notebook can run in teaching order rather than alphabetically or by date.

What makes a page useful

The pages people actually reread tend to be narrow. One page per question — “when does this take the dative?” — beats one enormous page called “Grammar”. Narrow pages also mean the page list doubles as an index, and the headings inside each page feed the table of contents.

Write your own examples rather than copying a textbook's. A sentence you built yourself records what you understood at the time, which is the part worth checking again in six months.

The editor

Page bodies are written in a rich text editor rather than Markdown, and what you see while writing is what the page is. Everything is reachable from the toolbar at the top of the page, and most of it also has a keyboard shortcut. If you prefer to keep your hands on the keyboard, the editor also understands Markdown-style shorthand as you type.

Saving

Pages save themselves. A few seconds after you stop typing the editor sends the page up, and the badge at the top of the editor tells you where things stand:

  • Saved — what is on screen is what is on the server
  • Unsaved — edited, with a save due
  • Saving — in flight
  • Failed — the last save did not land; typing re-arms it, and you can retry immediately

If you write without pausing, a save still goes out on a ceiling rather than waiting for a gap in your typing, so you are never more than a short stretch of work from the last save. It is still worth watching the badge before closing a tab on a long session.

Structure

  • Six heading levels, paragraphs, blockquotes, horizontal rules
  • Bulleted, numbered, and task lists, nested with Tab and shiftTab
  • Code blocks with syntax highlighting — useful for writing about romanization schemes, or for anything you want in a fixed-width block that the editor will not reformat
  • A table of contents built from your headings, which can sit in a side panel or open as a sheet. Every heading gets a stable anchor, so you can link to a specific section of a long page

Text and emphasis

  • Bold, italic, underline, strikethrough, inline code
  • Text color and highlight, from a grouped palette (dark, bold, and vibrant ranges) that is legible in both light and dark themes
  • Font family — a universal sans, serif, or monospace, each backed by Noto so Japanese, Korean, and Chinese text renders in the matching face instead of falling back to something ugly
  • Font size, line height, and text alignment
  • Ctrl / ⌘\ clears every mark on the selection, which is faster than toggling four things off

Formatting as you type

You never have to use any of this — every one of these has a toolbar button, and the page is the same either way. But if you would rather not reach for the mouse mid-sentence, the editor recognizes a set of plain-text patterns and converts them the moment you finish typing them. This is the convention called Markdown, and if you have ever typed **really** in a chat app to mean really, you have already used it.

Two things to know before the tables, because they explain nearly every “why didn't that work?”:

  • Patterns that change a whole line (headings, lists, quotes) fire when you type the mark and then a space, and only at the very start of the line.
  • Patterns that change part of a line (bold, italic) fire when you type the closing mark, so the text transforms as you finish the word rather than when you start it.

Whole-line patterns

Type these at the start of an empty line, followed by a space.

Start of a line, followed by a space
Type thisTo getNotes
# A headingOne # per level, up to ###### for the smallest
## A smaller headingHeadings are what build the page's table of contents
- A bulleted list* and + work too
1. A numbered listAny number works; the list renumbers itself
[] A checklist item with a tickable box[x] starts it already ticked
> A blockquoteGood for quoting a source or an example sentence
``` A code blockName the language to highlight it — ```json
---A horizontal dividerNo space needed; three hyphens on their own line

Inside a list, Tab indents the item one level and shiftTab brings it back out. Enter twice in a row leaves the list.

Mid-sentence patterns

These wrap a piece of text. Type the opening marks, the text, then the closing marks — the formatting appears when you close it.

Wrapping text inside a line
Type thisTo getNotes
**bold**bold__bold__ does the same
*italic*italic_italic_ does the same
~~struck out~~struck outHandy for “don’t say this” examples
`code`codeSingle backticks. Fixed-width, and left alone by the editor
!!hidden!!A spoiler — hidden until hoveredNot Markdown, but the same idea. Useful for self-testing

Symbols and punctuation

The editor also tidies punctuation as you type, so you get typographic characters without hunting for them in a character picker.

Automatic symbol replacement
Type thisTo getNotes
--— (an em dash)—
...… (a single ellipsis character)—
"quoted"“quoted” (curly quotes)Apostrophes curl too
->→And <- gives ←
<<« »French and Russian quotation marks; >> gives »
!=≠—
+/-±—
1/2½1/4 and 3/4 work as well
^2²^3 gives ³
(c) · (r) · (tm)© · ® · ™—

When you don't want it

Writing about a language means occasionally wanting the characters themselves — underscores in a romanization scheme, asterisks marking an ungrammatical form, a literal pair of hyphens. Two ways out:

  • Press Backspaceimmediately. The first Backspace after a pattern fires undoes just that conversion and leaves your literal characters in place. Ctrl / ⌘Z works too.
  • Use a code block. None of these patterns apply inside one, so anything you paste or type there stays exactly as written — which is why it is the right place for transliteration tables and glossing conventions.

Linguistics convention and Markdown collide in one unlucky spot: a leading asterisk marks an ungrammatical form, and * at the start of a line starts a bulleted list. Backspace once and the asterisk stays put.

Tools for language notes

These are the parts you will not find in a general-purpose editor. They exist because language notes need to show a reading, a tone, or a meaning without breaking the sentence they are in.

Furigana and pitch accent

Annotate any span of text with a reading, rendered as real <ruby> text above the base — 漢字 with かんじ over it 漢字かんじ. Beyond the reading itself you can mark pitch accent: set where the pitch drops and the annotation draws the mora diagram over the reading and names the pattern — heiban, atamadaka, nakadaka, or odaka — with an optional color coding per pattern.

The pattern is derived from the drop position and the length of the reading, so it stays correct if you change either, and it is stored with the page rather than recomputed from a dictionary.

Pinyin and Jyutping

The same ruby annotation, for Mandarin and Cantonese. Pick the dialect, set the tone — 0–4 for pinyin, 0–9 for jyutping — and choose whether to show the tone number as a superscript, color the reading by tone, or both. Tone colors are defined once for the whole app and have separate light and dark values, so a page written in one theme is still readable in the other.

Hover cards

A hover card keeps a short note out of the main line of text: the page shows a trigger word, and the body appears when you hover it. Good for a gloss, a literal translation, or an aside that would wreck the sentence if you inlined it. The body is real editable content — marks, lists, and links all work inside it — not a plain-text tooltip.

Spoilers

Hidden text, revealed on hover. The point is self-testing: write the sentence in the target language, mark the translation or the reading as a spoiler, and the page becomes something you can quiz yourself with instead of a page you merely reread.

Tables

Full tables with header rows, inserting and deleting rows and columns, merging and splitting cells, and per-cell background color. Conjugation and case tables are the obvious use, and cell color is what makes them readable at a glance — one shade for irregular forms, another for the ones you keep getting wrong.

Links are added from the toolbar or edited in place from the bubble menu that appears when your cursor is inside one. A URL typed without a scheme is normalized rather than resolved against this site, so example.com/grammar goes where you meant it to.

Read time and counts

The stats menu reports the page's character count and an estimated read time. Because reading speed varies enormously by script, it also breaks the estimate down for Latin, Chinese, Japanese, Korean, and Arabic text rather than pretending one number fits every page.

Keyboard shortcuts

Ctrl / ⌘ is ⌘ on macOS and Ctrl elsewhere. Every shortcut is also shown in the tooltip of its toolbar button, which is the version that is guaranteed to be current.

Marks and emphasis
ActionShortcutNotes
BoldCtrl / ⌘B—
ItalicCtrl / ⌘I—
UnderlineCtrl / ⌘U—
StrikethroughCtrl / ⌘/—
Inline codeCtrl / ⌘E—
SpoilerCtrl / ⌘.Hidden until hovered
Clear formattingCtrl / ⌘\Removes every mark on the selection
Blocks and structure
ActionShortcutNotes
Heading 1–5Ctrl / ⌘alt1…5—
Heading 6Ctrl / ⌘shift6—
Bullet listCtrl / ⌘shift7—
Numbered listCtrl / ⌘shift8—
Task listCtrl / ⌘shift9—
Indent / outdent list itemTabshift Tab to outdent
BlockquoteCtrl / ⌘shiftB—
Code blockCtrl / ⌘shiftP—
Horizontal ruleCtrl / ⌘alt-—
Tables, cards, and sizing
ActionShortcutNotes
Insert or delete tableCtrl / ⌘alttInserts one, or deletes the table the cursor is in
Hover cardCtrl / ⌘alty—
Increase font sizeCtrl / ⌘shift+Steps through the size list
Decrease font sizeCtrl / ⌘shift-—
Reset font sizeCtrl / ⌘shift0—

Deleting and recovering

Deleting a page does not destroy it. It moves to the trash, where it stays recoverable for 30 days before being removed for good; until then you can restore it from the trash. A deleted page opens read-only, with a banner saying when it will go, so you can read it before deciding.

Limits

There is a cap on how many notebooks, sections, and pages an account can hold, and on the size of a single page — currently 5 notebooks, 50 sections per notebook, and 250 pages across the whole account. The per-page size limit is generous — on the order of a novella — but markup like tables and color counts toward it as well as words.

The reasoning behind each number, and the exact page size, is on the limits page.