【问题标题】:render md file as partial in rails在rails中将md文件渲染为部分
【发布时间】:2017-07-24 11:06:50
【问题描述】:
我正在使用 markdown rails gem
https://github.com/joliss/markdown-rails
我有一个 md 部分 _privacy.html.md
#Privacy Policy
Privacy policy ....
然后当我从 erb 文件渲染这个部分文件时
<%= render :partial => "privacy" %>
我明白了
<h1>Privacy Policy</h1> <p> Privacy policy ....
它实际上将格式化的 html 呈现为文本,而不是 html 解释代码。
【问题讨论】:
标签:
ruby-on-rails
markdown
【解决方案1】:
在rails中将md文件渲染为部分
试试这个
require 'rubygems'
require 'nokogiri'
puts Nokogiri::HTML(my_html).text
示例:
require 'open-uri'
require 'rubygems'
require 'nokogiri'
uri = 'https://stackoverflow.com/questions/45279017/render-md-file-as-partial-in-rails'
doc = Nokogiri::HTML(open(uri))
doc.css('script, link').each { |node| node.remove }
puts doc.css('body').text.squeeze(" \n")
或简单的方法:
html = '<div class="asd">hello world</div><p><span>Happy</span><br> to help</p>'
puts ActionView::Base.full_sanitizer.sanitize(html)
和
html.gsub(/<\/?[^>]*>/, ' ').gsub(/\n\n+/, '\n').gsub(/^\n|\n$/, ' ').squish
希望对你有帮助!