Top Level Namespace

Includes:
Process

Defined Under Namespace

Modules: Jekyll

Instance Method Summary collapse

Instance Method Details

#hook_coordinate(site) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/jekyll/polyglot/hooks/coordinate.rb', line 7

def hook_coordinate(site)
  # Copy the language specific data, by recursively merging it with the default data.
  # Favour active_lang first, then default_lang, then any non-language-specific data.
  # See: https://www.ruby-forum.com/topic/142809
  merger = proc { |key, v1, v2| Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : v2 }
  if site.data.include?(site.default_lang)
    site.data = site.data.merge(site.data[site.default_lang], &merger)
  end
  if site.data.include?(site.active_lang)
    site.data = site.data.merge(site.data[site.active_lang], &merger)
  end

  site.collections.each do |_, collection|
    collection.docs = site.coordinate_documents(collection.docs)
  end
  site.pages = site.coordinate_documents(site.pages)
end

#hook_process(site) ⇒ Object



6
7
8
9
10
11
# File 'lib/jekyll/polyglot/hooks/process.rb', line 6

def hook_process(site)
  site.collections.each do |_, collection|
    site.process_documents(collection.docs)
  end
  site.process_documents(site.pages)
end