Class: Jekyll::Polyglot::Liquid::I18nHeadersTag

Inherits:
Liquid::Tag
  • Object
show all
Defined in:
lib/jekyll/polyglot/liquid/tags/i18n_headers.rb

Instance Method Summary collapse

Constructor Details

#initialize(tag_name, text, tokens) ⇒ I18nHeadersTag

Returns a new instance of I18nHeadersTag.



5
6
7
8
9
10
# File 'lib/jekyll/polyglot/liquid/tags/i18n_headers.rb', line 5

def initialize(tag_name, text, tokens)
  super
  @url = text
  @url.strip!
  @url.chomp! '/'
end

Instance Method Details

#render(context) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/jekyll/polyglot/liquid/tags/i18n_headers.rb', line 12

def render(context)
  site = context.registers[:site]
  page = context.registers[:page]
  permalink = normalize_permalink(page['permalink'] || page['url'] || '')
  normalized_permalink = strip_lang_prefix(permalink, site.active_lang)
  permalink_lang = page['permalink_lang']
  site_url = resolve_site_url(site)

  lang_to_permalink = build_lang_to_permalink(site, page['page_id'], normalized_permalink)

  canonical_tag(site, site_url, lang_to_permalink, permalink_lang, normalized_permalink) +
    hreflang_tags(site, site_url, lang_to_permalink, permalink_lang, normalized_permalink)
end