This rune is part of @refrakt-md/docs. Install with npm install @refrakt-md/docs and add "@refrakt-md/docs" to the packages array in your refrakt.config.json.
Symbol
Code construct documentation. Headings become the construct name, code fences become type signatures, lists become parameter definitions, and blockquotes become typed annotations (returns, throws, deprecation).
The kind attribute controls how Markdown primitives are reinterpreted -- functions get parameter lists, classes get member groups, enums get member definitions.
Function documentation
A function with signature, parameters, return value, and exception documentation.
{% symbol kind="function" lang="typescript" since="1.0.0" %}
## renderContent
Transforms a Markdoc document into a renderable tree using the specified rune definitions.
```typescript
renderContent(source: string, options?: RenderOptions): RenderTree
```
- **source** `string` -- Raw Markdoc content to parse and transform
- **options** `RenderOptions` *(optional)* -- Configuration for the render pass
- **runes** `RuneMap` -- Custom rune definitions to merge with defaults
- **variables** `Record<string, any>` -- Template variables available in content
> Returns `RenderTree` -- A framework-agnostic tree for rendering.
> Throws `ParseError` if the source contains invalid Markdoc syntax.
{% /symbol %}<article data-field="content-section" data-rune="symbol" typeof="TechArticle">
<meta content="function" data-field="kind">
<meta content="typescript" data-field="lang">
<meta content="1.0.0" data-field="since">
<meta content="" data-field="deprecated">
<meta content="" data-field="source">
<header>
<h2 id="rendercontent" data-name="headline">renderContent</h2>
<p data-name="blurb">Transforms a Markdoc document into a renderable tree using the specified rune definitions.</p>
</header>
<div data-name="body">
<div class="rf-codeblock">
<pre data-language="typescript">
<code data-language="typescript">renderContent(source: string, options?: RenderOptions): RenderTree
</code>
</pre>
</div>
<ul>
<li>
<strong marker="**">source</strong>
<code>string</code>
-- Raw Markdoc content to parse and transform
</li>
<li>
<strong marker="**">options</strong>
<code>RenderOptions</code>
<em marker="*">(optional)</em>
-- Configuration for the render pass
<ul>
<li>
<strong marker="**">runes</strong>
<code>RuneMap</code>
-- Custom rune definitions to merge with defaults
</li>
<li>
<strong marker="**">variables</strong>
<code>Record<string, any></code>
-- Template variables available in content
</li>
</ul>
</li>
</ul>
<blockquote>
<p>
Returns
<code>RenderTree</code>
-- A framework-agnostic tree for rendering.
</p>
</blockquote>
<blockquote>
<p>
Throws
<code>ParseError</code>
if the source contains invalid Markdoc syntax.
</p>
</blockquote>
</div>
</article>renderContent
Transforms a Markdoc document into a renderable tree using the specified rune definitions.
renderContent(source: string, options?: RenderOptions): RenderTree
- source
string-- Raw Markdoc content to parse and transform - options
RenderOptions(optional) -- Configuration for the render pass- runes
RuneMap-- Custom rune definitions to merge with defaults - variables
Record<string, any>-- Template variables available in content
- runes
Returns
RenderTree-- A framework-agnostic tree for rendering.
Throws
ParseErrorif the source contains invalid Markdoc syntax.
<article data-field="content-section" typeof="TechArticle" class="rf-symbol rf-symbol--function rf-symbol--typescript rf-symbol--1.0.0" data-kind="function" data-lang="typescript" data-since="1.0.0" data-rune="symbol" data-density="full">
<div data-name="header" class="rf-symbol__header" data-section="header">
<span data-name="kind-badge" data-meta-type="category" data-meta-rank="primary" class="rf-symbol__kind-badge">function</span>
<span data-name="lang-badge" data-meta-type="category" data-meta-rank="secondary" class="rf-symbol__lang-badge">typescript</span>
<span data-name="since-badge" data-meta-type="temporal" data-meta-rank="secondary" class="rf-symbol__since-badge">
<span data-meta-label="">Since:</span>
<span data-meta-value="">1.0.0</span>
</span>
</div>
<div data-name="body" class="rf-symbol__body" data-section="body">
<meta content="function" data-field="kind" />
<meta content="typescript" data-field="lang" />
<meta content="1.0.0" data-field="since" />
<meta content="" data-field="deprecated" />
<meta content="" data-field="source" />
<header data-name="preamble" class="rf-symbol__preamble" data-section="preamble">
<h2 id="rendercontent" data-name="headline" class="rf-symbol__headline" data-section="title">renderContent</h2>
<p data-name="blurb" class="rf-symbol__blurb">Transforms a Markdoc document into a renderable tree using the specified rune definitions.</p>
</header>
<div data-name="body" class="rf-symbol__body" data-section="body">
<div class="rf-codeblock">
<pre data-language="typescript"><code data-language="typescript">renderContent(source: string, options?: RenderOptions): RenderTree
</code></pre>
</div>
<ul>
<li>
<strong marker="**">source</strong>
<code>string</code>
-- Raw Markdoc content to parse and transform
</li>
<li>
<strong marker="**">options</strong>
<code>RenderOptions</code>
<em marker="*">(optional)</em>
-- Configuration for the render pass
<ul>
<li>
<strong marker="**">runes</strong>
<code>RuneMap</code>
-- Custom rune definitions to merge with defaults
</li>
<li>
<strong marker="**">variables</strong>
<code>Record<string, any></code>
-- Template variables available in content
</li>
</ul>
</li>
</ul>
<blockquote>
<p>
Returns
<code>RenderTree</code>
-- A framework-agnostic tree for rendering.
</p>
</blockquote>
<blockquote>
<p>
Throws
<code>ParseError</code>
if the source contains invalid Markdoc syntax.
</p>
</blockquote>
</div>
</div>
</article>Class documentation
Classes, interfaces, and modules use ### headings for member groups (Constructor, Properties, Methods) and #### headings for individual members.
{% symbol kind="class" lang="typescript" since="1.0.0" %}
## ContentParser
The core parsing engine that transforms raw Markdoc source into an abstract syntax tree.
```typescript
class ContentParser extends EventEmitter
```
### Constructor
```typescript
new ContentParser(config: ParserConfig)
```
- **config** `ParserConfig` -- Parser configuration
- **strictMode** `boolean` -- Reject unknown runes. *Default: `false`*
- **maxDepth** `number` -- Maximum nesting depth. *Default: `10`*
### Methods
#### parse
Parse a Markdoc source string into a raw AST.
```typescript
parse(source: string): ASTNode
```
- **source** `string` -- Raw Markdoc content
> Returns `ASTNode` -- The root node of the parsed abstract syntax tree.
#### transform
Transform a parsed AST into a renderable tree.
```typescript
transform(ast: ASTNode, variables?: Record<string, any>): RenderTree
```
- **ast** `ASTNode` -- A parsed AST from the `parse` method
- **variables** `Record<string, any>` *(optional)* -- Template variables
> Returns `RenderTree` -- A framework-agnostic renderable tree.
> Throws `TransformError` if a rune's reinterpretation rules fail.
{% /symbol %}<article data-field="content-section" data-rune="symbol" typeof="TechArticle">
<meta content="class" data-field="kind">
<meta content="typescript" data-field="lang">
<meta content="1.0.0" data-field="since">
<meta content="" data-field="deprecated">
<meta content="" data-field="source">
<header>
<h2 id="contentparser" data-name="headline">ContentParser</h2>
<p data-name="blurb">The core parsing engine that transforms raw Markdoc source into an abstract syntax tree.</p>
</header>
<div data-name="body">
<div class="rf-codeblock">
<pre data-language="typescript">
<code data-language="typescript">class ContentParser extends EventEmitter
</code>
</pre>
</div>
<section data-rune="symbol-group">
<h3 data-name="label">Constructor</h3>
<div data-name="body">
<div class="rf-codeblock">
<pre data-language="typescript">
<code data-language="typescript">new ContentParser(config: ParserConfig)
</code>
</pre>
</div>
<section data-rune="symbol-member">
<h4 data-name="name"></h4>
<div data-name="body">
<strong marker="**">config</strong>
<code>ParserConfig</code>
-- Parser configuration
<ul>
<li>
<strong marker="**">strictMode</strong>
<code>boolean</code>
-- Reject unknown runes.
<em marker="*">
Default:
<code>false</code>
</em>
</li>
<li>
<strong marker="**">maxDepth</strong>
<code>number</code>
-- Maximum nesting depth.
<em marker="*">
Default:
<code>10</code>
</em>
</li>
</ul>
</div>
</section>
</div>
</section>
<section data-rune="symbol-group">
<h3 data-name="label">Methods</h3>
<div data-name="body">
<section data-rune="symbol-member">
<h4 data-name="name">parse</h4>
<div data-name="body">
<p>Parse a Markdoc source string into a raw AST.</p>
<div class="rf-codeblock">
<pre data-language="typescript">
<code data-language="typescript">parse(source: string): ASTNode
</code>
</pre>
</div>
<ul>
<li>
<strong marker="**">source</strong>
<code>string</code>
-- Raw Markdoc content
</li>
</ul>
<blockquote>
<p>
Returns
<code>ASTNode</code>
-- The root node of the parsed abstract syntax tree.
</p>
</blockquote>
</div>
</section>
<section data-rune="symbol-member">
<h4 data-name="name">transform</h4>
<div data-name="body">
<p>Transform a parsed AST into a renderable tree.</p>
<div class="rf-codeblock">
<pre data-language="typescript">
<code data-language="typescript">transform(ast: ASTNode, variables?: Record<string, any>): RenderTree
</code>
</pre>
</div>
<ul>
<li>
<strong marker="**">ast</strong>
<code>ASTNode</code>
-- A parsed AST from the
<code>parse</code>
method
</li>
<li>
<strong marker="**">variables</strong>
<code>Record<string, any></code>
<em marker="*">(optional)</em>
-- Template variables
</li>
</ul>
<blockquote>
<p>
Returns
<code>RenderTree</code>
-- A framework-agnostic renderable tree.
</p>
</blockquote>
<blockquote>
<p>
Throws
<code>TransformError</code>
if a rune's reinterpretation rules fail.
</p>
</blockquote>
</div>
</section>
</div>
</section>
</div>
</article>ContentParser
The core parsing engine that transforms raw Markdoc source into an abstract syntax tree.
class ContentParser extends EventEmitter
Constructor
new ContentParser(config: ParserConfig)
ParserConfig -- Parser configuration- strictMode
boolean-- Reject unknown runes. Default:false - maxDepth
number-- Maximum nesting depth. Default:10
Methods
parse
Parse a Markdoc source string into a raw AST.
parse(source: string): ASTNode
- source
string-- Raw Markdoc content
Returns
ASTNode-- The root node of the parsed abstract syntax tree.
transform
Transform a parsed AST into a renderable tree.
transform(ast: ASTNode, variables?: Record<string, any>): RenderTree
- ast
ASTNode-- A parsed AST from theparsemethod - variables
Record<string, any>(optional) -- Template variables
Returns
RenderTree-- A framework-agnostic renderable tree.
Throws
TransformErrorif a rune's reinterpretation rules fail.
<article data-field="content-section" typeof="TechArticle" class="rf-symbol rf-symbol--class rf-symbol--typescript rf-symbol--1.0.0" data-kind="class" data-lang="typescript" data-since="1.0.0" data-rune="symbol" data-density="full">
<div data-name="header" class="rf-symbol__header" data-section="header">
<span data-name="kind-badge" data-meta-type="category" data-meta-rank="primary" class="rf-symbol__kind-badge">class</span>
<span data-name="lang-badge" data-meta-type="category" data-meta-rank="secondary" class="rf-symbol__lang-badge">typescript</span>
<span data-name="since-badge" data-meta-type="temporal" data-meta-rank="secondary" class="rf-symbol__since-badge">
<span data-meta-label="">Since:</span>
<span data-meta-value="">1.0.0</span>
</span>
</div>
<div data-name="body" class="rf-symbol__body" data-section="body">
<meta content="class" data-field="kind" />
<meta content="typescript" data-field="lang" />
<meta content="1.0.0" data-field="since" />
<meta content="" data-field="deprecated" />
<meta content="" data-field="source" />
<header data-name="preamble" class="rf-symbol__preamble" data-section="preamble">
<h2 id="contentparser" data-name="headline" class="rf-symbol__headline" data-section="title">ContentParser</h2>
<p data-name="blurb" class="rf-symbol__blurb">The core parsing engine that transforms raw Markdoc source into an abstract syntax tree.</p>
</header>
<div data-name="body" class="rf-symbol__body" data-section="body">
<div class="rf-codeblock">
<pre data-language="typescript"><code data-language="typescript">class ContentParser extends EventEmitter
</code></pre>
</div>
<section class="rf-symbol-group" data-rune="symbol-group" data-density="full">
<h3 data-name="label" class="rf-symbol-group__label">Constructor</h3>
<div data-name="body" class="rf-symbol-group__body">
<div class="rf-codeblock">
<pre data-language="typescript"><code data-language="typescript">new ContentParser(config: ParserConfig)
</code></pre>
</div>
<section class="rf-symbol-member" data-rune="symbol-member" data-density="full">
<h4 data-name="name" class="rf-symbol-member__name"></h4>
<div data-name="body" class="rf-symbol-member__body">
<strong marker="**">config</strong>
<code>ParserConfig</code>
-- Parser configuration
<ul>
<li>
<strong marker="**">strictMode</strong>
<code>boolean</code>
-- Reject unknown runes.
<em marker="*">
Default:
<code>false</code>
</em>
</li>
<li>
<strong marker="**">maxDepth</strong>
<code>number</code>
-- Maximum nesting depth.
<em marker="*">
Default:
<code>10</code>
</em>
</li>
</ul>
</div>
</section>
</div>
</section>
<section class="rf-symbol-group" data-rune="symbol-group" data-density="full">
<h3 data-name="label" class="rf-symbol-group__label">Methods</h3>
<div data-name="body" class="rf-symbol-group__body">
<section class="rf-symbol-member" data-rune="symbol-member" data-density="full">
<h4 data-name="name" class="rf-symbol-member__name">parse</h4>
<div data-name="body" class="rf-symbol-member__body">
<p>Parse a Markdoc source string into a raw AST.</p>
<div class="rf-codeblock">
<pre data-language="typescript"><code data-language="typescript">parse(source: string): ASTNode
</code></pre>
</div>
<ul>
<li>
<strong marker="**">source</strong>
<code>string</code>
-- Raw Markdoc content
</li>
</ul>
<blockquote>
<p>
Returns
<code>ASTNode</code>
-- The root node of the parsed abstract syntax tree.
</p>
</blockquote>
</div>
</section>
<section class="rf-symbol-member" data-rune="symbol-member" data-density="full">
<h4 data-name="name" class="rf-symbol-member__name">transform</h4>
<div data-name="body" class="rf-symbol-member__body">
<p>Transform a parsed AST into a renderable tree.</p>
<div class="rf-codeblock">
<pre data-language="typescript"><code data-language="typescript">transform(ast: ASTNode, variables?: Record<string, any>): RenderTree
</code></pre>
</div>
<ul>
<li>
<strong marker="**">ast</strong>
<code>ASTNode</code>
-- A parsed AST from the
<code>parse</code>
method
</li>
<li>
<strong marker="**">variables</strong>
<code>Record<string, any></code>
<em marker="*">(optional)</em>
-- Template variables
</li>
</ul>
<blockquote>
<p>
Returns
<code>RenderTree</code>
-- A framework-agnostic renderable tree.
</p>
</blockquote>
<blockquote>
<p>
Throws
<code>TransformError</code>
if a rune's reinterpretation rules fail.
</p>
</blockquote>
</div>
</section>
</div>
</section>
</div>
</div>
</article>Enum documentation
Enum members are defined as a list with name "value" -- description format.
{% symbol kind="enum" lang="typescript" since="1.2.0" %}
## RuneCategory
Classification categories for runes in the registry.
```typescript
enum RuneCategory
```
- **Layout** `"layout"` -- Core structural runes (section, grid, columns)
- **Content** `"content"` -- Content structure runes (tabs, accordion, callout)
- **Data** `"data"` -- Data display and reference runes (datatable, chart, codegroup)
- **Interactive** `"interactive"` -- User interaction runes (form, quiz, poll)
{% /symbol %}<article data-field="content-section" data-rune="symbol" typeof="TechArticle">
<meta content="enum" data-field="kind">
<meta content="typescript" data-field="lang">
<meta content="1.2.0" data-field="since">
<meta content="" data-field="deprecated">
<meta content="" data-field="source">
<header>
<h2 id="runecategory" data-name="headline">RuneCategory</h2>
<p data-name="blurb">Classification categories for runes in the registry.</p>
</header>
<div data-name="body">
<div class="rf-codeblock">
<pre data-language="typescript">
<code data-language="typescript">enum RuneCategory
</code>
</pre>
</div>
<ul>
<li>
<strong marker="**">Layout</strong>
<code>"layout"</code>
-- Core structural runes (section, grid, columns)
</li>
<li>
<strong marker="**">Content</strong>
<code>"content"</code>
-- Content structure runes (tabs, accordion, callout)
</li>
<li>
<strong marker="**">Data</strong>
<code>"data"</code>
-- Data display and reference runes (datatable, chart, codegroup)
</li>
<li>
<strong marker="**">Interactive</strong>
<code>"interactive"</code>
-- User interaction runes (form, quiz, poll)
</li>
</ul>
</div>
</article>RuneCategory
Classification categories for runes in the registry.
enum RuneCategory
- Layout
"layout"-- Core structural runes (section, grid, columns) - Content
"content"-- Content structure runes (tabs, accordion, callout) - Data
"data"-- Data display and reference runes (datatable, chart, codegroup) - Interactive
"interactive"-- User interaction runes (form, quiz, poll)
<article data-field="content-section" typeof="TechArticle" class="rf-symbol rf-symbol--enum rf-symbol--typescript rf-symbol--1.2.0" data-kind="enum" data-lang="typescript" data-since="1.2.0" data-rune="symbol" data-density="full">
<div data-name="header" class="rf-symbol__header" data-section="header">
<span data-name="kind-badge" data-meta-type="category" data-meta-rank="primary" class="rf-symbol__kind-badge">enum</span>
<span data-name="lang-badge" data-meta-type="category" data-meta-rank="secondary" class="rf-symbol__lang-badge">typescript</span>
<span data-name="since-badge" data-meta-type="temporal" data-meta-rank="secondary" class="rf-symbol__since-badge">
<span data-meta-label="">Since:</span>
<span data-meta-value="">1.2.0</span>
</span>
</div>
<div data-name="body" class="rf-symbol__body" data-section="body">
<meta content="enum" data-field="kind" />
<meta content="typescript" data-field="lang" />
<meta content="1.2.0" data-field="since" />
<meta content="" data-field="deprecated" />
<meta content="" data-field="source" />
<header data-name="preamble" class="rf-symbol__preamble" data-section="preamble">
<h2 id="runecategory" data-name="headline" class="rf-symbol__headline" data-section="title">RuneCategory</h2>
<p data-name="blurb" class="rf-symbol__blurb">Classification categories for runes in the registry.</p>
</header>
<div data-name="body" class="rf-symbol__body" data-section="body">
<div class="rf-codeblock">
<pre data-language="typescript"><code data-language="typescript">enum RuneCategory
</code></pre>
</div>
<ul>
<li>
<strong marker="**">Layout</strong>
<code>"layout"</code>
-- Core structural runes (section, grid, columns)
</li>
<li>
<strong marker="**">Content</strong>
<code>"content"</code>
-- Content structure runes (tabs, accordion, callout)
</li>
<li>
<strong marker="**">Data</strong>
<code>"data"</code>
-- Data display and reference runes (datatable, chart, codegroup)
</li>
<li>
<strong marker="**">Interactive</strong>
<code>"interactive"</code>
-- User interaction runes (form, quiz, poll)
</li>
</ul>
</div>
</div>
</article>Type alias
Type aliases are the simplest form -- just a name, description, and type definition.
{% symbol kind="type" lang="typescript" %}
## RuneMap
A mapping of rune names to their definitions. Used to register custom runes or override built-in rune behavior.
```typescript
type RuneMap = Record<string, RuneDefinition>
```
{% /symbol %}<article data-field="content-section" data-rune="symbol" typeof="TechArticle">
<meta content="type" data-field="kind">
<meta content="typescript" data-field="lang">
<meta content="" data-field="since">
<meta content="" data-field="deprecated">
<meta content="" data-field="source">
<header>
<h2 id="runemap" data-name="headline">RuneMap</h2>
<p data-name="blurb">A mapping of rune names to their definitions. Used to register custom runes or override built-in rune behavior.</p>
</header>
<div data-name="body">
<div class="rf-codeblock">
<pre data-language="typescript">
<code data-language="typescript">type RuneMap = Record<string, RuneDefinition>
</code>
</pre>
</div>
</div>
</article>RuneMap
A mapping of rune names to their definitions. Used to register custom runes or override built-in rune behavior.
type RuneMap = Record<string, RuneDefinition>
<article data-field="content-section" typeof="TechArticle" class="rf-symbol rf-symbol--type rf-symbol--typescript" data-kind="type" data-lang="typescript" data-rune="symbol" data-density="full">
<div data-name="header" class="rf-symbol__header" data-section="header">
<span data-name="kind-badge" data-meta-type="category" data-meta-rank="primary" class="rf-symbol__kind-badge">type</span>
<span data-name="lang-badge" data-meta-type="category" data-meta-rank="secondary" class="rf-symbol__lang-badge">typescript</span>
</div>
<div data-name="body" class="rf-symbol__body" data-section="body">
<meta content="type" data-field="kind" />
<meta content="typescript" data-field="lang" />
<meta content="" data-field="since" />
<meta content="" data-field="deprecated" />
<meta content="" data-field="source" />
<header data-name="preamble" class="rf-symbol__preamble" data-section="preamble">
<h2 id="runemap" data-name="headline" class="rf-symbol__headline" data-section="title">RuneMap</h2>
<p data-name="blurb" class="rf-symbol__blurb">A mapping of rune names to their definitions. Used to register custom runes or override built-in rune behavior.</p>
</header>
<div data-name="body" class="rf-symbol__body" data-section="body">
<div class="rf-codeblock">
<pre data-language="typescript"><code data-language="typescript">type RuneMap = Record<string, RuneDefinition>
</code></pre>
</div>
</div>
</div>
</article>Heading levels
Symbol uses fixed heading levels: the construct name is at h2, groups (Constructor, Properties, Methods) split at h3, and individual members at h4.
Deprecated construct
Set the deprecated attribute to mark a construct as deprecated. Add a source attribute to link to the source code.
{% symbol kind="function" deprecated="2.0.0" source="https://github.com/example/blob/main/src/legacy.ts#L42" %}
## legacyRender
This function is deprecated. Use `renderContent` instead.
```typescript
legacyRender(source: string): any
```
{% /symbol %}<article data-field="content-section" data-rune="symbol" typeof="TechArticle">
<meta content="function" data-field="kind">
<meta content="typescript" data-field="lang">
<meta content="" data-field="since">
<meta content="2.0.0" data-field="deprecated">
<meta content="https://github.com/example/blob/main/src/legacy.ts#L42" data-field="source">
<header>
<h2 id="legacyrender" data-name="headline">legacyRender</h2>
<p data-name="blurb">
This function is deprecated. Use
<code>renderContent</code>
instead.
</p>
</header>
<div data-name="body">
<div class="rf-codeblock">
<pre data-language="typescript">
<code data-language="typescript">legacyRender(source: string): any
</code>
</pre>
</div>
</div>
</article>legacyRender
This function is deprecated. Use renderContent instead.
legacyRender(source: string): any
<article data-field="content-section" typeof="TechArticle" class="rf-symbol rf-symbol--function rf-symbol--typescript rf-symbol--2.0.0 rf-symbol--https://github.com/example/blob/main/src/legacy.ts#L42" data-kind="function" data-lang="typescript" data-deprecated="2.0.0" data-source="https://github.com/example/blob/main/src/legacy.ts#L42" data-rune="symbol" data-density="full">
<div data-name="header" class="rf-symbol__header" data-section="header">
<span data-name="kind-badge" data-meta-type="category" data-meta-rank="primary" class="rf-symbol__kind-badge">function</span>
<span data-name="lang-badge" data-meta-type="category" data-meta-rank="secondary" class="rf-symbol__lang-badge">typescript</span>
<span data-name="deprecated-badge" data-meta-type="status" data-meta-rank="primary" class="rf-symbol__deprecated-badge">
<span data-meta-label="">Deprecated:</span>
<span data-meta-value="">2.0.0</span>
</span>
<a data-name="source-link" href="https://github.com/example/blob/main/src/legacy.ts#L42" class="rf-symbol__source-link">Source</a>
</div>
<div data-name="body" class="rf-symbol__body" data-section="body">
<meta content="function" data-field="kind" />
<meta content="typescript" data-field="lang" />
<meta content="" data-field="since" />
<meta content="2.0.0" data-field="deprecated" />
<meta content="https://github.com/example/blob/main/src/legacy.ts#L42" data-field="source" />
<header data-name="preamble" class="rf-symbol__preamble" data-section="preamble">
<h2 id="legacyrender" data-name="headline" class="rf-symbol__headline" data-section="title">legacyRender</h2>
<p data-name="blurb" class="rf-symbol__blurb">
This function is deprecated. Use
<code>renderContent</code>
instead.
</p>
</header>
<div data-name="body" class="rf-symbol__body" data-section="body">
<div class="rf-codeblock">
<pre data-language="typescript"><code data-language="typescript">legacyRender(source: string): any
</code></pre>
</div>
</div>
</div>
</article>Attributes
| Attribute | Type | Default | Description |
|---|---|---|---|
kind | string | "function" | Construct type: function, class, interface, enum, type, module, hook, component |
lang | string | "typescript" | Programming language: typescript, javascript, python, rust, go, etc. |
since | string | -- | Version when this construct was introduced |
deprecated | string | -- | Version when deprecated, or "true" for general deprecation |
source | string | -- | URL to source code (GitHub permalink, etc.) |
Common attributes
All block runes share these attributes for layout and theming.
| Attribute | Type | Default | Description |
|---|---|---|---|
width | string | content | Page grid width: content, wide, or full |
spacing | string | — | Vertical spacing: flush, tight, default, loose, or breathe |
inset | string | — | Horizontal padding: flush, tight, default, loose, or breathe |
tint | string | — | Named colour tint from theme configuration |
tint-mode | string | auto | Colour scheme override: auto, dark, or light |
bg | string | — | Named background preset from theme configuration |