class Prow::PageCompiler

Public Instance Methods

compile() click to toggle source
# File lib/prow/page_compiler.rb, line 3
def compile
  make_parent_directory
  File.open(path, 'w+') do |f|
    f.write(render)
  end
end
layout() click to toggle source
# File lib/prow/page_compiler.rb, line 22
def layout
  templates.layout(page.layout)
end
make_parent_directory() click to toggle source
# File lib/prow/page_compiler.rb, line 26
def make_parent_directory
  FileUtils.mkdir_p(page_dir) unless File.exist?(page_dir)
end
page_dir() click to toggle source
# File lib/prow/page_compiler.rb, line 30
def page_dir
  compile_dir + "/" + page_path
end
page_path() click to toggle source
# File lib/prow/page_compiler.rb, line 34
def page_path
  page.file_name.split('/')[0..-2].join("/")
end
path() click to toggle source
# File lib/prow/page_compiler.rb, line 38
def path
  compile_dir + "/" + page.file_name
end
render() click to toggle source
# File lib/prow/page_compiler.rb, line 18
def render
  renderer.render(layout.content, page.data)
end
renderer() click to toggle source
# File lib/prow/page_compiler.rb, line 10
def renderer
  return @renderer if defined?(@renderer)
  @renderer = Renderer.new
  @renderer.templates = templates
  @renderer.page_name = page.name
  @renderer
end