Markdown Syntax
Ferromark supports CommonMark, GFM extensions, and opt-in publishing syntax. Enable features in Rust or Node.js. The feature comparison records the reviewed capability inventory; correctness checks describe tested conformance.
Everyday Markdown and GFM
Headings, paragraphs, lists, links, emphasis, images, and fenced code form the CommonMark core. GFM adds pipe tables, checklists, strikethrough, and autolinks.
# Release notes
- [x] Publish the docs
- [ ] Check the examples
Read the [guide](/guide). ~~Outdated advice~~Front matter and heading IDs
---
title: Release notes
draft: true
---
# InstallationEnable front-matter extraction to receive the exact text between leading ---
or +++ delimiters. The engine does not parse YAML/TOML values. Headings can
receive automatic IDs; optional heading attributes support explicit IDs/classes.
See front-matter boundaries.
Tables you can style
| Item | Net | Tax |
| :--- | ---: | ---: |
| Book | 20.00 | 1.40 |
| Gift | Included ||
: Prices *today* {#prices .price-list}With table spans enabled, adjacent closing pipes merge horizontal cells. Table
attributes attach the ID and classes to the table; captions require an ID or
class. Generated colgroups expose positional classes such as col-1 and optional
header-derived classes such as col-name-net. Set widths in CSS. Delimiter dash
counts do not produce numeric width hints in v2.
See table syntax, options, and CSS.
Notes, marks, and callouts
This is ==important==. A reference note.[^detail]
An inline explanation.^[More context here.]
[^detail]: The longer explanation.
> [!NOTE]
> A detail worth remembering.Marked text and inline notes are independent options; inline notes do not require reference footnotes. Callouts format labeled block quotes. The application owns their styling. Optional writing syntax explains defaults and edge cases.
Other extensions
Definition lists, math notation, wiki links, superscript, subscript, line comments, and MDX syntax are configurable. Math notation needs downstream typesetting; wiki links need application routing. When subscript is enabled it takes priority over single-tilde strikethrough. Smart punctuation is outside the core.
Line comments omit physical source lines beginning with // after at most three
spaces; code and HTML blocks stay literal. Line-comment rules
describe source-position behavior. MDX boundaries distinguish syntax
capture from compilation.