Class: Jekyll::LanguagePostReader

Inherits:
PostReader
  • Object
show all
Defined in:
lib/jekyll/readers/language_post_reader.rb

Instance Method Summary collapse

Instance Method Details

#read_content(dir, magic_dir, matcher) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/jekyll/readers/language_post_reader.rb', line 5

def read_content(dir, magic_dir, matcher)
  read_content_orig(dir, magic_dir, matcher).flat_map do |document|
    ldocument = LanguageDocument.new(document.path, { site: @site, collection: @site.posts })
    ldocument.read

    languages = ldocument.languages.is_a?(Enumerable) ? ldocument.languages : []
    if ldocument.language && !languages.include?(ldocument.language)
      languages.push(ldocument.language)
    end

    if languages.size == 0
      return [document]
    end

    languages.map do |language|
      ldocument2 = LanguageDocument.new(document.path, { site: @site, collection: @site.posts })
      ldocument2.data['language'] = language
      ldocument2
    end
  end
end

#read_content_origObject



3
# File 'lib/jekyll/readers/language_post_reader.rb', line 3

alias_method :read_content_orig, :read_content