Vaulthalla Logo

Layout Directives

Use sections, columns, and cells to structure Markdown without turning content into page-builder data.

Layout Directives

Layout directives are registry-backed Markdown containers for structured content. They preserve Markdown as the source of truth while giving the renderer enough structure to produce sections, columns, and cells.

Section

1:::section{theme="panel"}2 3## Interfaces Without Friction4 5Short intro text here.6 7:::
  • theme

Close a section with ::: or :::endsection.

Columns

1:::2col{2  theme="default"3  cellTheme="panel"4}5 6### First column7 8Content.9 10### Second column11 12Content.13 14:::
1:::3col2 3### First column4 5Content.6 7### Second column8 9Content.10 11### Third column12 13Content.14 15:::

Column directives support:

  • theme
  • cellTheme

Heading-Based Cell Grouping

Grids are heading-aware relative to where they open.

If a grid opens under a heading of depth N, then:

  • headings at depth N + 1 start new cells
  • deeper headings stay nested inside the current cell
  • normal Markdown remains normal Markdown inside each cell

Explicit Cells

1:::2col2 3:::cell{theme="panel"}4First cell content.5:::6 7:::cell8Second cell content.9:::10 11:::
  • theme

Closing Directives

  • ::: closes the current directive scope
  • :::endcol explicitly closes the active grid
  • :::end closes the current section and nested grids
  • :::endsection closes the current section and nested grids

Mixed Layout Example

1:::section{theme="panel"}2 3## Product Documentation4 5:::2col{cellTheme="panel"}6 7### Authoring8 9:::callout[Plain Markdown]{variant="tip"}10Authors keep readable source.11:::12 13### Rendering14 15```tsx16<MarkdownRenderer markdown={content} />17```18 19:::20 21:::

For content components built on the same registry, see: