Guide

Markdown Reading Themes: Notion, Docs, Terminal and More

A reading theme decides how your rendered Markdown looks: the typeface, the line length, the colour of a link, whether headings sit above a hairline rule. In QuickMark you pick one in Settings ▸ Appearance ▸ Reading theme, and there are six: Default, Docs, Notion, Essay, Terminal and Minimal. The switch is instant, and it applies to every document you open.

The same release-notes document rendered three times on iPhone: Docs with a sans typeface, Essay on warm cream paper with a serif, and Terminal in dark green monospace
One document, three reading themes. Captured on an iPhone 17 Pro simulator while writing this post.

The code theme is a separate setting sitting right below it, and it only colours fenced code blocks. Two knobs, two jobs. This post shows all six reading themes on the same document, explains what each one actually changes, and points out one entry in the code-theme list that currently does nothing.

Where the setting lives

On Mac: QuickMark ▸ Settings… (⌘,) ▸ the Appearance tab. Reading theme is under the "Document Style" heading, with the app's own one-line description of the selected theme underneath it.

On iPhone and iPad: the gear button, then the Appearance section at the top. Same list, same order.

Above both pickers sits Appearance: System / Light / Dark, which is a different axis. Light and dark decide the palette; the reading theme decides the typography and layout, and most themes adapt to whichever palette you are in. Terminal is the exception, and I will come back to it.

The six themes, same document

A three by two grid of iPhone screenshots showing the same release-notes document in the Default, Docs, Notion, Essay, Terminal and Minimal reading themes
The same file, six times, all captured on the same simulator in the same run. Nothing here is a mockup.

Default is the GitHub-flavoured look you already know: system sans, a hairline rule under H1 and H2, blue links. If you spend your day in pull requests, this is the one that will not surprise you.

Docs is the documentation-site look. Sans typeface, indigo links, code blocks and inline code get a real border instead of just a grey fill, callouts become rounded cards with a thicker accent bar, and table headers pick up a faint tint of the link colour. It is the theme to pick when the document is going to be read as reference material.

Notion softens everything. Bigger, heavier H1 at 2.1em, no rules under headings, warm near-black body text instead of pure black, pastel callouts, gentle table headers. Line height goes to 1.75, so the page breathes more than Default does.

Essay is the biggest departure. A serif stack (Iowan Old Style, then Palatino, then Georgia), line height 1.78, and the text column narrows to 46rem and centres itself so lines stay short enough to read comfortably. In light mode it swaps the whole palette for warm paper: a cream background, brick-red links, and the code surfaces warmed to match so they do not sit on the page like a cold grey patch. Block quotes go italic. Headings lose their rules.

Terminal is monospace, always dark, phosphor green. It is the only theme that overrides your Light/Dark choice: pick Terminal while your Mac is in Light mode and the preview still comes out dark, because its background is nailed to a fixed value rather than following the light/dark switch.

Minimal takes things away rather than adding them. A 44rem column, no heading rules, smaller headings (H1 drops to 1.85em), and links rendered in the same colour as the body text with a faint underline instead of blue. Look at the Minimal tile above: "open the runbook" is a link, and you can tell only by the underline. That is deliberate. In a document full of references, blue everywhere is noise.

Two of them repaint the app around the text

This is the detail I did not expect to find in the source. Terminal and Essay do not stop at the rendered page. The editor pane, the gutter and the window chrome get repainted to the theme's exact background colour, so in split view the source side and the preview side are the same shade of paper or the same shade of black. The other four leave the editor white in light mode.

You can see it in the two full screenshots below: the status bar area, the document title bar and the bottom toolbar all follow the theme, not the system.

QuickMark on iPhone in the Essay reading theme, where the title bar and bottom toolbar are the same cream colour as the page QuickMark on iPhone in the Terminal reading theme, where the whole app including the title bar is dark with green text, despite the device being in light mode
Essay and Terminal, both on a device in Light mode. The app chrome takes the theme's background, and Terminal stays dark regardless.

Switching is free

Changing reading theme does not re-render your document and does not touch the network. The renderer sets a single attribute on the page and the stylesheet does the rest, which is why the change lands the instant you release the picker, even on a long file.

Code themes work slightly differently: each one is a small stylesheet that ships inside the app, and switching swaps which one is attached. Still local, still no network, just a file swap instead of an attribute flip.

Code themes: 37 in the list, 36 that do something

The code-theme picker has Default (GitHub-like) at the top, then a Recommended group of ten (Dracula, One Dark, Nord, Solarized Dark Atom, Material Oceanic, GitHub Colors, Atom Dark, Gruvbox Dark, Night Owl, One Light) and an All themes group of another twenty-seven, alphabetical. That is 37 named themes.

While checking that number for this post I counted the stylesheets that actually ship in the app bundle and got 36. One entry, Laserwave, has no stylesheet: it is listed in the picker but is not present in the theme package the app is built from. So selecting it leaves your code blocks looking exactly like Default.

I did not want to assert that from reading code, so I tested it. Same document, same simulator, four launches, one screenshot each. The Default and Laserwave screenshots came back with an identical checksum, down to the byte. Dracula and Synthwave '84 did not.

The same Swift code block rendered four times: Default on white, Dracula on dark grey, Synthwave 84 on dark purple, and Laserwave which looks identical to Default
The same fenced block under four code themes. Laserwave is pixel-for-pixel Default, which is the bug.

It is a cosmetic problem with an obvious fix and it will be corrected. Until then, treat the list as 36 working themes, and if you picked Laserwave and wondered why nothing happened, now you know it was not you.

One preference, every document

The reading theme is a single app-wide setting, not a per-file one. There is no way to say "this document is an Essay and that one is a Terminal". If you switch to Essay to read something long, everything you open next is also Essay until you switch back.

Whether that is right depends on how you work. It keeps the setting where you expect it and out of your files, and it means nothing about your Markdown changes when you pick a theme: the file on disk stays exactly the characters you typed. But if you want per-document styling, this is not it.

Where the theme follows your document out of the app

The reading theme is not only a screen preference. It travels into some of what QuickMark produces:

  • Publish to Web. A page you publish starts from your current reading theme, and the reader can change it on their end from the display panel.
  • PNG export. Exporting as an image keeps the reading theme, so a Terminal document exports as a dark image.
  • Printing. Worth knowing before you hit ⌘P: printing inherits the reading theme too, and a dark theme prints badly. Switch to a light theme first.

Which one to pick

If you are reading something long, Essay. If the document is reference material other people will use, Docs. If you write in Notion all day and want the preview to stop feeling foreign, Notion. If your document is mostly code and mostly read at night, Terminal. If headings and blue links feel loud, Minimal. If none of that applies, leave it on Default.

Then set the code theme once and forget it. It has no effect on anything except the colours inside fenced blocks, which you can see for yourself in code blocks with syntax highlighting.

Get rendered Markdown previews everywhere

QuickMark is a free, native Markdown app for Mac, iPhone & iPad, with live preview, export, and publish built in.

Download on the App Store or try the live preview in your browser →