Sha256: 2bcbbbf2eb25097056fe956f09a8bd28fb41698b1cd9b31f30b739a2904b9e42
Contents?: true
Size: 1.15 KB
Versions: 1
Compression:
Stored size: 1.15 KB
Contents
require 'redcarpet' require 'github/markdown' module Blogdown class Publisher attr_accessor :renderer,:markdown def initialize root @pipeline=Blogdown::FilePipeline.new root @base=root @output_stack={} @renderer=Redcarpet::Render::HTML.new(render_options) @markdown=Redcarpet::Markdown.new(@renderer, markdown_options) end def compose if @pipeline.stack.empty? raise IOError, "No file to compose" else @pipeline.stack.each do |file| if file.file? puts "processing #{file.to_s}" htm=transform(file.read) @output_stack[valid_id(file)]=htm puts "done" end end end @output_stack end def transform(txt) self.markdown.render(GitHub::Markdown.render_gfm(txt)) end def valid_id(v) value=v.basename.to_s.gsub(/^*.([a-z]|[A-Z]){2,}$/,"") value=value.gsub(" ","-") end def render_options {:with_toc_data=>false, :hard_warp=>true, :prettify=>true} end def markdown_options {:auto_link=>true} end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
blogdown-0.2.0 | lib/blogdown/publisher.rb |