Class: Jekyll::LanguageCollectionReader

Inherits:
CollectionReader
  • Object
show all
Defined in:
lib/jekyll/readers/language_collection_reader.rb

Instance Method Summary collapse

Instance Method Details

#readObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/jekyll/readers/language_collection_reader.rb', line 6

def read
  site.collections.each do |_, collection|
    next if SPECIAL_COLLECTIONS.include?(collection.label)
    collection.read
    collection.docs = collection.docs.flat_map do |document|
      ldocuments = []
      ldocument = LanguageDocument.new(document.path, { site: @site, collection: collection })
      ldocument.read

      if ldocument.languages
        for language in ldocument.languages do
          if ldocument.language == language
            ldocuments << ldocument
          elsif ldocument.language.nil?
            ldocument.data['language'] = language
            ldocuments << ldocument
          else
            ldocument2 = LanguageDocument.new(document.path, { site: @site, collection: collection })
            ldocument2.read
            ldocument2.data['language'] = language
            ldocuments << ldocument2
          end
        end
      elsif ldocument.language
        ldocuments << ldocument
      else
        # no languages -> do not add extended Page
        ldocuments << document
      end
      ldocuments
    end
  end
end