Module: Webgen::Task::GenerateWebsite

Defined in:
lib/webgen/task/generate_website.rb

Overview

Generates the website.

This can be called the main task of webgen.

Class Method Summary collapse

Class Method Details

.call(website) ⇒ Object

Main webgen task: Generate the website.

Returns true if the website has been successfully generated.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/webgen/task/generate_website.rb', line 17

def self.call(website)
  successful = true
  website.logger.info { "Generating website..." }
  time = Benchmark.measure do
    website.ext.path_handler.populate_tree
    if website.tree.root && !website.tree.root['passive']
      passes = website.ext.path_handler.write_tree
      if passes == 0
        website.logger.info { "Nothing has changed since the last invocation!" }
      else
        website.logger.vinfo do
          "Needed #{passes} pass#{passes == 1 ? '' : 'es'} to generate the website"
        end
      end
    else
      successful = false
      website.logger.info do
        ['No active source paths found - maybe not a webgen website?',
         'Change to a website directory and run the command again.']
      end
    end
  end
  website.logger.info { "... done in " << ('%2.2f' % time.real) << ' seconds' }
  website.save_cache if successful
  successful
end