And*_*ang 16 html markdown scope
我注意到块级别的东西并不是真正的降价友好.想象一下以下部分(是的,我打算输出twitter bootstrap):
<section id="loremipsum">
<div class="page-header">
# Heading 1 #
</div>
Lorem ipsum, blah blah blah, yada yada yada.
</section>
Run Code Online (Sandbox Code Playgroud)
预期产量应为:
<section id="loremipsum">
<div class="page-header">
<h1>Heading 1</h1>
</div>
<p>Lorem ipsum, blah blah blah, yada yada yada.</p>
</section>
Run Code Online (Sandbox Code Playgroud)
相反,产生的输出更接近:
<p><section id="loremipsum"></p>
<div class="page-header">
# Heading 1 #
</div>
<p>Lorem ipsum, blah blah blah, yada yada yada.</section></p>
Run Code Online (Sandbox Code Playgroud)
这里有两个问题:
块级元素周围的标记,例如section标记.
这两个问题实际上也发生在官方解析器Dingus中,所以我猜这是一个"按预期工作"的问题之一.那就是说,那里有没有知识如何解决这些问题的降价大师?
游戏有点晚了,但更新了答案(截至 2015 年夏季)。
问题取决于您使用哪种实现,但关于降价的一个很好的参考是CommonMark。根据HTML-blocks 规范,您可以通过以下降价获得想要的结果:
<section id="loremipsum">
<div class="page-header">
# Heading 1 #
</div>
Lorem ipsum, blah blah blah, yada yada yada.
</section>
Run Code Online (Sandbox Code Playgroud)
注意空行,它们是HTML 块的结束条件。另请注意:
块以符合起始条件的行开始(最多三个空格可选缩进)。
这意味着人们应该小心缩进 HTML 块的开头。
markdown-it在 js 中 100% 实现了 commonmark,perl-commonmark为您提供了对 CommonMark C 库的绑定,我想您会在大多数编程语言中找到 CommonMark 的实现。
是的,这是设计使然。根据格鲁伯的说法:
\n\n\n\n\n请注意,Markdown 格式化语法不在块级 HTML 标记内进行处理。例如,您可以\xe2\x80\x99t 在 HTML 块内使用 Markdown 样式*强调*。
\n
我不知道有任何解决方法,但当谈到 Markdown 时,我不会把自己置于大师级别。
\n\n编辑:如果您正在使用 PHP,您可能需要查看PHP Markdown Extra 。
\n