class Grandfather::Renderer
Public Class Methods
new(file)
click to toggle source
# File lib/grandfather/render.rb, line 10 def initialize(file) @file = file @data = file.data @code = Code.new end
Public Instance Methods
render()
click to toggle source
# File lib/grandfather/render.rb, line 17 def render prepare_data render_data post_process_data return @data end
Private Instance Methods
post_process_data()
click to toggle source
# File lib/grandfather/render.rb, line 41 def post_process_data @data = @code.process(@data) doc = Nokogiri::HTML::DocumentFragment.parse(@data, 'UTF-8') @data = doc.to_xhtml(:save_with => Nokogiri::XML::Node::SaveOptions::AS_XHTML, :encoding => 'UTF-8') @data.gsub!(/<p><\/P>/, '') end
prepare_data()
click to toggle source
# File lib/grandfather/render.rb, line 27 def prepare_data @data = @code.extract(@data) end
render_data(content = nil)
click to toggle source
# File lib/grandfather/render.rb, line 31 def render_data(content = nil) begin @data = @data.force_encoding('utf-8') if @data.respond_to? :force_encoding @data = Redcarpet::Markdown.new(Redcarpet::Render::HTML, :autolink => true, :tables => true).render(@data) if @data.nil? raise "There was an error converting #{@file.name} to HTML." end end end