我有一个Jekyll网站,使用Kramdown解析器在Markdown中编写帖子。
我想在帖子中添加一些原始HTML。但是,当我尝试添加HTML时,它会将其解析为markdown(例如,将<
更改为<
)。
我试过了:
.html
文件。markdown="0"
添加到HTML代码中(也尝试了1
)。我的例子:
Some **markdown** `here`
<iframe src="asd"></iframe>
More *markdown*.
iframe应该输出为HTML,而不是解析文本。
我正在使用Github页面,因此Jekyll扩展不是可选的。
答案 0 :(得分:10)
HTML被忽略,因为某些标签attr没有引号。例如,width=500
应为width="500"
不需要其他任何东西。 HTML是在它自己的段落中没有缩进并且它被解析。
答案 1 :(得分:6)
对于其他人作为参考,为了确保Kramdown不处理/解析RAW HTML,可以添加属性markdown="0"
。这将确保Kramdown解析器不会触及HTML标记块。
示例:
Input Markdown: - hello
Output HTML:
<ul>
<li>hello</li>
</ul>
使用属性markdown = "0"
:
Input markdown: <div markdown = "0"> - hello </div>
Output HTML: <div markdown = "0"> - hello </div>
来自Kramdown documentation(提示:使用您的浏览器查找关键字&#39; raw&#39;跳转到相关部分):
如果HTML标记的属性为markdown =&#34; 0&#34;,则标记将被解析为原始HTML块。
如果HTML标记的属性为markdown =&#34; 1&#34;,则为默认值 使用此标记中解析语法的机制。
如果HTML标记有属性markdown =&#34; block&#34;,那么内容为 标记被解析为块级元素。
如果HTML标记的属性为markdown =&#34; span&#34;,则其内容为 标签被解析为跨度级元素。
此外,所有常规XML标记都被解析为原始HTML块。