Components

Oxidoc ships a set of built-in components you can use directly in .rdx files. Components use HTML-like syntax and can contain Markdown content.

Callout

Highlighted blocks for notes, warnings, tips, and errors.

PropTypeDefaultDescription
kindString"info"Style: info, warning, error/danger, tip/success
titleStringHeader text
collapsibleboolfalseMake the callout collapsible

Info

This is an informational callout.

Tip

This is a helpful tip.

Warning

Something to be careful about.

Error

This highlights an error or danger.

Tabs

Switchable content panels. Selection persists via localStorage when a group is set.

PropTypeDescription
groupStringlocalStorage key for persisting selection across pages

Each Tab takes a title prop.

npm install my-package

CodeBlock

Syntax-highlighted code with optional header and line highlighting.

PropTypeDefaultDescription
languageStringLanguage for syntax highlighting
filenameStringFilename displayed in the header
highlightStringLine numbers to highlight (e.g., "2", "1,3-5")
line_numbersboolfalseShow line numbers

Includes a copy-to-clipboard button.

main.rsrust
fn main() {    println!("Hello, Oxidoc!");}

Accordion

Collapsible sections.

PropTypeDefaultDescription
titleStringTrigger text
multipleboolfalseAllow multiple items open simultaneously
Click to expand

Hidden content goes here. You can put any content inside an accordion.

Another section

More hidden content.

CardGrid

Responsive grid of cards.

PropTypeDefaultDescription
columnsNumber3Number of columns (1-6)

Each Card supports:

PropTypeDescription
titleStringCard title
iconStringEmoji or icon
hrefStringMakes the card a link

Getting Started

Learn the basics of Oxidoc.

Components

Explore all available components.

Configuration

Customize your documentation site.

Steps

Numbered step-by-step instructions with a connecting line.

Each Step takes a title prop.

1

Install Oxidoc

Run the install script.

2

Initialize a project

Run oxidoc init my-docs.

3

Start writing

Create .rdx files and run oxidoc dev.

Badge

Inline status pill.

PropTypeDefaultDescription
variantString"info"Color: info, tip, warning, danger, new, deprecated
outlineboolfalseOutline style

This feature is New in v0.1.0.

The old API is Deprecated.

Status: Stable Beta Experimental

Tooltip

Hover/focus popup for definitions.

PropTypeDescription
textStringTooltip content

Oxidoc uses WasmWebAssembly — a binary instruction format for stack-based virtual machines for interactive components.

Tag

Uppercase inline label for categorization.

PropTypeDefaultDescription
variantString"info"Color: info, tip, warning, danger, new, experimental, deprecated

new experimental deprecated

ThemedImage

Swaps images based on color scheme.

PropTypeDescription
lightStringImage URL for light theme
darkStringImage URL for dark theme
altStringAlt text
widthStringWidth
heightStringHeight
Logo

Dismissible announcement bar.

PropTypeDefaultDescription
idStringUnique ID for persistence
persistString"none""none", "session", or "forever"
dismissiblebooltrueShow close button

Embed

Embed external content (iframe).

PropTypeDescription
srcStringURL to embed
widthStringWidth
heightStringHeight

Mermaid Diagrams

Use mermaid as the language for fenced code blocks:

graph LR
    A[Write .rdx] --> B[oxidoc build]
    B --> C[Static HTML]
    B --> D[Wasm Islands]
    C --> E[Deploy]
    D --> E

No configuration needed — diagrams render automatically.

Landing Page Components

For Hero, FeatureGrid, Section, CTA, and other landing page components, see Landing Page Components.