class Adocsite::Site
Attributes
files[R]
images[R]
scripts[R]
styles[R]
Public Class Methods
new(engine)
click to toggle source
# File lib/adocsite/site.rb, line 4 def initialize(engine) # Internal @engine = engine # files to copy @styles = Array.new @scripts = Array.new @images = Array.new @files = Array.new end
Public Instance Methods
copy_content()
click to toggle source
# File lib/adocsite/site.rb, line 40 def copy_content root_output_folder = Adocsite::config[:OUTPUT_FOLDER] styles_folder = File.join(root_output_folder, Adocsite::config[:STYLES_FOLDER]) images_folder = File.join(root_output_folder, Adocsite::config[:IMAGES_FOLDER]) scripts_folder = File.join(root_output_folder, Adocsite::config[:SCRIPTS_FOLDER]) files_folder = File.join(root_output_folder) # theme resources folder has to be copied verbatim, so we first do that copy_resources(root_output_folder) Dir.mkdir(files_folder) unless Dir.exists?(files_folder) Dir.mkdir(styles_folder) unless Dir.exists?(styles_folder) Dir.mkdir(scripts_folder) unless Dir.exists?(scripts_folder) Dir.mkdir(images_folder) unless Dir.exists?(images_folder) FileUtils.copy(@engine.content_loader.styles, styles_folder) FileUtils.copy(@engine.content_loader.scripts, scripts_folder) FileUtils.copy(@engine.content_loader.images, images_folder) FileUtils.copy(@engine.content_loader.files, files_folder) FileUtils.copy(@engine.templates.styles, styles_folder) FileUtils.copy(@engine.templates.scripts, scripts_folder) FileUtils.copy(@engine.templates.images, images_folder) FileUtils.copy(@engine.templates.files, files_folder) end
copy_content_preserve_path(src, dst)
click to toggle source
# File lib/adocsite/site.rb, line 27 def copy_content_preserve_path(src, dst) src_folder = Pathname.new(src).realpath.dirname # quick and ugly source_folder = src_folder.to_s.partition("resources").last destination_folder = File.join(dst, source_folder) FileUtils.mkdir_p(destination_folder) FileUtils.cp(src, destination_folder) end
copy_resources(root_output_folder)
click to toggle source
# File lib/adocsite/site.rb, line 36 def copy_resources(root_output_folder) @engine.templates.resources.each {|src| copy_content_preserve_path(src, root_output_folder)} end
prepare_output()
click to toggle source
# File lib/adocsite/site.rb, line 15 def prepare_output output_folder = File.join(Adocsite::config[:OUTPUT_FOLDER]) Dir.mkdir(output_folder) unless Dir.exists?(output_folder) FileUtils.rm_rf(Dir.glob(File.join(output_folder,'*'))) end
write(content, name)
click to toggle source
# File lib/adocsite/site.rb, line 21 def write(content, name) f = File.new(File.join(Adocsite::config[:OUTPUT_FOLDER], name), "w") f.write(content) f.close() end