我刚刚安装了 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>