djot-0.1.0.0: test/emphasis.test
```
*foo bar*
.
<p><strong>foo bar</strong></p>
```
```
a* foo bar*
.
<p>a* foo bar*</p>
```
```
*foo bar *
.
<p>*foo bar *</p>
```
Unicode spaces don't block emphasis.
```
* a *
.
<p><strong> a </strong></p>
```
Intraword:
```
foo*bar*baz
.
<p>foo<strong>bar</strong>baz</p>
```
```
_foo bar_
.
<p><em>foo bar</em></p>
```
```
_ foo bar_
.
<p>_ foo bar_</p>
```
```
_foo bar _
.
<p>_foo bar _</p>
```
Unicode spaces don't block emphasis.
```
_ a _
.
<p><em> a </em></p>
```
Intraword:
```
foo_bar_baz
.
<p>foo<em>bar</em>baz</p>
```
```
aa_"bb"_cc
.
<p>aa<em>“bb”</em>cc</p>
```
```
*foo_
.
<p>*foo_</p>
```
```
_foo*
.
<p>_foo*</p>
```
A line ending counts as whitespace:
```
_foo bar
_
.
<p>_foo bar
_</p>
```
So does a tab:
```
_ a_
.
<p>_ a_</p>
```
This one is different from commonmark:
```
_(_foo_)_
.
<p><em>(</em>foo<em>)</em></p>
```
But you can force the second `_` to be an opener
using the marker `{`.
```
_({_foo_})_
.
<p><em>(<em>foo</em>)</em></p>
```
Note that an explicitly marked opener can only be closed
by an explicitly marked closer, and a non-marked opener
can only be closed by a non-marked closer:
```
{_ x_ _} _x_}
.
<p><em> x_ </em> _x_}</p>
```
```
_(*foo*)_
.
<p><em>(<strong>foo</strong>)</em></p>
```
Overlapping scopes (first to close wins):
```
_foo *bar_ baz*
.
<p><em>foo *bar</em> baz*</p>
```
Over line break:
```
_foo
bar_
.
<p><em>foo
bar</em></p>
```
Inline content allowed:
```
*foo [link](url) `*`*
.
<p><strong>foo <a href="url">link</a> <code>*</code></strong></p>
```
Can't emph an underscore:
```
___
.
<p>___</p>
```
Unless you escape it:
```
_\__
.
<p><em>_</em></p>
```
No empty emph:
```
__
.
<p>__</p>
```
```
_}b_
.
<p>_}b_</p>
```
```
_\}b_
.
<p><em>}b</em></p>
```
```
_ab\_c_
.
<p><em>ab_c</em></p>
```
```
*****a*****
.
<p><strong><strong><strong><strong><strong>a</strong></strong></strong></strong></strong></p>
```
```
_[bar_](url)
.
<p><em>[bar</em>](url)</p>
```
```
\_[bar_](url)
.
<p>_<a href="url">bar_</a></p>
```
Code takes precedence:
```
_`a_`b
.
<p>_<code>a_</code>b</p>
```
Autolinks take precedence:
```
_<http://example.com/a_b>
.
<p>_<a href="http://example.com/a_b">http://example.com/a_b</a></p>
```