HTML Blocks
How the formatter indents HTML blocks within MDX content
The formatter properly indents HTML blocks within MDX content. This is controlled by the formatHtmlBlocksInMdx option and uses Prettier under the hood.
Rules
HTML blocks (
dl,table,div,ul,ol,form, etc.) are properly indentedContent whitespace in
dt/ddelements is trimmedNested HTML structures maintain correct indentation hierarchy
Examples
Definition list
Before:
<dl>
<dt>Term 1</dt>
<dd>Definition 1</dd>
<dt>Term 2</dt>
<dd>Definition 2</dd>
</dl>After:
<dl>
<dt>Term 1</dt>
<dd>Definition 1</dd>
<dt>Term 2</dt>
<dd>Definition 2</dd>
</dl>Definition list with div wrappers
Before:
<dl>
<div>
<dt>Term 1</dt>
<dd>Definition 1</dd>
</div>
<div>
<dt>Term 2</dt>
<dd>Definition 2</dd>
</div>
</dl>After:
<dl>
<div>
<dt>Term 1</dt>
<dd>Definition 1</dd>
</div>
<div>
<dt>Term 2</dt>
<dd>Definition 2</dd>
</div>
</dl>Whitespace trimming in dt/dd
Before:
<dl>
<dt> Term with spaces </dt>
<dd> Definition with spaces </dd>
</dl>After:
<dl>
<dt>Term with spaces</dt>
<dd>Definition with spaces</dd>
</dl>Nested HTML structures
Before:
<dl>
<dt>Outer Term</dt>
<dd>
<dl>
<dt>Inner Term</dt>
<dd>Inner Definition</dd>
</dl>
</dd>
</dl>After:
<dl>
<dt>Outer Term</dt>
<dd>
<dl>
<dt>Inner Term</dt>
<dd>Inner Definition</dd>
</dl>
</dd>
</dl>Unordered list
Before:
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>After:
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>Nested divs
Before:
<div class="container">
<div class="row">
<div class="col">Content</div>
</div>
</div>After:
<div class="container">
<div class="row">
<div class="col">Content</div>
</div>
</div>