0

我刚刚安装了 redcarpet gem markdown,一切正常,除了代码块,它不能正常工作。

```@font-face {</div><div>&nbsp; font-family: 'Glyphicons Halflings';</div><div>&nbsp; src: font-   url('glyphicons-halflings-regular.eot');</div><div>&nbsp; src: font-url('glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), font-url('glyphicons-halflings-regular.woff') format('woff'), font-url('glyphicons-halflings-regular.ttf') format('truetype'), font-url('glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');</div><div>}```

正如您看到它在代码块中添加 html 作为原始文本,所以如果我写:

```my code here
another code```

它会输出:

```my code here<br>another code```

任何建议如何解决这个问题?

在我的 application_helper.rb 我有:

def markdown(text)
  options = {
   filter_html:     false,
   hard_wrap:       true,
   link_attributes: { rel: 'nofollow', target: "_blank" },
   space_after_headers: true,
   fenced_code_blocks: true
  }

  extensions = {
   autolink:           true,
   no_intra_emphasis: true,
   superscript:        true,
   highlight: true,
   strikethrough: true,
   quote: true,
   no_images: true,
   no_styles: true,
   prettify: true,
   superscript: true,
   footnotes: true,
   tables: true
 }

  renderer = Redcarpet::Render::HTML.new(options)
  markdown = Redcarpet::Markdown.new(renderer, extensions)
  markdown.render(text).html_safe

结尾

在我的 view.html.erb 中,我有:

<p class="body">
 <%= markdown(@post.body).html_safe %>
</p>
4

1 回答 1

0

在 bootsy gem 和 redcarpet gem 之间是一个问题。我最终通过删除 bootsy gem 和所有与之相关的东西来解决它,并坚持使用 redcarpet gem。似乎.html_escape在使用两个宝石时发生了冲突。不管怎么说,还是要谢谢你!

于 2014-12-21T23:52:43.330 回答