On this page
Markdown support
Wymark opens and saves ordinary markdown files, the kind GitHub shows.
The format
| Markdown | GitHub Flavored Markdown, with what GitHub draws on top of it: footnotes, alerts, $ math, mermaid diagrams and the same HTML tags |
| Files | .md, .markdown. .qmd and .rmd open as plain markdown. |
| Encoding | UTF-8 only. A file in another encoding is not opened; Wymark names it and asks for it as UTF-8. Nothing is converted. |
| Syntax of its own | None. Comments are HTML comments and a drawing is a PNG, so a file written here needs no conversion before it goes to GitHub, or to any other tool that reads GitHub’s markdown. |
| Wymark comments in other apps | Hidden on GitHub and in any other viewer that follows the markdown specification. Shown wherever the file is read as raw text: a plain text editor, a git diff, and a few editors whose preview shows HTML comments. |
| Differences from GitHub | Three things GitHub reads and Wymark does not, listed below. |
Constructs
Each construct has its own section on the pages below, with the syntax, what Wymark writes, and how it behaves while you edit.
| Construct | Toolbar | Shortcut | Page |
|---|---|---|---|
| Heading | Paragraph style | ⌘1 to ⌘6, or ⌥⌘1 to ⌥⌘6 |
Text |
| Bold, italic, strikethrough, code | Text styles | ⌘B, ⌘I, ⇧⌘X, ⌘E |
Text |
| Line break | none (typed) | ⇧↩ |
Text |
| Math | Insert > Math block | ⌥⌘B |
Text |
| Emoji | none (type :) |
none | Text |
| List | Bulleted, Numbered, Task | ⇧⌘8, ⇧⌘7, ⇧⌘9 |
Lists, tables and blocks |
| Table | Insert > Table | ⌥⌘T |
Lists, tables and blocks |
| Quote, alert | Block quote; Insert > Alert | ⇧⌘B |
Lists, tables and blocks |
| Code block | Insert > Code block | ⌥⌘C |
Lists, tables and blocks |
| Divider | Insert > Divider | none | Lists, tables and blocks |
| Link | Insert > Link | ⌘K |
Links, footnotes and pictures |
| Footnote | none (typed) | none | Links, footnotes and pictures |
| Picture | Insert > Image | ⌃⌘I |
Links, footnotes and pictures |
| Diagram | none (a mermaid fence) |
none | Diagrams |
| Drawing | Insert > Excalidraw drawing | none | Drawings |
| HTML | none (typed in the Source view) | none | HTML |
All shortcuts: keyboard shortcuts. The views, the toolbar and undo: The editor.
Not supported
Wymark follows GitHub, so syntax GitHub does not read is shown as plain text.
| Use | |
|---|---|
==highlight== |
<mark>: see HTML. |
Wiki links [[page]] |
[notes](./notes.md) to link a file. |
\( ... \) and \[ ... \] math |
$ ... $ and $$ ... $$: see Math. |
Where Wymark differs from GitHub
GitHub reads these and Wymark does not. The file is not changed.
| In Wymark | Use | |
|---|---|---|
A math code fence, and inline $`x`$ |
A code block; inline code between two $ |
$$ ... $$ and $ ... $, which GitHub also reads. |
Emoji shortcodes such as :rocket: |
Text. | The emoji itself. Type : and pick one: see Emoji. |
<a name="..."></a> anchors |
Raw HTML. Not in the outline, and links to it do not jump. | A heading. Every heading is a link target: see heading links. |
Front matter
YAML between --- lines at the top |
Shown apart from the body: a collapsible card in the Formatted view, a strip above the text in the Source view. Edited as raw text. |
TOML between +++ lines |
Read and edited the same way. Never written by Wymark, never converted. |
| Versions | Do not include front matter. A restore keeps the front matter you have now. |
| Search and replace | Search finds text in it. Replace does not touch it. |
Type a complete block at the top of the Source view and it becomes the card; break a delimiter and it drops back into the body.
Full syntax: front matter on markdownlang.com.
What Wymark adds to your file
In the Formatted view, an edit changes only the paragraph, list item or cell you edited; the rest of the file is left exactly as it was. In the Source view the file gets exactly what you type. This matters when the file is in git or shared with someone else.
In the part you edit, the Formatted view writes these for you:
| When you | The file gets | Example |
|---|---|---|
Press ⇧↩ in a paragraph |
A backslash at the end of the line | first line\ |
Press ⇧↩ in a table cell |
<br> |
one<br>two |
Press ↩ twice, leaving an empty paragraph |
<br> on a line of its own |
<br> |
| Start a list from the toolbar | - or 1. as the marker |
- item |
| Resize a picture | An <img> tag, because markdown has no size syntax |
<img src="cat.png" width="320"> |
| Edit a paragraph so that a line would read as a list, heading or fence | A backslash in front of it | \* not a list |
| Edit a paragraph where a line starts with spaces |   for the first of those spaces |
  indented two spaces |
| Edit a paragraph that ended a line with two spaces | A backslash in their place | first line\ |
Everything else stays as you wrote it, including line breaks inside a paragraph, the list marker you typed, and the spelling of <br>, links and URLs.
# Markdown support
Wymark opens and saves ordinary markdown files, the kind GitHub shows.
## The format
| | |
| --- | --- |
| **Markdown** | [GitHub Flavored Markdown](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax), with what GitHub draws on top of it: footnotes, alerts, `$` math, `mermaid` diagrams and the same [HTML tags](/docs/reference/html) |
| **Files** | `.md`, `.markdown`. `.qmd` and `.rmd` open as plain markdown. |
| **Encoding** | UTF-8 only. A file in another encoding is not opened; Wymark names it and asks for it as UTF-8. Nothing is converted. |
| **Syntax of its own** | None. Comments are HTML comments and a drawing is a PNG, so a file written here needs no conversion before it goes to GitHub, or to any other tool that reads GitHub's markdown. |
| **[Wymark comments](/docs/concepts/comments) in other apps** | Hidden on GitHub and in any other viewer that follows the markdown specification. Shown wherever the file is read as raw text: a plain text editor, a `git diff`, and a few editors whose preview shows HTML comments. |
| **Differences from GitHub** | Three things GitHub reads and Wymark does not, [listed below](#where-wymark-differs-from-github). |
## Constructs
Each construct has its own section on the pages below, with the syntax, what Wymark writes, and how it behaves while you edit.
| Construct | Toolbar | Shortcut | Page |
| --- | --- | --- | --- |
| Heading | Paragraph style | `⌘1` to `⌘6`, or `⌥⌘1` to `⌥⌘6` | [Text](/docs/reference/text#headings) |
| Bold, italic, strikethrough, code | Text styles | `⌘B`, `⌘I`, `⇧⌘X`, `⌘E` | [Text](/docs/reference/text#emphasis) |
| Line break | none (typed) | `⇧↩` | [Text](/docs/reference/text#line-breaks) |
| Math | Insert > Math block | `⌥⌘B` | [Text](/docs/reference/text#math) |
| Emoji | none (type `:`) | none | [Text](/docs/reference/text#emoji) |
| List | Bulleted, Numbered, Task | `⇧⌘8`, `⇧⌘7`, `⇧⌘9` | [Lists, tables and blocks](/docs/reference/lists-tables-blocks#lists) |
| Table | Insert > Table | `⌥⌘T` | [Lists, tables and blocks](/docs/reference/lists-tables-blocks#tables) |
| Quote, alert | Block quote; Insert > Alert | `⇧⌘B` | [Lists, tables and blocks](/docs/reference/lists-tables-blocks#quotes-and-alerts) |
| Code block | Insert > Code block | `⌥⌘C` | [Lists, tables and blocks](/docs/reference/lists-tables-blocks#code-blocks) |
| Divider | Insert > Divider | none | [Lists, tables and blocks](/docs/reference/lists-tables-blocks#dividers) |
| Link | Insert > Link | `⌘K` | [Links, footnotes and pictures](/docs/reference/links-footnotes-pictures#links) |
| Footnote | none (typed) | none | [Links, footnotes and pictures](/docs/reference/links-footnotes-pictures#footnotes) |
| Picture | Insert > Image | `⌃⌘I` | [Links, footnotes and pictures](/docs/reference/links-footnotes-pictures#pictures) |
| Diagram | none (a `mermaid` fence) | none | [Diagrams](/docs/reference/diagrams) |
| Drawing | Insert > Excalidraw drawing | none | [Drawings](/docs/reference/drawings) |
| HTML | none (typed in the Source view) | none | [HTML](/docs/reference/html) |
All shortcuts: [keyboard shortcuts](/docs/reference/keyboard-shortcuts). The views, the toolbar and undo: [The editor](/docs/reference/editor).
## Not supported
Wymark follows GitHub, so syntax GitHub does not read is shown as plain text.
| | Use |
| --- | --- |
| `==highlight==` | `<mark>`: see [HTML](/docs/reference/html). |
| Wiki links `[[page]]` | `[notes](./notes.md)` to link a file. |
| `\( ... \)` and `\[ ... \]` math | `$ ... $` and `$$ ... $$`: see [Math](/docs/reference/text#math). |
## Where Wymark differs from GitHub
GitHub reads these and Wymark does not. The file is not changed.
| | In Wymark | Use |
| --- | --- | --- |
| A `math` code fence, and inline `` $`x`$ `` | A code block; inline code between two `$` | `$$ ... $$` and `$ ... $`, which GitHub also reads. |
| Emoji shortcodes such as `:rocket:` | Text. | The emoji itself. Type `:` and pick one: see [Emoji](/docs/reference/text#emoji). |
| `<a name="..."></a>` anchors | Raw HTML. Not in the outline, and links to it do not jump. | A heading. Every heading is a link target: see [heading links](/docs/reference/links-footnotes-pictures#heading-links). |
## Front matter
| | |
| --- | --- |
| **YAML** between `---` lines at the top | Shown apart from the body: a collapsible card in the Formatted view, a strip above the text in the Source view. Edited as raw text. |
| **TOML** between `+++` lines | Read and edited the same way. Never written by Wymark, never converted. |
| **Versions** | Do not include front matter. A restore keeps the front matter you have now. |
| **Search and replace** | Search finds text in it. Replace does not touch it. |
Type a complete block at the top of the Source view and it becomes the card; break a delimiter and it drops back into the body.
Full syntax: [front matter on markdownlang.com](https://www.markdownlang.com/advanced/frontmatter.html).
## What Wymark adds to your file
In the Formatted view, an edit changes only the paragraph, list item or cell you edited; the rest of the file is left exactly as it was. In the Source view the file gets exactly what you type. This matters when the file is in `git` or shared with someone else.
In the part you edit, the Formatted view writes these for you:
| When you | The file gets | Example |
| --- | --- | --- |
| Press `⇧↩` in a paragraph | A backslash at the end of the line | `first line\` |
| Press `⇧↩` in a table cell | `<br>` | `one<br>two` |
| Press `↩` twice, leaving an empty paragraph | `<br>` on a line of its own | `<br>` |
| Start a list from the toolbar | `-` or `1.` as the marker | `- item` |
| Resize a picture | An `<img>` tag, because markdown has no size syntax | `<img src="cat.png" width="320">` |
| Edit a paragraph so that a line would read as a list, heading or fence | A backslash in front of it | `\* not a list` |
| Edit a paragraph where a line starts with spaces | ` ` for the first of those spaces | `  indented two spaces` |
| Edit a paragraph that ended a line with two spaces | A backslash in their place | `first line\` |
Everything else stays as you wrote it, including line breaks inside a paragraph, the list marker you typed, and the spelling of `<br>`, links and URLs.