Prose
Undocs renders standard Markdown through its own set of Prose components with sensible typography defaults — just write Markdown and it looks great.
#Headings
Use # through ###### for headings. Each renders with consistent spacing and an anchor link on hover.
# Heading 1
## Heading 2
### Heading 3
#### Heading 4#Text
Emphasize inline content with bold, italic, strikethrough, and inline code. Combine them for strong emphasis where needed.
**bold**, _italic_, ~~strikethrough~~, and `inline code`.#Links
Internal and external links are styled consistently. External links open in a new tab automatically.
Internal and external [links](https://unjs.io) are styled consistently.#Blockquotes
A blockquote is rendered with a subtle left border and muted text — handy for callouts and citations.
> A blockquote is rendered with a subtle left border and muted text.#Lists
Unordered, ordered, and task lists all render cleanly:
- First item
- Second item
- Nested item
- Third item
- Write the Markdown
- Review the rendering
- Deploy
- First item
- Second item
- Nested item
1. Install the package
2. Run the dev server
- [x] Write the Markdown
- [ ] Review the rendering#Tables
| Feature | Supported | Notes |
|---|---|---|
| Headings | ✅ | Anchor links on hover |
| Tables | ✅ | Column alignment respected |
| Code blocks | ✅ | Syntax highlighted |
| Task lists | ✅ | Rendered as checkboxes |
| Feature | Supported | Notes |
| ------- | :-------: | --------------------- |
| Tables | ✅ | Column alignment kept |#Code
Inline code and fenced code blocks are highlighted with rangi:
export function greet(name: string): string {
return `Hello, ${name}!`;
}#Images
Images are responsive and constrained to the content width:
#Horizontal Rule
Separate sections with a thematic break:
That's a --- rendered as a horizontal rule.