我刚刚安装了redcarpet gem markdown,所有工作正常,除了代码块,它无法正常工作。
```@font-face {</div><div> font-family: 'Glyphicons Halflings';</div><div> src: font- url('glyphicons-halflings-regular.eot');</div><div> 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>
答案 0 :(得分:0)
在bootsy gem和redcarpet gem之间存在问题。我终于通过删除bootsy gem以及与之相关的所有内容来修复它并坚持使用redcarpet gem。似乎.html_escape
在使用两个宝石时都会发生冲突。不管怎样,谢谢!