我在 Rails 中创建博客,我决定使用 Redcarpet 在 Markdown 中生成博客内容。问题是我无法渲染图像。
我尝试了以下降价语法:
![test](/image.png)
我也尝试过使用 html 图片标签:
<img src="/image.png">
我什至尝试过嵌入 Ruby 图像标签:
<%= image_tag "image.png"%>
我的图像正确位于 app/assets/images 文件夹中。它与 Redcarpet 中的选项或我的路径名有关吗?使用我在网上找到的示例,我使用了以下辅助方法
def markdown(text)
options = {
fenced_code_blocks: true,
no_intra_emphasis:true,
lax_html_blocks: true
}
extensions = {
autolink: true,
superscript: true,
disable_indented_code_blocks: true
}
renderer = Redcarpet::Render::HTML.new(options)
markdown = Redcarpet::Markdown.new(renderer, extensions)
markdown.render(text).html_safe
end
我的 show.html.erb 文件如下所示:
<div class="container-fluid">
<h3><%= @post.title %></h3>
<%=@post.created_at.to_date%>
<p>
<%= markdown(@post.text)%>
<p>
<br>
<%= link_to 'Back to all posts.', posts_path%>
</div>