note

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&lt;string, any&gt;</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>
functiontypescriptSince:1.0.0

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

Returns RenderTree -- A framework-agnostic tree for rendering.

Throws ParseError if 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&lt;string, any&gt;</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&lt;string, any&gt;): 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&lt;string, any&gt;</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>
classtypescriptSince:1.0.0

ContentParser

The core parsing engine that transforms raw Markdoc source into an abstract syntax tree.

class ContentParser extends EventEmitter

Constructor

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.

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 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.

<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&lt;string, any&gt;): 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&lt;string, any&gt;</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>&quot;layout&quot;</code>
        -- Core structural runes (section, grid, columns)
      </li>
      <li>
        <strong marker="**">Content</strong>
        <code>&quot;content&quot;</code>
        -- Content structure runes (tabs, accordion, callout)
      </li>
      <li>
        <strong marker="**">Data</strong>
        <code>&quot;data&quot;</code>
        -- Data display and reference runes (datatable, chart, codegroup)
      </li>
      <li>
        <strong marker="**">Interactive</strong>
        <code>&quot;interactive&quot;</code>
        -- User interaction runes (form, quiz, poll)
      </li>
    </ul>
  </div>
</article>
enumtypescriptSince:1.2.0

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>&quot;layout&quot;</code>
           -- Core structural runes (section, grid, columns)
        </li>
        <li>
          <strong marker="**">Content</strong>
           
          <code>&quot;content&quot;</code>
           -- Content structure runes (tabs, accordion, callout)
        </li>
        <li>
          <strong marker="**">Data</strong>
           
          <code>&quot;data&quot;</code>
           -- Data display and reference runes (datatable, chart, codegroup)
        </li>
        <li>
          <strong marker="**">Interactive</strong>
           
          <code>&quot;interactive&quot;</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&lt;string, RuneDefinition&gt;
</code>
      </pre>
    </div>
  </div>
</article>
typetypescript

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&lt;string, RuneDefinition&gt;
</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>
functiontypescriptDeprecated:2.0.0Source

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

AttributeTypeDefaultDescription
kindstring"function"Construct type: function, class, interface, enum, type, module, hook, component
langstring"typescript"Programming language: typescript, javascript, python, rust, go, etc.
sincestring--Version when this construct was introduced
deprecatedstring--Version when deprecated, or "true" for general deprecation
sourcestring--URL to source code (GitHub permalink, etc.)

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