Class: RageRender::ArchiveDrop
- Inherits:
-
Jekyll::Drops::Drop
- Object
- Jekyll::Drops::Drop
- RageRender::ArchiveDrop
show all
- Extended by:
- Pipettes
- Defined in:
- lib/ragerender/jekyll/archive.rb
Overview
A Drop that provides all of the page variables for the archive pages.
Instance Method Summary
collapse
Methods included from Pipettes
clean_payload, def_data_delegator, def_image_metadata, def_loop, extended, loops
Instance Method Details
#chapters ⇒ Object
118
119
120
121
122
123
124
125
126
|
# File 'lib/ragerender/jekyll/archive.rb', line 118
def chapters
unless show_chapter_overview
@obj.site.collections['chapters'].docs.reject do |page|
page.data['hidden']
end.map do |page|
ChapterDrop.new(page).to_liquid
end
end
end
|
#comics_paginated ⇒ Object
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
# File 'lib/ragerender/jekyll/archive.rb', line 129
def comics_paginated
number = @obj.data['number']
comics = if number
selected_comics.to_a[number - 1]
else
selected_comics.to_a.flatten
end&.group_by {|c| c.data['chapter'] } || []
comics.map do |chapter, comics|
chapter_data = ChapterDrop.new(@obj.site.collections['chapters'].docs.detect {|c| c.data['slug'] == chapter })
comics.each_with_index.map do |comic, index|
drop = ComicDrop.new(comic)
{
**ComicDrop::.map {|field| [field, drop[field]] }.to_h,
**ChapterDrop::.map {|field| [field, chapter_data[field]] }.to_h,
'number' => index + 1,
'newchapter' => index == 0,
'chapterend' => index == comics.size - 1,
}
end
end.flatten
end
|
#ischapterarchive ⇒ Object
105
106
107
|
# File 'lib/ragerender/jekyll/archive.rb', line 105
def ischapterarchive
@obj.type == :chapters
end
|
#lastpagenumber ⇒ Object
152
153
154
|
# File 'lib/ragerender/jekyll/archive.rb', line 152
def lastpagenumber
selected_comics.size
end
|
#show_chapter_overview ⇒ Object
113
114
115
|
# File 'lib/ragerender/jekyll/archive.rb', line 113
def show_chapter_overview
!show_comic_list
end
|
#show_comic_list ⇒ Object
109
110
111
|
# File 'lib/ragerender/jekyll/archive.rb', line 109
def show_comic_list
ischapterarchive || @obj.data['mode'] == 'comics'
end
|