class Jekyll::AlbumGenerator
Public Instance Methods
generate(site)
click to toggle source
# File _plugins/albums.rb, line 99 def generate(site) # If all albums should be served from under common path… base_path = site.config["albums_base_path"] || "" site.data["albums"].each do |album_data| album = album_data[1] album_name = album["about"]["name"] path = File.join(base_path, album_name) album["url"] = path symbol_static_file = AlbumSymbol.new(site, album) album["symbol_path"] = symbol_static_file.url site.static_files << symbol_static_file artwork_root = File.join( site.source, "_data", get_album_source_path(album_name), "artwork") album["artwork"].each do |artwork_name, artwork_data| artwork_item_root = File.join(artwork_root, artwork_name) next unless File.directory?(artwork_item_root) artwork_items = [] Dir["#{artwork_item_root}/*"].each do |artwork_item| next if (File.directory?(artwork_item) or !IMAGE_EXTS.include?(File.extname(artwork_item))) item_filename = File.basename(artwork_item) artwork_item_static_file = ArtworkItem.new( site, album, artwork_name, item_filename) artwork_items.push({ "name" => File.basename(item_filename, ".*"), "path" => artwork_item_static_file.url, "source_path" => artwork_item_static_file.path, }) site.static_files << artwork_item_static_file end album["artwork"][artwork_name]["items"] = artwork_items end site.pages << AlbumPage.new(site, site.source, path, album) end end