5000blogs uses goldmark, a CommonMark-compliant markdown parser. All standard CommonMark syntax is supported. Extensions are toggled via config.
CommonMark basics
Headings
# Heading 1
## Heading 2
### Heading 3
Auto-generated id attributes for anchor linking (e.g. <h2 id="heading-2">).
Emphasis
*italic* or _italic_
**bold** or __bold__
***bold italic***
Links and images
[Link text](https://example.com)

Relative .md links are rewritten to post URLs. Relative non-markdown links become /media/... URLs. See Writing Posts: Media files.
Code
Inline: `code`
Fenced blocks:
```go
fmt.Println("hello")
```
Blockquotes
> This is a blockquote.
> It can span multiple lines.
Lists
- Unordered item
- Another item
1. Ordered item
2. Another item
Horizontal rules
---
(Use blank lines around it to avoid confusion with front matter.)
HTML
Raw HTML in markdown is passed through as-is.
Extensions
Toggled in config under features. See Configuration: Features.
Tables
Config: features.tables: true (default: on)
GFM-style pipe tables:
| Name | Value |
|-------|-------|
| Alpha | 1 |
| Beta | 2 |
Alignment with ::
| Left | Center | Right |
|:-----|:------:|------:|
| a | b | c |
Strikethrough
Config: features.strikethrough: true (default: on)
~~deleted text~~
Wikilinks
Config: features.wiki_links: true (default: on)
Link to posts by title using [[Title]] syntax:
See [[Setup: Docker]] for container instructions.
Resolution: the title is matched against all loaded posts. If found, links to that post's slug. If not found, falls back to a URL-encoded path.
Compatible with Obsidian-style wikilinks.
Autolinks
Config: features.autolinks: false (default: off)
Bare URLs are automatically converted to clickable links:
Visit https://example.com for details.
Task lists
Config: features.task_list: false (default: off)
- [x] Completed task
- [ ] Pending task
Renders as checkboxes.
Footnotes
Config: features.footnotes: false (default: off)
This has a footnote[^1].
[^1]: Footnote content here.
Renders as superscript references with a footnote section at the bottom.
Link rewriting
Relative links in markdown are rewritten automatically:
| Markdown | Rendered href |
|---|---|
[text](other.md) |
/other |
[text](sub/page.md) |
/sub/page |
[text](image.png) |
/media/image.png |
[text](#section) |
#section (unchanged) |
[text](https://...) |
https://... (unchanged) |
For posts in subdirectories, relative paths resolve relative to that subdirectory.