Tables, tasks and code
Writer Computer shows markdown the way it reads: tables as tables, tasks as checkboxes, code highlighted, frontmatter as a form. Move the cursor into any of them and you edit the markdown itself, so the file stays plain text.
Tables
A GitHub-style table renders as a table when the cursor is elsewhere:
| Plan | Price | Notes |
| :---- | ----: | --------------- |
| Free | $0 | **Everything** |
| Later | ? | see [[Roadmap]] |
- Cells show their formatting: bold, italic, strikethrough,
code, links and[[wikilinks]], which you can click. Images in a cell show their alt text. :---,:---:and---:align a column left, center or right.- Columns size to their content, and a long column wraps instead of squeezing the others.
- Click the table, or arrow into it from the line above or below, to edit its markdown, shown in the code font so the columns line up.
- To start one, right-click and choose Insert → Table for a three-column table with the cursor in the first cell.
Task lists
- [ ] and - [x] show as checkboxes. Click one to tick or untick it; the change is saved to the file like any other edit. Press Enter at the end of a task to start a new, unticked one.
⌘⇧Enter turns the current line, or every selected line, into a task, and turns tasks back into plain lines.
Code
Fenced code blocks are highlighted by language: name the language after the opening fence, such as ```python or ```rust. The fences are hidden until the cursor is in the block. Long lines don't wrap: a wide block scrolls sideways on its own, with a thin scrollbar along its bottom, and follows the cursor as you type.
Inline code, written between backticks, is shown in the code font; ⌘E wraps the selection in backticks. Choose the code font in Preferences under Typography → Code font (Customize the look).
A ```mermaid block draws a diagram instead (Mermaid diagrams).
Frontmatter
YAML frontmatter between --- lines at the top of a note shows as a list of properties above the text, one row per key:
- Click a key or value to edit it.
true,false, numbers andnullare saved as those types, and lists or nested values show as YAML. - Add property adds a row, as does Enter in the last value.
- The × on a row, or Backspace in an empty row, removes it. Removing the last row removes the frontmatter.
- Type
---on the first line of a note without frontmatter to start it. - Paste a whole note that has frontmatter into a note without any, and the frontmatter goes into the properties, with the rest as text.
Everything else
- Quotes:
>lines show as a quote, with nesting. Enter on an empty quote line steps out one level. ⌘⇧. makes a quote. - Dividers:
---on its own line shows as a thin rule. Insert → Horizontal rule in the right-click menu adds one. - HTML: blocks such as
<details>and<summary>,<kbd>,<mark>or<sub>render, cleaned of anything unsafe. Scripts and styles stay as source. - Images:
shows the image, relative to the note or from the web. Pasting an image saves it next to the note (how). - Emoji: shortcodes such as
:sparkles:show as the emoji. - Dashes:
--shows as an en dash and---inside a line as an em dash. The file keeps what you typed. - Math:
$...$and$$...$$(Math with LaTeX).
Footnotes aren't supported yet.