我注意到块级别的东西并不是真正的降价友好。想象一下以下部分(是的,我打算输出twitter bootstrap):
<section id="loremipsum">
<div class="page-header">
# Heading 1 #
</div>
Lorem ipsum, blah blah blah, yada yada yada.
</section>
预期输出应为:
<section id="loremipsum">
<div class="page-header">
<h1>Heading 1</h1>
</div>
<p>Lorem ipsum, blah blah blah, yada yada yada.</p>
</section>
相反,产生的输出更接近:
<p><section id="loremipsum"></p>
<div class="page-header">
# Heading 1 #
</div>
<p>Lorem ipsum, blah blah blah, yada yada yada.</section></p>
这里有两个问题:
标签。
这两个问题实际上也发生在官方解析器Dingus中,所以我猜这是“按预期工作”的问题之一。那就是说,那里有没有知识如何解决这些问题的降价大师?
答案 0 :(得分:4)
您可以使用Pandoc的降价标记,默认情况下会将<div>
标记之间的代码解释为降价文字。
$ pandoc input.md -o output.html
(有关详细信息,请参阅Pandoc's markdown doc的markdown_in_html_blocks
部分。)
答案 1 :(得分:4)
游戏稍晚,但更新后的答案(截至2015年夏季)。
问题取决于您使用的实施方式,但有关降价的好参考是CommonMark。根据{{3}},您可以通过此降价获得所需结果:
<section id="loremipsum">
<div class="page-header">
# Heading 1 #
</div>
Lorem ipsum, blah blah blah, yada yada yada.
</section>
请注意空行,即HTML块的结束条件。另请注意:
该块以满足开始条件的行开始(在最多三个空格可选缩进之后)。
意味着应该小心缩进HTML块的开头。
HTML-blocks specification在js中实现了100%的commonmark,markdown-it为您提供了对CommonMark C库的绑定,我猜你会在大多数编程语言中找到CommonMark的实现。
答案 2 :(得分:3)
请注意,在块级HTML标记中不处理Markdown格式化语法。例如,你不能在HTML块中使用Markdown-style * emphasis *。
我不知道有什么办法可以解决这个问题,但是当谈到Markdown时我不会把自己放在大师级别。
修改:如果您正在使用PHP,可能需要查看Gruber。
答案 3 :(得分:0)
某些实现可能区分大小写。
如果您将markdownsharp
标记大写,div
将使用真实<DIV>
,但如果您使用<div>
则不会。{/ p>
所以这可能会给你你想要的东西
<DIV class="video-panel">
![Review][1]
![Review][2]
</DIV>
即使stackoverflow的降价仍然可以区分两者,尽管它剥离了DIV本身。对于公共网站来说,这可能是一件好事!
这将是粗体
**这不会是大胆的**