【问题标题】:Jekyll blog highligth code produce invalid htmlJekyll 博客高亮代码生成无效的 html
【发布时间】:2015-07-16 10:31:09
【问题描述】:

使用 Jekyll,我有这个文件:

#_posts/2015-06-20-post.textile
blablabla:

{% highlight bash  %}
$ ruby example_blocks_1.rb
[0, 2, 4, 6]
hello world
hello world
hello world
hello world
hello world
hello world
{% endhighlight  %} 

bla bla bla

这是生成的html:

<p>blablabla:</p>
<p><div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="gp">$ </span>ruby example_blocks_1.rb
<span class="o">[</span>0, 2, 4, 6]
hello world
hello world
hello world
hello world
hello world
hello world</code></pre></div></p>
<p>blablabla</p>

如果您将 html 放入这样的验证器中:https://validator.w3.org/nu/ 你可以看到:

Error: No p element in scope but a p end tag seen.

好像html不正确,可以参考这里:http://www.w3.org/TR/html401/struct/text.html#h-9.3.1 事实上 p 标签不能包含块级标签

Jekyll 为我生成 html,但我无法修复该行为。这似乎是一个错误。

这是我的_config.yml

markdown: kramdown
highlighter: rouge

你能帮帮我吗?

【问题讨论】:

  • 由于方括号在 Markdown 中具有特殊含义,因此转义它应该会有所帮助:\[0, 2, 4, 6\]
  • 对不起,但对我不起作用
  • @user1066183 我相信您可以通过为 [0,2,4,6] 和最后一个 hello world 之间的所有内容添加一个制表符或 4 个空格来解决这个问题?这告诉markdown它是一个代码块。这台机器上没有 jekyll,所以试一试
  • @matrixanomaly 谢谢我已经解决了解析代码中的所有空白。看我的回答。谢谢。

标签: ruby-on-rails ruby jekyll pygments kramdown


【解决方案1】:

已解决。问题是

之后的空白

}

例子:

{% endhighlight  %} 

在最后一个 % 之前有 2 个空格,在最后一个 } 之后还有其他空格(我们看不到它们,但它们存在)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    相关资源
    最近更新 更多