class Jekyll::PoolePlugin::Renderer
The Renderer
class for Poole.
Constants
- LINK_TAG
- META_TAG
Public Class Methods
new(context, _markup)
click to toggle source
# File lib/poole/renderer.rb, line 14 def initialize(context, _markup) @site = context.registers[:site] @page = context.registers[:page] @site_name = @site.config['title'] end
Public Instance Methods
render_all()
click to toggle source
# File lib/poole/renderer.rb, line 21 def render_all tags = [] tags << render_site_name tags << render_title tags << render_type tags << render_description tags << render_published_time tags << render_author tags << render_url tags << render_canonical tags << render_image tags.push(*render_categoies) tags.delete_if { |v| v.nil? || v == '' }.join("\n") end
render_canonical()
click to toggle source
# File lib/poole/renderer.rb, line 81 def render_canonical url = remove_index(@site.config['url'] + @page['url']) format LINK_TAG, rel: 'canonical', href: url end
render_categoies()
click to toggle source
# File lib/poole/renderer.rb, line 94 def render_categoies Array(@page['categories']).map do |category| format META_TAG, property: 'article:tag', content: category end end
render_description()
click to toggle source
TODO: Pull from a post's excerpt if a description does not exist.
# File lib/poole/renderer.rb, line 55 def render_description description = @page['description'] || nil format( META_TAG, property: 'og:description', content: description) if description end
render_image()
click to toggle source
# File lib/poole/renderer.rb, line 86 def render_image image = @page['image'] || @site.config['og_image'] format( META_TAG, property: 'og:image', content: @site.config['url'] + '/' + image) if image end
render_published_time()
click to toggle source
# File lib/poole/renderer.rb, line 64 def render_published_time format( META_TAG, property: 'article:published_time', content: @page['date'].iso8601) if @page['date'] end
render_site_name()
click to toggle source
# File lib/poole/renderer.rb, line 37 def render_site_name format( META_TAG, property: 'og:site_name', content: @site_name) if @site_name end
render_title()
click to toggle source
# File lib/poole/renderer.rb, line 44 def render_title title = @page['title'] || @site_name format META_TAG, property: 'og:title', content: title if title end
render_type()
click to toggle source
# File lib/poole/renderer.rb, line 49 def render_type type = @page['title'] ? 'article' : 'website' format META_TAG, property: 'og:type', content: type end
render_url()
click to toggle source
# File lib/poole/renderer.rb, line 76 def render_url url = remove_index(@site.config['url'] + @page['url']) format META_TAG, property: 'og:url', content: url end
Private Instance Methods
remove_index(string)
click to toggle source
# File lib/poole/renderer.rb, line 102 def remove_index(string) string.slice!('index.html') string end