Markdown and its standards
Markdown is a plain text format for writing structured documents. The design goal of Markdown is readability — the source text should remain easy to read even without rendering.
Markdown is widely used for:
- Blogging
- README files
- Documentation
- Messaging platforms
- Static site generators
I personally use Markdown to write this blog and take notes in Obsidian.
History and Standards
Markdown was created in 2004 by John Gruber in collaboration with Aaron Swartz. The original implementation did not have a strict specification, which led to inconsistencies between platforms.
Over time, formal standards appeared:
- CommonMark
CommonMark is a formal specification that defines how Markdown should behave. It standardizes the core syntax and resolves ambiguities of the original implementation.
- GitHub Flavored Markdown (GFM)
GFM is based on CommonMark and adds extra features such as:
- Task lists
- Tables
- Strikethrough
- Autolinks
- Other Extensions
Some tools extend Markdown further. For example, Obsidian supports wiki links:
[[Note name]]
Wiki links originate from wiki systems and are not part of CommonMark or GFM. They are tool-specific extensions.
CommonMark Features
Headings
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
# Heading 1
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
###### Heading 6
Paragraphs
Paragraphs are separated by a blank line.
Second paragraph.
Paragraphs are separated
by a blank line.
Second paragraph.
Text formatting
italic, bold, inline code.
_italic_, **bold**, `inline code`.
Lists
Unordered list:
- Item
- Item
- Subitem
- Item
Ordered list:
- Item
- Item
- Subitem
- Item
Unordered list:
- Item
- Item
- Subitem
- Item
Ordered list:
1. Item
2. Item
1. Subitem
3. Item
Line dividers
---
Code blocks
// code block
console.log("Hello, world!");
```js
// code block
console.log("Hello, world!");
```
Blockquotes
Quote
Nested quote
> Quote
>
> > Nested quote
Links and Images
![]()
[My website](https://efimish.github.io)

GFM Extensions
Strikethrough
strikethrough
~~strikethrough~~
Task lists
- Task 1
- Task 2
- Subtask 1
- Subtask 2
- Task 4
- [x] Task 1
- [ ] Task 2
- [x] Subtask 1
- [ ] Subtask 2
- [x] Task 4
Tables
Table:
| First Header | Second Header |
|---|---|
| Content Cell | Content Cell |
| Content Cell | Content Cell |
Table with aligned columns:
| Left Aligned | Center Aligned | Right Aligned |
|---|---|---|
| 2025-06-01 | some | $4.99 |
| 2025-06-02 | wordy | $99 |
| 2025-06-03 | text | $799 |
Table:
| First Header | Second Header |
| ------------ | ------------- |
| Content Cell | Content Cell |
| Content Cell | Content Cell |
Table with aligned columns:
| Left Aligned | Center Aligned | Right Aligned |
| :----------- | :------------: | ------------: |
| 2025-06-01 | some | $4.99 |
| 2025-06-02 | wordy | $99 |
| 2025-06-03 | text | $799 |
Footnotes
First footnote1. Second footnote2. Named footnote3.
First footnote[^1].
Second footnote[^2].
Named footnote[^named].
[^1]: This is the first footnote.
[^2]: This is the second footnote.
[^named]: This is the named footnote.
Obsidian / Wiki-style Extensions
Wiki Links and Embeds
![]()
[[Markdown]]
[[#Wiki Links and Embeds]]
![[favicon-192.png]]