module Builder
Public Instance Methods
build_spec_page(site, spec_root, png_name_noext, data)
click to toggle source
# File lib/jekyll-theme-open-project-helpers/spec_builders/png_diagrams.rb, line 91 def build_spec_page(site, spec_root, png_name_noext, data) page = PngDiagramPage.new( site, site.source, File.join(spec_root, png_name_noext), data, ) stub_path = "#{File.dirname(__FILE__)}/png_diagram.html" page.content = File.read(stub_path) page end
build_spec_page_data(pngfile, spec_root, png_name, nav_item, spec_info)
click to toggle source
# File lib/jekyll-theme-open-project-helpers/spec_builders/png_diagrams.rb, line 105 def build_spec_page_data(pngfile, spec_root, png_name, nav_item, spec_info) png_dimensions = FastImage.size(pngfile) data = spec_info.data.clone data["image_path"] = "/#{spec_root}/images/#{png_name}" data["image_width"] = png_dimensions[0] data["image_height"] = png_dimensions[1] data = data.merge(nav_item) data["title"] = "#{spec_info['title']}: #{nav_item['title']}" data["article_header_title"] = nav_item["title"].to_s data end
build_spec_pages(site, spec_info, source, destination, opts)
click to toggle source
# File lib/jekyll-theme-open-project-helpers/spec_builders/png_diagrams.rb, line 50 def build_spec_pages(site, spec_info, source, destination, opts) images_path = source spec_root = destination pages = [] diagram_nav_items = get_nav_items_with_path( spec_info.data["navigation"]["items"], ) not_found_items = diagram_nav_items.dup Dir.glob("#{images_path}/*.png") do |pngfile| png_name = File.basename(pngfile) png_name_noext = File.basename(png_name, File.extname(png_name)) nav_item = diagram_nav_items.select do |item| item["path"].start_with?(png_name_noext) end [0].clone if nav_item == nil warn "UNUSED PNG: #{png_name} detected at source without " \ "a corresponding navigation item at (#{spec_root})." next end not_found_items.delete_if { |item| item["title"] == nav_item["title"] } data = build_spec_page_data(pngfile, spec_root, png_name, nav_item, spec_info) pages << build_spec_page(site, spec_root, png_name_noext, data) end not_found_items.each do |item| title = item["title"] warn "SPECIFIED PNG NOT FOUND: #{title}.png not found at source " \ "as specified at (#{spec_root})." end pages end