Writing and Formatting

You write in plain Markdown, and what you type is what’s saved. As you write, the page styles headings, emphasis, lists and links. The markup stays visible but faint, so you can always see it and change it.

Plain files

Every document is a .md file in the folder you opened. Its first heading is its title, and that’s the name the contents show. There’s no database and no special syntax. You can open the same files in another editor, read them on GitHub, keep them in git or hand them to an AI tool.

Front matter, shown faintly at the top of a document

Front matter is the block between --- lines at the very top of a document. Grasmere keeps it as it is and shows it faintly. You can also edit its fields in the margin’s Front Matter section. See The Margin.

New in 1.3. A code block, the lines between ``` fences, is set in a monospaced type with the fences faint. Name the language after the opening fence, such as ```swift, ```python, ```json or ```sh, and the keywords, strings, comments, numbers and types take quiet colours from the theme. They’re coloured the same way in the PDFs and websites you make. The text stays exactly as you typed it. A block with no language is left in the plain code colour.

A Python code block on the page, its keywords, strings, comments and numbers in the theme’s colours

Formatting

ToDo this
Make text boldFormat ▸ Bold (⌘B), or type **bold**
Make text italicFormat ▸ Italic (⌘I), or type *italic*
Mark codeFormat ▸ Code, or type backticks
Add a headingFormat ▸ Heading 1, 2 or 3 (⌥⌘1, ⌥⌘2, ⌥⌘3), or start the line with #, ## or ###
QuoteFormat ▸ Blockquote (⌥⌘Q), or start the line with >. Return continues the quote (twice to end it), and several lines pasted into a quote are all quoted
Add a ruleType --- on a line of its own

Headings, emphasis, links and lists styled on the page

When you type a bracket, quote or backtick, its closing partner appears too.

Lists

Lists carry on by themselves.

A numbered list

  • Return on a list line starts the next item.
  • Tab nests an item, and ⇧Tab brings it back out.
  • Return on an empty item ends the list.
  • Numbered lists renumber themselves as you add and remove items.

A list item that starts with [ ] is a task. See Tasks and Due Dates.

Folding headings

In a long document, fold sections away under their headings to get a short outline. Point at a heading and click the chevron in the left margin, or use the menu:

Folded sections

  • View ▸ Fold Section (⌥⌘[) and Unfold Section (⌥⌘])
  • View ▸ Fold All (⇧⌥⌘[) and Unfold All (⇧⌥⌘])

Folding only hides text on screen. The file never changes. Grasmere remembers your folds when you quit and reopen.

Dates

Write a date as 2026-10-03 anywhere and it shows as a quiet chip. Click it to pick another day from a calendar. Only the date changes. Dates in code or in a link’s address are left alone.

Dates shown as chips

Word count

The bar beneath the page shows the document’s words, links and backlinks. Select some text and it counts the words you’ve selected. To turn the bar on or off, choose View ▸ Show Word Count, or use Settings ▸ Appearance ▸ Show word count beneath the page.

The word count beneath the page

Spelling

Settings ▸ General ▸ Check spelling while typing turns the underline on or off. With the language set to Automatic, Grasmere works out which language each paragraph is in as you write. Link addresses, code and front matter are never checked.

Misspellings underlined

Undo

⌘Z undoes your typing, and the history survives saving. You can also undo things Grasmere does for you, such as rewriting links after a rename. See Links and Backlinks.