class Deas::Kramdown::Source
Attributes
cache[R]
doc_opts[R]
root[R]
Public Class Methods
new(root, opts)
click to toggle source
# File lib/deas-kramdown/source.rb, line 11 def initialize(root, opts) @root = Pathname.new(root.to_s) @doc_opts = opts[:doc_opts] || {} @cache = opts[:cache] ? Hash.new : NullCache.new end
Public Instance Methods
compile(template_name, content)
click to toggle source
# File lib/deas-kramdown/source.rb, line 21 def compile(template_name, content) doc(content).to_html end
doc(content)
click to toggle source
# File lib/deas-kramdown/source.rb, line 25 def doc(content) Kramdown::Document.new(content, @doc_opts) end
inspect()
click to toggle source
# File lib/deas-kramdown/source.rb, line 29 def inspect "#<#{self.class}:#{'0x0%x' % (object_id << 1)}"\ " @root=#{@root.inspect}"\ " @doc_opts=#{@doc_opts.inspect}>" end
render(template_name)
click to toggle source
# File lib/deas-kramdown/source.rb, line 17 def render(template_name) load(template_name).to_html end
Private Instance Methods
load(template_name)
click to toggle source
# File lib/deas-kramdown/source.rb, line 37 def load(template_name) @cache[template_name] ||= begin file_path = source_file_path(template_name).to_s content = File.send(File.respond_to?(:binread) ? :binread : :read, file_path) doc(content) end end
source_file_path(template_name)
click to toggle source
# File lib/deas-kramdown/source.rb, line 45 def source_file_path(template_name) Dir.glob(self.root.join("#{template_name}*")).first end