将md文件渲染为rails中的部分文件

时间:2017-07-24 11:06:51

标签: ruby-on-rails markdown

我正在使用markdown rails gem https://github.com/joliss/markdown-rails 我有一个md partial _privacy.html.md

#Privacy Policy
Privacy policy ....

然后当我从erb文件中渲染这个部分文件时

<%= render :partial => "privacy" %>

我得到了

<h1>Privacy Policy</h1> <p> Privacy policy ....

它实际上将格式化的html呈现为文本而不是html解释代码。

1 个答案:

答案 0 :(得分:-1)

  

将md文件渲染为rails中的部分文件

试试这个

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

希望这会对你有帮助!