class Minimart::Web::HtmlGenerator
HTML generator coordinated building the various HTML pages (dashboard, show pages).
Attributes
clean_cookbooks[R]
cookbooks[R]
web_directory[R]
Public Class Methods
new(opts = {})
click to toggle source
@param [Hash] opts @option opts [String] :web_directory The directory to put any generated HTML in @option opts [String] :cookbooks The cookbooks to generate HTML for
# File lib/minimart/web/html_generator.rb, line 20 def initialize(opts = {}) @web_directory = opts[:web_directory] @cookbooks = opts[:cookbooks] @clean_cookbooks = opts.fetch(:clean_cookbooks, true) end
Public Instance Methods
generate()
click to toggle source
Generate any HTML!
# File lib/minimart/web/html_generator.rb, line 27 def generate generate_assets generate_index generate_cookbook_show_pages end
Private Instance Methods
copy_assets()
click to toggle source
# File lib/minimart/web/html_generator.rb, line 41 def copy_assets FileUtils.cp_r(compiled_asset_directory, web_directory) end
generate_assets()
click to toggle source
# File lib/minimart/web/html_generator.rb, line 35 def generate_assets generate_js generate_css copy_assets end
generate_cookbook_show_pages()
click to toggle source
# File lib/minimart/web/html_generator.rb, line 69 def generate_cookbook_show_pages CookbookShowPageGenerator.new( web_directory: web_directory, cookbooks: cookbooks, clean_cookbooks: clean_cookbooks).generate end
generate_css()
click to toggle source
# File lib/minimart/web/html_generator.rb, line 54 def generate_css css_dir = Pathname.new(compiled_asset_directory).join('stylesheets') FileUtils.mkdir_p(css_dir) sprockets = Sprockets::Environment.new(minimart_root_directory) sprockets.css_compressor = :sass sprockets.append_path(Pathname.new(raw_asset_directory).join('stylesheets')) sprockets['manifest.css'].write_to(css_dir.join('application.min.css')) end
generate_index()
click to toggle source
# File lib/minimart/web/html_generator.rb, line 63 def generate_index DashboardGenerator.new( web_directory: web_directory, cookbooks: cookbooks).generate end
generate_js()
click to toggle source
# File lib/minimart/web/html_generator.rb, line 45 def generate_js js_dir = Pathname.new(compiled_asset_directory).join('javascripts') FileUtils.mkdir_p(js_dir) sprockets = Sprockets::Environment.new(minimart_root_directory) sprockets.js_compressor = :uglify sprockets.append_path(Pathname.new(raw_asset_directory).join('javascripts')) sprockets['manifest.js'].write_to(js_dir.join('application.min.js')) end