【问题标题】:Kramdown with rogue didn't generate <pre> wrapper带有流氓的 Kramdown 没有生成 <pre> 包装器
【发布时间】:2016-11-26 18:27:22
【问题描述】:

这是来自我的撬动控制台:

> input = <<-HEREDOC
* # Header 1
* ## Header 2
*
* ```
* def hello
*   puts "hello world"
* end
* ```
* HEREDOC
=> "# Header 1\n## Header 2\n\n```\ndef hello\n  puts \"hello world\"\nend\n```\n"
> Kramdown::Document.new(input, input: "GFM", syntax_highlighter: "rouge").to_html
=> "<h1 id=\"header-1\">Header 1</h1>\n<h2 id=\"header-2\">Header 2</h2>\n\n<div class=\"highlighter-rouge\">def hello\n  puts \"hello world\"\nend\n</div>\n"

如您所见,为代码块生成的 html 不包含任何 &lt;pre&gt; 代码包装器。但是,如果我删除了rouge 选项并使用coderay,它的效果很好。

> Kramdown::Document.new(input, input: "GFM").to_html
=> "<h1 id=\"header-1\">Header 1</h1>\n<h2 id=\"header-2\">Header 2</h2>\n\n<pre><code>def hello\n  puts \"hello world\"\nend\n</code></pre>\n"

知道有什么问题吗?提前致谢。

【问题讨论】:

  • 对我来说没问题。你用的是什么版本的 kramdown?
  • 发现是因为rogue gem 版本。我需要使用版本
  • 当您发布代码时,请去掉 pry 的行提示。它不仅会分散注意力,而且每个想要运行您的代码的人都必须这样做。
  • @CarySwoveland:注意。我会编辑这个,下次记得做

标签: ruby-on-rails ruby kramdown rouge


【解决方案1】:

这是因为 rouge gem 版本。我需要将其更改为 v2.0.0。现在我正在使用:

  • kramdown v1.13.1
  • 胭脂 v1.11.1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-28
    • 2012-12-01
    • 2020-06-03
    相关资源
    最近更新 更多