Sha256: 629eaaea83cb2e3687fb867531d410e86731d65c9ad2b4698f9e349aa2022f2c

Contents?: true

Size: 774 Bytes

Versions: 3

Compression:

Stored size: 774 Bytes

Contents

module Jekyll
  class SeoTag < Liquid::Tag

    attr_accessor :context

    def render(context)
      @context = context
      Liquid::Template.parse(template_contents).render!(payload, info).gsub(/[\n\s]{2,}/, "\n")
    end

    private

    def payload
      {
        "page" => context.registers[:page],
        "site" => context.registers[:site].site_payload["site"]
      }
    end

    def info
      {
        :registers => context.registers,
        :filters   => [Jekyll::Filters]
      }
    end

    def template_contents
      @template_contents ||= File.read(template_path)
    end

    def template_path
      @template_path ||= File.expand_path "./template.html", File.dirname(__FILE__)
    end
  end
end

Liquid::Template.register_tag('seo', Jekyll::SeoTag)

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
jekyll-seo-tag-0.1.2 lib/jekyll-seo-tag.rb
jekyll-seo-tag-0.1.1 lib/jekyll-seo-tag.rb
jekyll-seo-tag-0.1.0 lib/jekyll-seo-tag.rb