What Grasmere does with your Markdown
Before you trust an app with files you’ve kept for years, you want to know what it reads, what it writes, and what it leaves alone. This page is the plain account: the syntax Grasmere understands, the front matter it looks for, the files it adds to a folder, and the things it never touches.
The files
A project is a folder of Markdown files, nothing more. Any folder will do, including an Obsidian vault or a Git repository. Files are UTF-8 and are saved as you type. Line endings are kept as they were, whether \n or \r\n. Text is never rewrapped, and no file is rewritten unless you edit it. If another app changes a file, Grasmere shows the change at once, and if you were both editing the same file it asks whether to keep yours, take theirs, or keep both.
The syntax
Grasmere reads GitHub’s flavour of CommonMark, which is what GitHub, Obsidian and most editors mean by Markdown today.
| Understood | Notes |
|---|---|
| Headings | # to ######, and setext headings underlined with === or ---. |
| Emphasis | * or _ for italics, doubled for bold, ~~ for strikethrough. |
| Lists | Bulleted, numbered with . or ), nested, and task lists with [ ] and [x]. |
| Blockquotes | >, nested as deep as you like. |
| Code | Fenced and indented blocks, with colouring for 14 languages, and inline code. |
| Tables | Pipe tables with column alignment. |
| Links and images | Inline and reference style. Images are shown in place; the path stays in the file. |
| Footnotes | [^1] in the text, [^1]: anywhere. They become real footnotes in PDF and Word. |
| Rules and breaks | --- for a rule; two spaces or a backslash for a hard break. |
| HTML comments | <!-- --> is hidden on the page and kept in the file. |
| Mermaid | A mermaid code fence is drawn as a diagram. |
Raw HTML is shown as text and never passed through to a page, so nothing in a file can run. Dates written as 2026-10-03 are shown as chips.
Not understood
Maths in $ $, ==highlight== and other extensions are shown as the characters you typed. Wiki links in [[double brackets]] aren’t followed live. Project ▸ Convert Wiki-Links turns them into ordinary Markdown links, including aliases, #Heading targets and ![[embeds]], so a vault moves across in one step. Due dates in the Obsidian Tasks form are read.
Front matter
A YAML block at the top of a file is read for a handful of keys and otherwise left alone. Grasmere adds front matter only when you ask for something that needs it, such as setting a chapter’s status from its card.
| Key | Used for |
|---|---|
title | The document’s title where it’s listed, instead of the file name. |
synopsis | The line on the chapter’s card. |
status | Unwritten, Draft, Revised or Final. |
type | Makes the file a source: book, article, chapter, report, webpage or other. |
author, published, journal, volume, issue, pages, doi, isbn, publisher, place, edition, url, accessed | A source’s reference details. |
key | A citation key kept from an imported BibTeX or CSL JSON library. |
keywords, abstract | Passed to a LaTeX template. New in 1.6. |
draft, publish | Whether a page is included when the project is built as a website. |
What it adds to a folder
Everything Grasmere keeps about a project is a readable file in the project. There’s no database.
project.md: the project’s summary, word targets, citation style and which documents are in hand, as headed sections of Markdown.index.mdin a folder of chapters: the order of the chapters is the order of the links in it. Drag chapters on the Review stage and this file changes.research/: one Markdown file per source, withresearch.mdas a table of them,highlights.mdfor your highlights, and anannotationsfolder..review/: review rounds as JSON, with its own.gitignore._site/when you build the project as a website.
Folds, recovery copies and window state are kept in the app’s own data, never in your files.
Citations
A citation is a link to the source’s file, with the author and year as its text: [Field 2019, p. 12](../research/The%20Living%20Loaf.md). Any Markdown app shows it as a link. On export it’s written out in APA 7, Harvard, Chicago author-date or MLA 9, with a reference list. Pandoc’s [@key] citations can be converted with Project ▸ Convert Pandoc Citations. See citations without BibTeX.
Export
A document exports to PDF (⌘P) or Word (⇧⌘E). A folder publishes as one PDF, in standard manuscript format or typeset as a book, or as one Word document with a title page and a chapter to a page. Citations, footnotes, pictures and tables come through in each. New in 1.6. The Publish stage also writes LaTeX into a template of your own.
Keyboard
| Key | Does |
|---|---|
| ⌃1 to ⌃4 | Research, Draft, Review, Publish |
| ⌃T | Put the document in hand, to be sent or published |
| ⇧⌘R | The document’s Review screen |
| ⌥⌘K | Cite a source |
| ⌥⌘A | Add a comment |
| ⇧⌘D | Focus mode: the current line kept in the middle, the rest faded if you like |
| ⌥⌘1 to ⌥⌘3 | Heading levels |
| ⌥⌘T | A table |
| ⌘P, ⇧⌘E | Export as PDF, as Word |
Questions
Can I use another editor at the same time?
Yes. Edit a file in Vim, VS Code or Obsidian and the change appears in Grasmere as soon as it’s saved.
Does it work in a Git repository?
Yes. Commits are listed under Versions, with Compare and Restore, and there’s an automatic commit setting under Settings ▸ Automation.
What happens if I stop using it?
You have a folder of Markdown files, plus a few more Markdown files it made. Delete those if you like.
Your files, unchanged. A workshop around them.
Grasmere is a Mac app for long writing in plain Markdown, with sources, citations, review and publishing built in. Try it free for 14 days.
Download for macOS Free for 14 days, then $14.99 once · macOS 26+Related
- A Markdown editor for Mac
- From Obsidian notes to a finished manuscript
- Markdown for projects
- The guides
- More on writing in Markdown
Last updated .