Class: RageRender::WebcomicDrop

Inherits:
Jekyll::Drops::Drop
  • Object
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, extended, loops

Class Method Details

.def_config_delegator(source, target) ⇒ Object



137
138
139
# File 'lib/ragerender/jekyll.rb', line 137

def self.def_config_delegator source, target
  define_method(target) { @obj.site.config[source.to_s] }
end

Instance Method Details



180
181
182
# File 'lib/ragerender/jekyll.rb', line 180

def banner
  Pathname.new(@obj.site.baseurl || '/').join(@obj.site.config['banner'] || '').to_path
end

#cfscriptcodeObject



208
209
210
211
212
213
214
# File 'lib/ragerender/jekyll.rb', line 208

def cfscriptcode
  <<~HTML
    <script type="text/javascript">
      function jumpTo(place) { window.location = place; }
    </script>
  HTML
end

#copyrightsObject



176
177
178
# File 'lib/ragerender/jekyll.rb', line 176

def copyrights
  escape @obj.site.config.fetch('copyrights', '').gsub('[year]', Date.today.year.to_s)
end

#extrapagesObject



202
203
204
205
206
# File 'lib/ragerender/jekyll.rb', line 202

def extrapages
  @obj.site.pages.reject {|page| page.data['hidden'] }.map do |page|
    {'link' => page.url, 'title' => escape(page.data['title'])}
  end
end

#fallback_dataObject



243
244
245
# File 'lib/ragerender/jekyll.rb', line 243

def fallback_data
  {}
end

#hasblogsObject



193
194
195
# File 'lib/ragerender/jekyll.rb', line 193

def hasblogs
  @obj.site.posts.docs.any?
end

#hidefromhostObject



197
198
199
# File 'lib/ragerender/jekyll.rb', line 197

def hidefromhost
  false
end

#iscomicpageObject



235
236
237
# File 'lib/ragerender/jekyll.rb', line 235

def iscomicpage
  @obj.type == :comics
end

#isextrapageObject



239
240
241
# File 'lib/ragerender/jekyll.rb', line 239

def isextrapage
  @obj.type == :pages && @obj.data['hidden'] != true
end

#lastupdatedmyObject



172
173
174
# File 'lib/ragerender/jekyll.rb', line 172

def lastupdatedmy
  Time.now.strftime('%d/%m/%Y')
end

#layoutcssObject



223
224
225
226
227
228
229
# File 'lib/ragerender/jekyll.rb', line 223

def layoutcss
  <<~HTML
  <style type="text/css">
    #{css}
  </style>
  HTML
end

#pagetitleObject



231
232
233
# File 'lib/ragerender/jekyll.rb', line 231

def pagetitle
  escape @obj.data['title']
end

#webcomicavatarObject



184
185
186
# File 'lib/ragerender/jekyll.rb', line 184

def webcomicavatar
  Pathname.new(@obj.site.baseurl || '/').join(@obj.site.config['webcomicavatar'] || '').to_path
end

#webcomicgenreObject



164
165
166
# File 'lib/ragerender/jekyll.rb', line 164

def webcomicgenre
  (webcomicgenres.first || {})['genre_name']
end

#webcomicgenresObject



155
156
157
158
159
160
161
162
# File 'lib/ragerender/jekyll.rb', line 155

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

#webcomiciconObject



188
189
190
# File 'lib/ragerender/jekyll.rb', line 188

def webcomicicon
  @obj.site.config.fetch('webcomicavatar', '')
end

#webcomicnameObject



146
147
148
# File 'lib/ragerender/jekyll.rb', line 146

def webcomicname
  escape @obj.site.config['title']
end

#webcomicsloganObject



150
151
152
# File 'lib/ragerender/jekyll.rb', line 150

def webcomicslogan
  escape @obj.site.config['description']
end

#webcomicurlObject



168
169
170
# File 'lib/ragerender/jekyll.rb', line 168

def webcomicurl
  @obj.site.baseurl
end