Class: RageRender::WebcomicDrop
- Inherits:
-
Jekyll::Drops::Drop
- Object
- Jekyll::Drops::Drop
- RageRender::WebcomicDrop
show all
- Extended by:
- Forwardable, Pipettes
- Defined in:
- lib/ragerender/jekyll.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Pipettes
clean_payload, def_data_delegator, def_image_metadata, def_loop, def_safe_delegator, extended, loops
Class Method Details
.def_config_delegator(source, target, default = nil) ⇒ Object
137
138
139
|
# File 'lib/ragerender/jekyll.rb', line 137
def self.def_config_delegator source, target, default=nil
define_method(target) { @obj.site.config.fetch(source.to_s, default) }
end
|
Instance Method Details
#addsubscriptionlink ⇒ Object
174
175
176
|
# File 'lib/ragerender/jekyll.rb', line 174
def addsubscriptionlink
"https://comicfury.com/comic.php?action=addsubscription&url=#{webcomicsub}"
end
|
#banner ⇒ Object
212
213
214
|
# File 'lib/ragerender/jekyll.rb', line 212
def banner
Pathname.new(@obj.site.baseurl || '/').join(@obj.site.config['banner'] || '').to_path
end
|
#cfscriptcode ⇒ Object
260
261
262
263
264
265
266
|
# File 'lib/ragerender/jekyll.rb', line 260
def cfscriptcode
<<~HTML
<script type="text/javascript">
function jumpTo(place) { window.location = place; }
</script>
HTML
end
|
#comicprofile ⇒ Object
170
171
172
|
# File 'lib/ragerender/jekyll.rb', line 170
def comicprofile
"https://comicfury.com/comicprofile.php?url=#{webcomicsub}"
end
|
#comicsnum ⇒ Object
233
234
235
|
# File 'lib/ragerender/jekyll.rb', line 233
def comicsnum
@obj.site.collections['comics'].docs.size
end
|
#copyrights ⇒ Object
208
209
210
|
# File 'lib/ragerender/jekyll.rb', line 208
def copyrights
escape @obj.site.config.fetch('copyrights', '').gsub('[year]', Date.today.year.to_s)
end
|
#currentdate ⇒ Object
323
324
325
|
# File 'lib/ragerender/jekyll.rb', line 323
def currentdate
comicfury_date Date.today
end
|
#day ⇒ Object
327
328
329
|
# File 'lib/ragerender/jekyll.rb', line 327
def day
Date.today.day
end
|
250
251
252
253
254
255
256
257
258
|
# File 'lib/ragerender/jekyll.rb', line 250
def
@obj.site.pages.reject {|page| page.data['hidden'] }.map do |page|
{
'link' => page.url,
'title' => escape(page.data['title']),
'foldername' => File.basename(URI::parse(page.url).path, '.*'),
}
end
end
|
#fallback_data ⇒ Object
339
340
341
|
# File 'lib/ragerender/jekyll.rb', line 339
def fallback_data
{}
end
|
#hasblogs ⇒ Object
225
226
227
|
# File 'lib/ragerender/jekyll.rb', line 225
def hasblogs
@obj.site.posts.docs.any?
end
|
#hascomics ⇒ Object
229
230
231
|
# File 'lib/ragerender/jekyll.rb', line 229
def hascomics
comicsnum > 0
end
|
#hidefromhost ⇒ Object
245
246
247
|
# File 'lib/ragerender/jekyll.rb', line 245
def hidefromhost
false
end
|
#isarchive ⇒ Object
287
288
289
|
# File 'lib/ragerender/jekyll.rb', line 287
def isarchive
@obj.data['layout'] == 'archive'
end
|
#isblog ⇒ Object
299
300
301
|
# File 'lib/ragerender/jekyll.rb', line 299
def isblog
@obj.data['layout'] == 'blog-archive'
end
|
#iscomicpage ⇒ Object
295
296
297
|
# File 'lib/ragerender/jekyll.rb', line 295
def iscomicpage
@obj.data['layout'] == 'comic-page'
end
|
#iscomicrelatedpage ⇒ Object
315
316
317
|
# File 'lib/ragerender/jekyll.rb', line 315
def iscomicrelatedpage
@obj.type == :comics || @obj.data['layout'] == 'overview'
end
|
#iserrorpage ⇒ Object
307
308
309
|
# File 'lib/ragerender/jekyll.rb', line 307
def iserrorpage
@obj.data['layout'] == 'error-page'
end
|
319
320
321
|
# File 'lib/ragerender/jekyll.rb', line 319
def
@obj.type == :pages && @obj.data['hidden'] != true
end
|
#isfrontpage ⇒ Object
311
312
313
|
# File 'lib/ragerender/jekyll.rb', line 311
def isfrontpage
@obj.data['slug'] == 'frontpage'
end
|
#isoverview ⇒ Object
303
304
305
|
# File 'lib/ragerender/jekyll.rb', line 303
def isoverview
@obj.data['layout'] == 'overview'
end
|
#issearch ⇒ Object
291
292
293
|
# File 'lib/ragerender/jekyll.rb', line 291
def issearch
@obj.data['layout'] == 'search'
end
|
#lastupdate ⇒ Object
200
201
202
|
# File 'lib/ragerender/jekyll.rb', line 200
def lastupdate
comicfury_date Time.now
end
|
#lastupdatedmy ⇒ Object
204
205
206
|
# File 'lib/ragerender/jekyll.rb', line 204
def lastupdatedmy
Time.now.strftime('%d/%m/%Y')
end
|
#layoutcss ⇒ Object
275
276
277
278
279
280
281
|
# File 'lib/ragerender/jekyll.rb', line 275
def layoutcss
<<~HTML
<style type="text/css">
#{css}
</style>
HTML
end
|
#month ⇒ Object
331
332
333
|
# File 'lib/ragerender/jekyll.rb', line 331
def month
Date.today.month
end
|
#pagetitle ⇒ Object
283
284
285
|
# File 'lib/ragerender/jekyll.rb', line 283
def pagetitle
escape @obj.data['title']
end
|
#usechapters ⇒ Object
237
238
239
|
# File 'lib/ragerender/jekyll.rb', line 237
def usechapters
@obj.site.collections['comics'].docs.any? {|comic| comic.data.include? 'chapter' }
end
|
#webcomicactivitystatus ⇒ Object
162
163
164
|
# File 'lib/ragerender/jekyll.rb', line 162
def webcomicactivitystatus
escape @obj.site.config['status']&.capitalize
end
|
#webcomicavatar ⇒ Object
216
217
218
|
# File 'lib/ragerender/jekyll.rb', line 216
def webcomicavatar
Pathname.new(@obj.site.baseurl || '/').join(@obj.site.config['webcomicavatar'] || '').to_path
end
|
#webcomicdescription ⇒ Object
158
159
160
|
# File 'lib/ragerender/jekyll.rb', line 158
def webcomicdescription
escape @obj.site.config['description']
end
|
#webcomicgenre ⇒ Object
188
189
190
|
# File 'lib/ragerender/jekyll.rb', line 188
def webcomicgenre
(webcomicgenres.first || {})['genre_name']
end
|
#webcomicgenres ⇒ Object
179
180
181
182
183
184
185
186
|
# File 'lib/ragerender/jekyll.rb', line 179
def webcomicgenres
(@obj.site.config['genres'] || []).map do |g|
{
'genre_name' => escape(g),
'genre_link' => "https://comicfury.com/search.php?vr=1&query=&tags=#{g.downcase.gsub(/[^a-z]/, '')}"
}
end
end
|
#webcomicicon ⇒ Object
220
221
222
|
# File 'lib/ragerender/jekyll.rb', line 220
def webcomicicon
@obj.site.config.fetch('webcomicavatar', '')
end
|
#webcomicid ⇒ Object
146
147
148
|
# File 'lib/ragerender/jekyll.rb', line 146
def webcomicid
@obj.site.config['id'] || @obj.site.hash
end
|
#webcomicname ⇒ Object
150
151
152
|
# File 'lib/ragerender/jekyll.rb', line 150
def webcomicname
escape @obj.site.config['title']
end
|
#webcomicrating ⇒ Object
196
197
198
|
# File 'lib/ragerender/jekyll.rb', line 196
def webcomicrating
@obj.site.config['rating']
end
|
#webcomicslogan ⇒ Object
154
155
156
|
# File 'lib/ragerender/jekyll.rb', line 154
def webcomicslogan
escape @obj.site.config['slogan']
end
|
#webcomicsub ⇒ Object
166
167
168
|
# File 'lib/ragerender/jekyll.rb', line 166
def webcomicsub
URI.parse(@obj.site.config['url']).host.split.first
end
|
#webcomicurl ⇒ Object
192
193
194
|
# File 'lib/ragerender/jekyll.rb', line 192
def webcomicurl
@obj.site.config['url']
end
|
#year ⇒ Object
335
336
337
|
# File 'lib/ragerender/jekyll.rb', line 335
def year
Date.today.year
end
|