ContentFigure

Figure

Enhanced image display with caption, sizing, and alignment controls.

With caption attribute

Set the caption directly on the rune.

{% figure caption="A coral reef teeming with life beneath turquoise waters" size="large" align="center" %}
![Coral reef](https://assets.refrakt.md/figure-coral-reef.jpg)
{% /figure %}
<figure data-rune="figure" typeof="ImageObject" data-rune-fields="{&quot;size&quot;:&quot;large&quot;,&quot;align&quot;:&quot;center&quot;}">
  <img src="https://assets.refrakt.md/figure-coral-reef.jpg" alt="Coral reef" property="contentUrl">
  <figcaption data-name="caption" property="caption">A coral reef teeming with life beneath turquoise waters</figcaption>
</figure>
Coral reef
A coral reef teeming with life beneath turquoise waters
<figure typeof="ImageObject" class="rf-figure rf-figure--large rf-figure--center" data-size="large" data-align="center" data-rune="figure" data-density="compact">
  <img src="https://assets.refrakt.md/figure-coral-reef.jpg" alt="Coral reef" property="contentUrl" />
  <figcaption data-name="caption" property="caption" class="rf-figure__caption" data-section="description">A coral reef teeming with life beneath turquoise waters</figcaption>
</figure>

With paragraph caption

If no caption attribute is provided, the first paragraph inside the rune is used as the caption.

{% figure size="medium" %}
![Hot springs](https://assets.refrakt.md/figure-hot-springs.jpg)

Steam rising from volcanic hot springs in the Icelandic highlands.
{% /figure %}
<figure data-rune="figure" typeof="ImageObject" data-rune-fields="{&quot;size&quot;:&quot;medium&quot;}">
  <img src="https://assets.refrakt.md/figure-hot-springs.jpg" alt="Hot springs" property="contentUrl">
  <figcaption data-name="caption" property="caption">
    <p>Steam rising from volcanic hot springs in the Icelandic highlands.</p>
  </figcaption>
</figure>
Hot springs

Steam rising from volcanic hot springs in the Icelandic highlands.

<figure typeof="ImageObject" class="rf-figure rf-figure--medium rf-figure--center" data-size="medium" data-align="center" data-rune="figure" data-density="compact">
  <img src="https://assets.refrakt.md/figure-hot-springs.jpg" alt="Hot springs" property="contentUrl" />
  <figcaption data-name="caption" property="caption" class="rf-figure__caption" data-section="description">
    <p>Steam rising from volcanic hot springs in the Icelandic highlands.</p>
  </figcaption>
</figure>

Elevation & frame

A figure is a frame around its image, so it sets frameTarget: "self" (surface model): frame chrome lands on the figure itself. elevation floats the figure as a box (box-shadow); frame-shadow is the image's silhouette drop-shadow; frame-aspect crops it to a ratio.

{% figure elevation="lg" frame-aspect="4/3" caption="Framed at 4/3 with a lifted figure" %}
![Coral reef](https://assets.refrakt.md/figure-coral-reef.jpg)
{% /figure %}
<figure data-rune="figure" typeof="ImageObject" elevation="lg">
  <img src="https://assets.refrakt.md/figure-coral-reef.jpg" alt="Coral reef" property="contentUrl">
  <figcaption data-name="caption" property="caption">Framed at 4/3 with a lifted figure</figcaption>
  <meta data-field="frame-aspect" content="4/3">
</figure>
Coral reef
Framed at 4/3 with a lifted figure
<figure typeof="ImageObject" class="rf-figure rf-figure--default rf-figure--center" data-size="default" data-align="center" data-elevation="lg" data-rune="figure" data-density="compact" style="--frame-aspect: 4/3">
  <img src="https://assets.refrakt.md/figure-coral-reef.jpg" alt="Coral reef" property="contentUrl" />
  <figcaption data-name="caption" property="caption" class="rf-figure__caption" data-section="description">Framed at 4/3 with a lifted figure</figcaption>
</figure>

Attributes

AttributeTypeDefaultDescription
captionstringCaption text (falls back to first paragraph)
sizestringOne of small, medium, large, full
alignstringOne of left, center, right
elevationstringSelf-surface box-shadow: none, sm, md, lg
frame-*stringMedia-surface chrome (aspect, shadow, …) — see surfaces

Common attributes

All block runes share these attributes for layout and theming.

AttributeTypeDefaultDescription
widthstringcontentPage grid width: content, wide, or full
spacingstringVertical spacing: flush, tight, default, loose, or breathe
insetstringHorizontal padding: flush, tight, default, loose, or breathe
tintstringNamed colour tint from theme configuration
tint-modestringautoColour scheme override: auto, dark, or light
bgstringNamed background preset from theme configuration