The unambiguous specification. Foundation for all other dialects. No tables, no task lists, no strikethrough.

Markdown Source
# Markdown Variants Demo

This content demonstrates differences between markdown dialects.

## Basic Formatting

This is **bold**, *italic*, and ~~strikethrough~~ text.

## Table

| Feature | CommonMark | GFM | MDX | Obsidian |
|---------|-----------|-----|-----|----------|
| Tables | No | Yes | Yes | Yes |
| Task lists | No | Yes | Yes | Yes |
| Strikethrough | No | Yes | Yes | Yes |
| Components | No | No | Yes | No |
| Wikilinks | No | No | No | Yes |
| Callouts | No | No | No | Yes |

## Task List

- [x] Completed task
- [ ] Pending task
- [ ] Another task

## Autolinks

Visit https://example.com for more info.

## Code

```javascript
const x = 42;
console.log(x);
```

## Extended Syntax

> [!note] This is an Obsidian callout
> Only rendered in Obsidian-flavored markdown.

[[Internal Link]] — Wikilink syntax (Obsidian only)

import { Component } from './Component' — MDX import (MDX only)
Rendered (CommonMark)

Processing...

Key Differences

FeatureCommonMarkGFMMDXObsidian
TablesNoYesYesYes
Task listsNoYesYesYes
StrikethroughNoYesYesYes
AutolinksNoYesYesYes
ComponentsNoNoYes (JSX)No
WikilinksNoNoNoYes
CalloutsNoNoNoYes
EmbedsNoNoYes (imports)Yes (![[file]])
MathNoNoPluginYes (KaTeX)
MermaidNoNoPluginYes
FrontmatterNoNoYesYes

Recommendation

Start with CommonMark + GFM — it covers 90% of use cases and is universally supported. Add Obsidian-style callouts and wikilinks via remark plugins as needed. MDX is powerful but couples you to a framework.