class Photish::Render::AssetPage
Attributes
collection[R]
output_dir[R]
site_dir[R]
url[R]
Public Class Methods
new(collection, output_dir, site_dir, url)
click to toggle source
# File lib/photish/render/asset_page.rb, line 6 def initialize(collection, output_dir, site_dir, url) @collection = collection @output_dir = output_dir @site_dir = site_dir @url = url end
Public Instance Methods
render(page_paths)
click to toggle source
# File lib/photish/render/asset_page.rb, line 13 def render(page_paths) render_all(page_paths) end
Private Instance Methods
output_model_file(page_path)
click to toggle source
# File lib/photish/render/asset_page.rb, line 37 def output_model_file(page_path) relative = relative_to_output_dir(page_path) dirname = File.dirname(relative) filename = relative.sub(dirname, '') File.join([dirname, url.base, filename].compact) end
relative_to_output_dir(page_path)
click to toggle source
# File lib/photish/render/asset_page.rb, line 44 def relative_to_output_dir(page_path) relative_path = page_path.gsub(site_dir, '') basename = File.basename(relative_path, File.extname(relative_path)) File.join(output_dir, File.dirname(relative_path), basename) end
render_all(page_paths)
click to toggle source
# File lib/photish/render/asset_page.rb, line 24 def render_all(page_paths) Array(page_paths).each do |page_path| rendered_model = render_page(page_path) output_model_file = output_model_file(page_path) output_model_dir = File.dirname(output_model_file) log.debug "Rendering #{page_path} to #{output_model_file}" FileUtils.mkdir_p(output_model_dir) File.write(output_model_file, rendered_model) end end
render_page(page_path)
click to toggle source
# File lib/photish/render/asset_page.rb, line 50 def render_page(page_path) Tilt.new(page_path).render(collection) end