GitHub Flavored Markdown on Mac: Tables, Task Lists and Code Blocks
You open a README locally and the table is a mess of pipe characters. The checkboxes are literal - [ ] text. On GitHub the same file looks perfect.
That is the gap between standard Markdown and GitHub Flavored Markdown, and it is the most common reason a Markdown app disappoints.
What GFM adds
The original Markdown spec from 2004 covers headings, emphasis, lists, links, images, quotes and code. GitHub Flavored Markdown extends it with four things you now see everywhere:
Tables
| Feature | Supported |
|---------|-----------|
| Tables | Yes |
Task lists
- [x] Done
- [ ] Not done
Strikethrough, with ~~text~~, and autolinks, where a bare URL becomes clickable without angle brackets.
Fenced code blocks with a language tag for syntax highlighting are also part of the modern expectation.
Why some apps get it wrong
A renderer that implements CommonMark but not the GFM extensions will show your table as raw pipes and your checkboxes as literal brackets. The file is not broken; the renderer is incomplete.
This bites hardest with:
- README files, which are almost all tables and task lists
- Documentation copied out of a repo
- Quick Look extensions, where implementations vary a lot
When you are evaluating a Markdown app, open a README with a table in it. That single test tells you more than any feature list.
Checking on a Mac
Make a scratch file with all four features and open it in whatever you are testing:
# Test
| A | B |
|---|---|
| 1 | 2 |
- [x] Task list
- [ ] Second item
~~Strikethrough~~ and https://example.com
` ``js
const x = 1;
` ``
If the table renders, the checkboxes appear as checkboxes, the strikethrough strikes through, the bare URL is a link, and the code block is coloured, the renderer supports GFM properly.
What TypeFire renders
TypeFire's Markdown rendering is GitHub Flavored, so tables, task lists, strikethrough and autolinks all display correctly, in the editor and in the Quick Look preview. Code fences are syntax highlighted with a copy button on every block.
That applies in Finder too: press space on any .md file and a README renders as it should, rather than as raw pipes.
Writing GFM faster
The repetitive part of GFM is the boilerplate: table skeletons, front matter blocks, code fences with the right language tag, callout patterns.
Those are exactly what a text expander is for. Give a table skeleton an abbreviation, type four characters, get the structure with your cursor already in the first cell. TypeFire's expander is free and works inside any editor, including VS Code, Typora and Obsidian.
Try it
Markdown editing, GFM rendering, Quick Look preview in Finder and the text expander are all free.
Download for Mac or read the Markdown tour.
Store and manage your snippets with TypeFire
Free text expander for Mac. Type abbreviations, they expand instantly in any app.
Download Free for macOS