class Photish::Render::GalleryPage
Attributes
layout_file[R]
output_dir[R]
Public Class Methods
new(layout_file, output_dir)
click to toggle source
# File lib/photish/render/gallery_page.rb, line 6 def initialize(layout_file, output_dir) @layout_file = layout_file @output_dir = output_dir end
Public Instance Methods
render(pages)
click to toggle source
# File lib/photish/render/gallery_page.rb, line 11 def render(pages) render_all(pages) end
Private Instance Methods
layout()
click to toggle source
# File lib/photish/render/gallery_page.rb, line 43 def layout @layout ||= Tilt.new(layout_file) end
relative_to_output_dir(url_parts)
click to toggle source
# File lib/photish/render/gallery_page.rb, line 33 def relative_to_output_dir(url_parts) File.join(output_dir, url_parts) end
render_all(pages)
click to toggle source
# File lib/photish/render/gallery_page.rb, line 20 def render_all(pages) Array(pages).each do |page| rendered_model = render_with_layout(page) output_model_file = relative_to_output_dir(page.url_parts) output_model_dir = relative_to_output_dir(page.base_url_parts) log.debug "Rendering #{page.url} to #{output_model_file}" FileUtils.mkdir_p(output_model_dir) File.write(output_model_file, rendered_model) end end
render_with_layout(page)
click to toggle source
# File lib/photish/render/gallery_page.rb, line 37 def render_with_layout(page) layout.render(page) do Tilt.new(page.path).render(page) end end