Class: Adocsite::Site
- Inherits:
-
Object
- Object
- Adocsite::Site
- Defined in:
- lib/adocsite/site.rb
Instance Attribute Summary collapse
-
#files ⇒ Object
readonly
Returns the value of attribute files.
-
#images ⇒ Object
readonly
Returns the value of attribute images.
-
#scripts ⇒ Object
readonly
Returns the value of attribute scripts.
-
#styles ⇒ Object
readonly
Returns the value of attribute styles.
Instance Method Summary collapse
- #copy_content ⇒ Object
- #copy_content_preserve_path(src, dst) ⇒ Object
- #copy_resources(root_output_folder) ⇒ Object
-
#initialize(engine) ⇒ Site
constructor
A new instance of Site.
- #prepare_output ⇒ Object
- #write(content, name) ⇒ Object
Constructor Details
#initialize(engine) ⇒ Site
Returns a new instance of Site.
4 5 6 7 8 9 10 11 12 13 |
# 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 |
Instance Attribute Details
#files ⇒ Object (readonly)
Returns the value of attribute files.
3 4 5 |
# File 'lib/adocsite/site.rb', line 3 def files @files end |
#images ⇒ Object (readonly)
Returns the value of attribute images.
3 4 5 |
# File 'lib/adocsite/site.rb', line 3 def images @images end |
#scripts ⇒ Object (readonly)
Returns the value of attribute scripts.
3 4 5 |
# File 'lib/adocsite/site.rb', line 3 def scripts @scripts end |
#styles ⇒ Object (readonly)
Returns the value of attribute styles.
3 4 5 |
# File 'lib/adocsite/site.rb', line 3 def styles @styles end |
Instance Method Details
#copy_content ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# 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) ⇒ Object
27 28 29 30 31 32 33 34 |
# 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) ⇒ Object
36 37 38 |
# 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 |