【问题标题】:Jekyll raw HTML in post帖子中的 Jekyll 原始 HTML
【发布时间】:2015-05-14 09:12:22
【问题描述】:

我有一个 Jekyll 网站,其中包含使用 Kramdown 解析器用 Markdown 编写的帖子。

我想在帖子中添加一些原始 HTML。但是,当我尝试添加 HTML 时,它会将其解析为降价(例如将 < 更改为 <)。

我试过了:

  • 在自己的段落中添加 HTML。
  • 包括一个.html 文件。
  • markdown="0" 添加到HTML 标记(也尝试过1)。
  • 使用上述所有内容进行缩进(并以三次反引号括起来)。
  • 使用原始标签

我所拥有的示例:

Some **markdown** `here`

<iframe src="asd"></iframe>

More *markdown*.

iframe 应该输出为 HTML,而不是解析的文本。

我使用的是 Github 页面,所以 Jekyll 扩展不是可选的。

【问题讨论】:

    标签: markdown jekyll github-pages kramdown


    【解决方案1】:

    HTML 被忽略,因为某些标签属性没有引号。例如width=500 应该是width="500"

    没有其他要求。 HTML 在其自己的段落中,没有缩进,并且已被解析。

    【讨论】:

      【解决方案2】:

      供其他人参考,为确保 Kramdown 不处理/解析 RAW HTML,可以添加属性markdown="0"。这将确保 Kramdown 解析器不会触及 HTML 标签块。

      例子:

      Input Markdown: - hello

      Output HTML:
      
                <ul>
                 <li>hello</li>
                </ul>
      

      使用属性markdown = "0"

      Input markdown: &lt;div markdown = "0"&gt; - hello &lt;/div&gt;

      Output HTML: &lt;div markdown = "0"&gt; - hello &lt;/div&gt;

      来自Kramdown documentation(提示:使用浏览器查找关键字“raw”以跳转到相关部分):

      如果 HTML 标记具有属性 markdown="0",则该标记被解析为原始 HTML 块。

      如果一个 HTML 标签有一个属性 markdown="1",那么默认 使用了该标签中的语法解析机制。

      如果一个 HTML 标签有一个属性 markdown="block",那么它的内容 标签被解析为块级元素。

      如果一个 HTML 标签有一个属性 markdown="span",那么它的内容 标签被解析为跨度级别的元素。

      此外,所有通用 XML 标记都被解析为原始 HTML 块。

      【讨论】:

      • 正如我所说,这实际上不起作用,但我认为它通常会在纠正“无效”HTML 的情况下。
      猜你喜欢
      • 2013-10-21
      • 2015-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-01
      • 1970-01-01
      • 2017-03-21
      相关资源
      最近更新 更多