Markdown
Every Markdown and GFM construct Blasdoc renders.
Blasdoc parses with unified and remark-parse, with
GitHub Flavored Markdown enabled. Everything CommonMark and GFM describe is
rendered as ordinary, semantic HTML elements — no wrapper divs, no classes you
did not ask for.
Text
**bold**, *emphasis*, ~~struck through~~, `inline code`, and a
[link](https://angular.dev).bold, emphasis, struck through, inline code, and a
link.
Headings
Every heading gets an anchor derived from its text, so a link can reach it and a table of contents can be built from the same rule. The outline on the right of this page comes from exactly that.
## Usage
### DetailLists
- unordered
- items
1. ordered
2. items
- [x] a task
- [ ] another taskunordered
items
ordered
items
Blockquotes
> Content arrives as a string.Content arrives as a string.
Tables
GFM tables, with per-column alignment:
| Syntax | Channel | Applied as |
| --- | :---: | ---: |
| `variant="primary"` | attribute | input |
| `[variant]="tone"` | binding | input || Syntax | Channel | Applied as |
|---|---|---|
variant="primary" | attribute | input |
[variant]="tone" | binding | input |
Code
Fenced code is highlighted by Shiki and turned into IR nodes — never an HTML string. See Code blocks for the fence options.
```ts
const parser = createBlasdocParser();
```Thematic breaks and images
---
Front matter
YAML front matter is parsed and exposed on the parse result rather than
rendered. Blasdoc reads blasdoc.theme from it; everything else is yours.
---
title: Bindings
blasdoc:
theme: github
---What is not rendered
Footnotes and link definitions are parsed away rather than rendered. Raw HTML is kept, but filtered through an allow-list — see Safety.