Sha256: 5272175771c8a13698d5b08e1a0129ab720c473c0cf9c84c5a47cdd283982467
Contents?: true
Size: 1.24 KB
Versions: 3
Compression:
Stored size: 1.24 KB
Contents
module Asciibook module Builders class HtmlBuilder < BaseBuilder def initialize(book) super @dest_dir = File.join(@book.dest_dir, 'html') @theme_dir = File.join(@book.theme_dir, 'html') end def build FileUtils.mkdir_p @dest_dir FileUtils.rm_r Dir.glob("#{@dest_dir}/*") generate_pages copy_assets end def generate_pages layout = Liquid::Template.parse(File.read(File.join(@theme_dir, 'layout.html'))) @book.pages.each do |page| File.open(File.join(@dest_dir, page.path), 'w') do |file| file.write layout.render({ 'book' => @book.to_hash, 'page' => page.to_hash }) end end end def copy_assets @book.assets.each do |path| copy_file(path, @book.base_dir, @dest_dir) end Dir.glob('**/*.{jpb,png,gif,svg,css,js}', File::FNM_CASEFOLD, base: @theme_share_dir).each do |path| copy_file(path, @theme_share_dir, @dest_dir) end Dir.glob('**/*.{jpb,png,gif,svg,css,js}', File::FNM_CASEFOLD, base: @theme_dir).each do |path| copy_file(path, @theme_dir, @dest_dir) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
asciibook-0.0.2.beta2 | lib/asciibook/builders/html_builder.rb |
asciibook-0.0.2.beta1 | lib/asciibook/builders/html_builder.rb |
asciibook-0.0.1 | lib/asciibook/builders/html_builder.rb |