Class: Octopress::Multilingual::Tags::Translations

Inherits:
Liquid::Tag
  • Object
show all
Defined in:
lib/octopress-multilingual/translation_tag.rb

Instance Method Summary collapse

Constructor Details

#initialize(tag, input, tokens) ⇒ Translations

Returns a new instance of Translations.



5
6
7
8
9
# File 'lib/octopress-multilingual/translation_tag.rb', line 5

def initialize(tag, input, tokens)
  super
  @tag = tag.strip
  @input = input.strip
end

Instance Method Details

#anchor(item) ⇒ Object



27
28
29
30
# File 'lib/octopress-multilingual/translation_tag.rb', line 27

def anchor(item)
  language = Octopress::Multilingual.language_name(item.lang)
  "<a class='translation-link lang-#{item.lang}' href='#{ item.url }'>#{ language }</a>"
end

#render(context) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/octopress-multilingual/translation_tag.rb', line 11

def render(context)
  @context = context
  if translations
    if @tag == 'translation_list'
      list = translations.dup.map do |t|
        "<li translation-item lang-#{t.lang}'>#{anchor(t)}</li>"
      end.join(' ,')
      "<ul class='translation-list'>#{list}</uL>"
    else
      translations.dup.map do |t|
        anchor(t)
      end.join(', ')
    end
  end
end

#translationsObject



32
33
34
35
36
# File 'lib/octopress-multilingual/translation_tag.rb', line 32

def translations
  if item = @context[@input]
    item['translations'] if item['translated']
  end
end