# stdlib require 'rubygems' require 'tree_visitor' require 'erb' require 'fileutils' # ralbum require 'gf_utility/kwartzhelper' # require 'tree_visitor/visitor/print_node_visitor2' require 'ralbum/options' require 'ralbum/skin' require 'ralbum/resource' require 'ralbum/image_strategy' class KwartzSkinEngine < SkinEngine def initialize( skin ) super( skin ) compile_skin end def compile_skin ralbum_verbose(1, "compile kwartz skin #{skin.skin_name}") skin_template_dir = File.join( skin.skin_dirname, "template" ) skin_template_include = File.join( skin.skin_dirname, "inc" ) skin_template_out = File.join( skin.skin_dirname, "out" ) if not File.directory?(skin_template_include) skin_template_include = nil end if not File.directory?(skin_template_out) FileUtils.mkpath( skin_template_out ) end kwartz_compile( skin_template_dir, skin_template_include, skin_template_out ) end def render_album_page(albumNode) require "ralbum/skins/#{skin.skin_name}/out/album_page" args = { :resource => Resource.new, :album => albumNode, } View.expand_album_page( args ) end def render_image_page(imagePoolNode) require "ralbum/skins/#{skin.skin_name}/out/image_page" args = { :image => imagePoolNode.image("default"), } View.expand_image_page( args ) end end