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_pages, def_safe_delegator, extended, loops, own_methods
Class Method Details
.def_config_delegator(source, target, default = nil) ⇒ Object
134
135
136
|
# File 'lib/ragerender/jekyll.rb', line 134
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
171
172
173
|
# File 'lib/ragerender/jekyll.rb', line 171
def addsubscriptionlink
"https://comicfury.com/comic.php?action=addsubscription&url=#{webcomicsub}"
end
|
#banner ⇒ Object
209
210
211
|
# File 'lib/ragerender/jekyll.rb', line 209
def banner
Pathname.new(@obj.site.baseurl || '/').join(@obj.site.config['banner'] || '').to_path
end
|
#cfscriptcode ⇒ Object
257
258
259
260
261
262
263
|
# File 'lib/ragerender/jekyll.rb', line 257
def cfscriptcode
<<~HTML
<script type="text/javascript">
function jumpTo(place) { window.location = place; }
</script>
HTML
end
|
#comicprofile ⇒ Object
167
168
169
|
# File 'lib/ragerender/jekyll.rb', line 167
def comicprofile
"https://comicfury.com/comicprofile.php?url=#{webcomicsub}"
end
|
#comicsnum ⇒ Object
230
231
232
|
# File 'lib/ragerender/jekyll.rb', line 230
def comicsnum
@obj.site.collections['comics'].docs.size
end
|
#copyrights ⇒ Object
205
206
207
|
# File 'lib/ragerender/jekyll.rb', line 205
def copyrights
escape @obj.site.config.fetch('copyrights', '').gsub('[year]', Date.today.year.to_s)
end
|
#currentdate ⇒ Object
320
321
322
|
# File 'lib/ragerender/jekyll.rb', line 320
def currentdate
comicfury_date Date.today
end
|
#day ⇒ Object
324
325
326
|
# File 'lib/ragerender/jekyll.rb', line 324
def day
Date.today.day
end
|
247
248
249
250
251
252
253
254
255
|
# File 'lib/ragerender/jekyll.rb', line 247
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
336
337
338
|
# File 'lib/ragerender/jekyll.rb', line 336
def fallback_data
{}
end
|
#hasblogs ⇒ Object
222
223
224
|
# File 'lib/ragerender/jekyll.rb', line 222
def hasblogs
@obj.site.posts.docs.any?
end
|
#hascomics ⇒ Object
226
227
228
|
# File 'lib/ragerender/jekyll.rb', line 226
def hascomics
comicsnum > 0
end
|
#hidefromhost ⇒ Object
242
243
244
|
# File 'lib/ragerender/jekyll.rb', line 242
def hidefromhost
false
end
|
#isarchive ⇒ Object
284
285
286
|
# File 'lib/ragerender/jekyll.rb', line 284
def isarchive
@obj.data['layout'] == 'archive'
end
|
#isblog ⇒ Object
296
297
298
|
# File 'lib/ragerender/jekyll.rb', line 296
def isblog
@obj.data['layout'] == 'blog-archive'
end
|
#iscomicpage ⇒ Object
292
293
294
|
# File 'lib/ragerender/jekyll.rb', line 292
def iscomicpage
@obj.data['layout'] == 'comic-page'
end
|
#iscomicrelatedpage ⇒ Object
312
313
314
|
# File 'lib/ragerender/jekyll.rb', line 312
def iscomicrelatedpage
@obj.type == :comics || @obj.data['layout'] == 'overview'
end
|
#iserrorpage ⇒ Object
304
305
306
|
# File 'lib/ragerender/jekyll.rb', line 304
def iserrorpage
@obj.data['layout'] == 'error-page'
end
|
316
317
318
|
# File 'lib/ragerender/jekyll.rb', line 316
def
@obj.type == :pages && @obj.data['hidden'] != true
end
|
#isfrontpage ⇒ Object
308
309
310
|
# File 'lib/ragerender/jekyll.rb', line 308
def isfrontpage
@obj.data['slug'] == 'frontpage'
end
|
#isoverview ⇒ Object
300
301
302
|
# File 'lib/ragerender/jekyll.rb', line 300
def isoverview
@obj.data['layout'] == 'overview'
end
|
#issearch ⇒ Object
288
289
290
|
# File 'lib/ragerender/jekyll.rb', line 288
def issearch
@obj.data['layout'] == 'search'
end
|
#lastupdate ⇒ Object
197
198
199
|
# File 'lib/ragerender/jekyll.rb', line 197
def lastupdate
comicfury_date Time.now
end
|
#lastupdatedmy ⇒ Object
201
202
203
|
# File 'lib/ragerender/jekyll.rb', line 201
def lastupdatedmy
Time.now.strftime('%d/%m/%Y')
end
|
#layoutcss ⇒ Object
272
273
274
275
276
277
278
|
# File 'lib/ragerender/jekyll.rb', line 272
def layoutcss
<<~HTML
<style type="text/css">
#{css}
</style>
HTML
end
|
#month ⇒ Object
328
329
330
|
# File 'lib/ragerender/jekyll.rb', line 328
def month
Date.today.month
end
|
#pagetitle ⇒ Object
280
281
282
|
# File 'lib/ragerender/jekyll.rb', line 280
def pagetitle
escape @obj.data['title']
end
|
#usechapters ⇒ Object
234
235
236
|
# File 'lib/ragerender/jekyll.rb', line 234
def usechapters
@obj.site.collections['comics'].docs.any? {|comic| comic.data.include? 'chapter' }
end
|
#webcomicactivitystatus ⇒ Object
159
160
161
|
# File 'lib/ragerender/jekyll.rb', line 159
def webcomicactivitystatus
escape @obj.site.config['status']&.capitalize
end
|
#webcomicavatar ⇒ Object
213
214
215
|
# File 'lib/ragerender/jekyll.rb', line 213
def webcomicavatar
Pathname.new(@obj.site.baseurl || '/').join(@obj.site.config['webcomicavatar'] || '').to_path
end
|
#webcomicdescription ⇒ Object
155
156
157
|
# File 'lib/ragerender/jekyll.rb', line 155
def webcomicdescription
escape @obj.site.config['description']
end
|
#webcomicgenre ⇒ Object
185
186
187
|
# File 'lib/ragerender/jekyll.rb', line 185
def webcomicgenre
(webcomicgenres.first || {})['genre_name']
end
|
#webcomicgenres ⇒ Object
176
177
178
179
180
181
182
183
|
# File 'lib/ragerender/jekyll.rb', line 176
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
217
218
219
|
# File 'lib/ragerender/jekyll.rb', line 217
def webcomicicon
@obj.site.config.fetch('webcomicavatar', '')
end
|
#webcomicid ⇒ Object
143
144
145
|
# File 'lib/ragerender/jekyll.rb', line 143
def webcomicid
@obj.site.config['id'] || @obj.site.hash
end
|
#webcomicname ⇒ Object
147
148
149
|
# File 'lib/ragerender/jekyll.rb', line 147
def webcomicname
escape @obj.site.config['title']
end
|
#webcomicrating ⇒ Object
193
194
195
|
# File 'lib/ragerender/jekyll.rb', line 193
def webcomicrating
@obj.site.config['rating']
end
|
#webcomicslogan ⇒ Object
151
152
153
|
# File 'lib/ragerender/jekyll.rb', line 151
def webcomicslogan
escape @obj.site.config['slogan']
end
|
#webcomicsub ⇒ Object
163
164
165
|
# File 'lib/ragerender/jekyll.rb', line 163
def webcomicsub
URI.parse(@obj.site.config['url']).host.split.first
end
|
#webcomicurl ⇒ Object
189
190
191
|
# File 'lib/ragerender/jekyll.rb', line 189
def webcomicurl
@obj.site.config['url']
end
|
#year ⇒ Object
332
333
334
|
# File 'lib/ragerender/jekyll.rb', line 332
def year
Date.today.year
end
|