Move galleries to collection, generate map and slideshow on build, stop using loopdir plugin, update templates accordingly

This commit is contained in:
2016-01-22 19:27:34 +00:00
parent 0d0edee3a7
commit ad219ff8cc
18 changed files with 236 additions and 213 deletions

27
_plugins/gallery.rb Normal file
View 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