Class: Jekyll::ParallelBuildGenerator

Inherits:
Generator
  • Object
show all
Defined in:
lib/hooks/parallel-build.rb

Instance Method Summary collapse

Instance Method Details

#generate(site) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/hooks/parallel-build.rb', line 25

def generate(site)
  config = site.config['parallel_build']

  # Handle both `parallel_build: false` and `parallel_build.enabled: false`
  if config == false
    Jekyll.logger.info "ParallelBuild:", "Disabled via config"
    return
  end

  config = {} if config.nil? || config == true
  return unless config.fetch('enabled', true)

  threads = config.fetch('threads', Parallel.processor_count)
  min_items = config.fetch('min_items', 1)

  # Render documents in parallel (posts, collections)
  render_documents_parallel(site, threads, min_items)

  # Render pages in parallel
  render_pages_parallel(site, threads, min_items)
end