Move galleries to collection, generate map and slideshow on build, stop using loopdir plugin, update templates accordingly
This commit is contained in:
27
_plugins/gallery.rb
Normal file
27
_plugins/gallery.rb
Normal file
@@ -0,0 +1,27 @@
|
||||
module Jekyll
|
||||
class GalleryPage < Page
|
||||
def initialize(site, gallery, layout)
|
||||
@site = site
|
||||
@dir = gallery.url
|
||||
@name = layout + '.html'
|
||||
self.process(@name)
|
||||
self.read_yaml(File.join(site.source, '_layouts'), 'gallery-' + layout + '.html')
|
||||
self.data.merge!( gallery.data)
|
||||
self.data['gallery'] = gallery.url.split('/')[2]
|
||||
self.data['layout'] = 'gallery-' + layout
|
||||
end
|
||||
end
|
||||
|
||||
class GalleryPageGenerator < Generator
|
||||
def generate(site)
|
||||
site.collections['gallery'].docs.each do |gallery|
|
||||
if gallery.respond_to?('map')
|
||||
site.pages << GalleryPage.new(site, gallery, 'map')
|
||||
end
|
||||
if !gallery.respond_to?('slideshow')
|
||||
site.pages << GalleryPage.new(site, gallery, 'slideshow')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user