lib/archival/builder.rb in archival-0.0.2 vs lib/archival/builder.rb in archival-0.0.4

- old
+ new

@@ -10,11 +10,11 @@ module Archival class Builder attr_reader :page_templates def initialize(config, *_args) - @config = Config.new(config) + @config = config refresh_config end def refresh_config @file_system = Liquid::LocalFileSystem.new( @@ -34,10 +34,15 @@ update_pages update_objects end + def full_rebuild + Layout.reset_cache + refresh_config + end + def update_pages do_update_pages(File.join(@config.root, @config.pages_dir)) end def do_update_pages(dir, prefix = nil) @@ -59,10 +64,11 @@ template_file = File.join( @config.pages_dir, add_prefix.call(page_name) ) content = @file_system.read_template_file(template_file) + content += dev_mode_content if @config.dev_mode @page_templates[add_prefix.call(page_name)] = Liquid::Template.parse(content) end end end @@ -120,8 +126,21 @@ "#{template}.html") File.open(out_path, 'w+') do |file| file.write(render(template)) end end + return if @config.dev_mode + + # in production, also copy all assets to the dist folder. + @config.assets_dirs.each do |asset_dir| + FileUtils.copy_entry File.join(@config.root, asset_dir), + File.join(@config.build_dir, asset_dir) + end + end + + private + + def dev_mode_content + "<script src=\"http://localhost:#{@config.helper_port}/js/archival-helper.js\" type=\"application/javascript\"></script>" # rubocop:disable Layout/LineLength end end end