Class: Jekyll::GalleryGenerator

Inherits:
Generator
  • Object
show all
Defined in:
lib/jekyll-gallery-generator.rb

Instance Method Summary collapse

Instance Method Details

#generate(site) ⇒ Object



276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
# File 'lib/jekyll-gallery-generator.rb', line 276

def generate(site)
  config = site.config["gallery"] || {}
  dir = config["dir"] || "photos"
  galleries = []
  original_dir = Dir.getwd
  Dir.chdir(site.source)
  begin
    Dir.foreach(dir) do |gallery_dir|
      gallery_path = File.join(dir, gallery_dir)
      if File.directory?(gallery_path) and gallery_dir.chars.first != "."
        gallery = GalleryPage.new(site, site.source, gallery_path, gallery_dir)
        gallery.render(site.layouts, site.site_payload)
        gallery.write(site.dest)
        site.pages << gallery
        galleries << gallery
      end
    end
  rescue Exception => e
    puts "Error generating galleries: #{e}"
    puts e.backtrace
  end
  Dir.chdir(original_dir)

  gallery_index = GalleryIndex.new(site, site.source, dir, galleries)
  gallery_index.render(site.layouts, site.site_payload)
  gallery_index.write(site.dest)
  site.pages << gallery_index
end