Canonical Technical Definition

A formal extension of the CommonMark specification created by GitHub, standardizing tables, task checkboxes, strikethrough, and autolinks.

GitHub Flavored Markdown (GFM) is GitHub’s formal extension to the CommonMark specification. Since its introduction, GFM has become the de facto standard dialect for developers, technical writers, and open-source project documentation worldwide.

While CommonMark standardized core typographic elements (headings, blockquotes, code blocks, lists, and links), it intentionally omitted more complex tabular data and workflow features. In 2017, GitHub formalized GFM as an explicit specification layered atop CommonMark 0.28, documenting precise parsing rules for tables, task lists, strikethrough, and autolinks.

The core GFM extensions

GFM introduces four essential extensions that transformed Markdown into a full-featured writing environment:

1. Pipe tables

GFM standardizes tabular layout using pipes (|) and hyphens (-), with colon indicators (:) defining column alignment:

| Feature | Local Engine | Network Status |
| :--- | :---: | ---: |
| Whisper ASR | Active | Offline |
| SQLite FTS5 | Active | Offline |
| ScreenCaptureKit | System | Offline |

2. Task list checkboxes

GFM provides interactive task lists using bracket syntax inside list items:

  • - [ ] Unchecked item
  • - [x] Checked item

In Oyma, clicking a task checkbox in live preview toggles the raw bracket character on disk instantly without moving your cursor.

3. Typographic strikethrough

GFM wraps text in double tildes (~~strikethrough~~) to denote deprecated requirements or closed tasks, compiling directly to semantic HTML <del> tags.

4. Extended autolinking

GFM automatically converts bare URLs (e.g., https://example.com) and email addresses into clickable hyperlinks without requiring surrounding angle brackets.

GFM in Oyma on macOS

Oyma renders GFM natively. In Oyma‘s live-preview interface, GFM tables render as fluid, spreadsheet-like interactive grids where you can navigate cells with Tab, sort columns, and paste directly from Numbers or Excel—all while preserving raw GFM pipes on your Mac’s disk.

Abstract syntax tree (AST) compilation

In the modern web and compiler pipeline (such as unified, remark-gfm, or cmark-gfm), GFM syntax maps into distinct abstract syntax tree node types:

  • Tables compile into `table`, `tableRow`, and `tableCell` nodes with explicit column alignment properties (`left`, `right`, `center`).
  • Task list items compile into `listItem` nodes with a boolean `checked: true | false` property.
  • Strikethrough compiles into a `delete` node.

This structured AST representation allows static site generators, export tools, and documentation indexers to transform documents cleanly into HTML, PDF, or DOCX formats without losing semantic intent.

Interoperability across modern development tools

Because GFM is the native dialect of GitHub, GitLab, and developer tools:

  • Notes authored in Oyma can be committed directly to Git repositories.
  • Code review pull requests render Markdown documentation with full fidelity.
  • Technical specifications shared with team members render identically whether opened in Oyma, VS Code, Obsidian, or a GitHub pull request in Safari.

Frequently asked questions about GitHub Flavored Markdown (GFM)

What extensions does GFM add on top of CommonMark?

GFM adds four formal syntactic extensions: tables (pipe syntax), task list items (interactive checkboxes), strikethrough (~~delimiters~~), and literal autolinks.

Is GFM fully backwards compatible with CommonMark?

Yes. GFM is a strict superset of CommonMark. Any document that parses cleanly under CommonMark will parse identically under GFM.

Does Oyma support GitHub Flavored Markdown?

Yes. Oyma provides full native support for GFM tables, task list toggles, autolinks, and strikethrough typography in its live-preview macOS editor.