module Webgen::Task::GenerateWebsite

Generates the website.

This can be called the main task of webgen.

Public Class Methods

call(website) click to toggle source

Main webgen task: Generate the website.

Returns true if the website has been successfully generated.

   # File lib/webgen/task/generate_website.rb
16 def self.call(website)
17   successful = true
18   website.logger.info { "Generating website..." }
19   time = Benchmark.measure do
20     website.ext.path_handler.populate_tree
21     if website.tree.root && !website.tree.root['passive']
22       passes = website.ext.path_handler.write_tree
23       if passes == 0
24         website.logger.info { "Nothing has changed since the last invocation!" }
25       else
26         website.logger.vinfo do
27           "Needed #{passes} pass#{passes == 1 ? '' : 'es'} to generate the website"
28         end
29       end
30     else
31       successful = false
32       website.logger.info do
33         ['No active source paths found - maybe not a webgen website?',
34          'Change to a website directory and run the command again.']
35       end
36     end
37   end
38   website.logger.info { "... done in " << ('%2.2f' % time.real) << ' seconds' }
39   website.save_cache if successful
40   successful
41 end