Macana

GitHub Flavored Markdown

Obsidian's Markdown dialect, called Obsidian Flavored Markdown (OFM), is based on another dialect called GitHub Flavored Markdown (GFM). GFM is based on CommonMark, and has additional syntax extension and undocumented widgets that abuses existing Markdown syntax.

Supported features

Strikethrough

Surround text with a pair of one or two tildes (~) to make the part strikethrough.

~~This text is rendered with strikethrough~~.

This text is rendered with strikethrough.

Task list items

Add [ ] (unchecked) or [x] (checked) before a list item to make it task list item.

- [x] Checked
- [ ] Unchecked
- Normal item
	- Normal item
	- [x] Nested task item
  • Checked
  • Unchecked
  • Normal item
    • Normal item
    • Nested task item

Footnotes

This feature is not officially documented at the specification.

This is a normal paragraph[^1].

[^1]: I'm not.

This is a normal paragraph1.

Parser treats URL-ish text as a link.

https://github.github.com/gfm/

https://github.github.com/gfm/

Tables

|  Language  | Execution         |
| :--------: | ----------------- |
| JavaScript | Interpreter & JIT |
LanguageExecution
JavaScriptInterpreter & JIT
DartAOT or JIT

Unsupported features

Alerts

This feature is not officially documented at the specification.

Syntax-wise, a valid GFM Alert is a valid OFM Callout: AlertCallout. However, the CAUTION type will be rendered as same variant as WARNING type, as shown below.

> [!WARNING]
> Urgent info that needs immediate user attention to avoid problems.

> [!CAUTION]
> Advises about risks or negative outcomes of certain actions.

MermaidJS diagrams

This feature is not officially documented at the specification.

Due to the library neither be able to output without headless Chrome/Chromium nor exposes syntax parser, Macana does not support for this feature currently.

Mathematical expressions

This feature is not officially documented at the specification.

OFM defines its own syntax for mathematical expressions. While both OFM and GFM use dollar sign as a marker, GFM also supports an alternative syntax for inline mathematical expression:

Answer is $`x = 5`$.

Macana does not support this alternative syntax.

Footnotes

  1. I'm not.