项目

Smarty Pants 扩展(Markdig 规范文档)

添加了对 Smarty Pants 的支持:

SmartyPants 引号

将以下字符转换为 Smarty Pants 样式:

这是一段 "文本"
.
<p>这是一段 &ldquo;文本&rdquo;</p>
这是一段 '文本'
.
<p>这是一段 &lsquo;文本&rsquo;</p>
这是一段 <<文本>>
.
<p>这是一段 &laquo;文本&raquo;</p>

不平衡的引号不会被改变:

这是一段 "文本
.
<p>这是一段 &quot;文本</p>
这是一段 '文本
.
<p>这是一段 '文本</p>
这是一段 <<文本
.
<p>这是一段 &lt;&lt;文本</p>

在其他引号内的不平衡引号也不会被改变:

这是一段 "文本 '带有' 另一段文本'"
.
<p>这是一段 &ldquo;文本 '带有&rdquo; 另一段文本&rsquo;</p>
这是一段 '一段 "文本 '带有' 另一段文本"'
.
<p>这是一段 &lsquo;一段 &ldquo;文本 '带有&rdquo; 另一段文本&rsquo;</p>
这是一段 '一段 <<文本 '带有>> 另一段文本'
.
<p>这是一段 &lsquo;一段 &lt;&lt;文本 '带有&rsquo; 另一段文本&gt;&gt;</p>
这是一段 <<文本 '带有>> 另一段文本'
.
<p>这是一段 &laquo;文本 '带有&raquo; 另一段文本</p>

引号的规则与下划线_的强调规则相同,要求左右平衡:

这不是引号'
.
<p>这不是引号'</p>
它们是 '不匹配的引号 '
.
<p>它们是 '不匹配的引号 '</p>
它们是' 不匹配的 '引号
.
<p>它们是' 不匹配的 '引号</p>

一个在左/右引号内开始的强调会跨越右引号:

这是一段 "一段*文本" 包含着重音*
.
<p>这是一段 &ldquo;一段<em>文本&rdquo; 包含着重音</em></p>

可以使用多组引号:

"aaa" "bbb" "ccc" "ddd"
.
<p>&ldquo;aaa&rdquo; &ldquo;bbb&rdquo; &ldquo;ccc&rdquo; &ldquo;ddd&rdquo;</p>

SmartyPants 分隔符

这是一段 -- 文本
.
<p>这是一段 &ndash; 文本</p>
这是一段 --- 文本
.
<p>这是一段 &mdash; 文本</p>
这是一段 en ellipsis...
.
<p>这是一段 en ellipsis&hellip;</p>

检查 Smarty Pants 是否不会影响管道表解析:

a  | b
-- | --
0  | 1
.
<table>
<thead>
<tr>
<th>a</th>
<th>b</th>
</tr>
</thead>
<tbody>
<tr>
<td>0</td>
<td>1</td>
</tr>
</tbody>
</table>

检查引号和破折号:

一个 "引用" 包含一个 ---
.
<p>一个 &ldquo;引用&rdquo; 包含一个 &mdash;</p>
在本文档中