Class: RageRender::DefaultCoverSetter

Inherits:
Jekyll::Generator
  • Object
show all
Defined in:
lib/ragerender/jekyll/chapter.rb

Overview

Set the default cover for any chapters that don’t have one to be the first page of the first comic in that chapter.

Instance Method Summary collapse

Instance Method Details

#default_cover(chapter) ⇒ Object



63
64
65
# File 'lib/ragerender/jekyll/chapter.rb', line 63

def default_cover chapter
  Pathname.new('/').join(first_comic(chapter).data['image']).to_path
end

#first_comic(chapter) ⇒ Object



67
68
69
# File 'lib/ragerender/jekyll/chapter.rb', line 67

def first_comic chapter
  chapter.site.collections['comics'].docs.select {|c| c.data['chapter'] == chapter.data['slug'] }.first
end

#generate(site) ⇒ Object



57
58
59
60
61
# File 'lib/ragerender/jekyll/chapter.rb', line 57

def generate site
  site.collections['chapters'].docs.each do |chapter|
    chapter.data['image'] ||= default_cover(chapter)
  end
end