Prose
Typography components for markdown content rendering
Prose Components
Prose components automatically style standard markdown elements. They are applied by Nuxt Content during rendering and don't require any special MDC syntax.
Headings
ProseH1
Applied to # headings.
Heading 1
# Heading 1
Styling: text-3xl font-bold tracking-tight
ProseH2
Applied to ## headings.
Heading 2
## Heading 2
Styling: text-2xl font-semibold tracking-tight with bottom border
ProseH3
Applied to ### headings.
Heading 3
### Heading 3
Styling: text-xl font-semibold tracking-tight
ProseH4 - H6
Applied to ####, #####, and ###### headings with decreasing emphasis.
Text Elements
ProseP
Applied to paragraphs.
This is a paragraph of text with proper line height and spacing.
Styling: leading-7 with top margin on non-first paragraphs
ProseA
Applied to links.
[This is a link](/docs/components)
Styling: font-medium underline underline-offset-4
ProseCode
Applied to inline code.
Use the useState hook for state management.
Use the `useState` hook for state management.
Styling: bg-muted rounded font-mono text-sm with padding
ProseStrong
Applied to bold text.
This is bold text in a sentence.
This is **bold text** in a sentence.
Styling: font-medium
Block Elements
ProseBlockQuote
Applied to blockquotes.
This is a blockquote with important information.
> This is a blockquote with important information.
Styling: border-l-2 pl-6 italic with top margin
ProseHr
Applied to horizontal rules.
---
Styling: my-4 md:my-8
ProseImg
Applied to images.

Styling: rounded-md
Lists
ProseUl
Applied to unordered lists.
- First item
- Second item
- Third item
- First item
- Second item
- Third item
Styling: my-6 ml-6 list-disc
ProseOl
Applied to ordered lists.
- First step
- Second step
- Third step
1. First step
2. Second step
3. Third step
Styling: my-6 ml-6 list-decimal
ProseLi
Applied to list items.
Styling: mt-2
Tables
ProseTable, ProseTr, ProseTh, ProseTd
Applied to markdown tables.
| Header 1 | Header 2 | Header 3 |
| -------- | -------- | -------- |
| Cell 1 | Cell 2 | Cell 3 |
| Cell 4 | Cell 5 | Cell 6 |
Styling:
- Table wrapper with overflow scroll and rounded border
- Header cells (
th) with bold text and padding - Data cells (
td) with padding - Row borders between items
Table Alignment
Use colons in the separator row:
| Left | Center | Right |
| :--- | :----: | ----: |
| L | C | R |
Code Blocks
ProsePre
Applied to fenced code blocks with syntax highlighting.
function greet(name: string): string {
return `Hello, ${name}!`
}
Features:
- Shiki syntax highlighting
- Language icon and label
- Copy button
- Optional line numbers
- Line highlighting
Code Block Options
With Filename
export function helper() {}
```ts [utils.ts]
export const helper = () => {}
```
With Line Numbers
Add showLineNumbers to the code fence:
```ts showLineNumbers
const a = 1
const b = 2
```
With Line Highlighting
Highlight specific lines using curly braces:
```ts {2,4}
const a = 1
const b = 2 // highlighted
const c = 3
const d = 4 // highlighted
```
Supported Languages
Code blocks support syntax highlighting for:
- TypeScript (
ts,tsx) - JavaScript (
js,jsx) - Vue (
vue,vue-html) - HTML, CSS, JSON
- Bash/Shell (
bash,shell) - YAML, Markdown, MDC
Customization
All Prose components can be overridden by creating a component with the same name in your project's components/content/ directory.