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, extended
Instance Method Details
#chapters ⇒ Object
116
117
118
119
120
121
122
123
124
|
# File 'lib/ragerender/jekyll/archive.rb', line 116
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
# File 'lib/ragerender/jekyll/archive.rb', line 126
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::PAGINATION_FIELDS.map {|field| [field, drop[field]] }.to_h,
**ChapterDrop::PAGINATION_FIELDS.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
104
105
106
|
# File 'lib/ragerender/jekyll/archive.rb', line 104
def ischapterarchive
@obj.type == :chapters
end
|
#lastpagenumber ⇒ Object
149
150
151
|
# File 'lib/ragerender/jekyll/archive.rb', line 149
def lastpagenumber
selected_comics.size
end
|
#show_chapter_overview ⇒ Object
112
113
114
|
# File 'lib/ragerender/jekyll/archive.rb', line 112
def show_chapter_overview
!show_comic_list
end
|
#show_comic_list ⇒ Object
108
109
110
|
# File 'lib/ragerender/jekyll/archive.rb', line 108
def show_comic_list
ischapterarchive || @obj.data['mode'] == 'comics'
end
|