Class: Moft::Commands::Build
- Inherits:
-
Moft::Command
- Object
- Moft::Command
- Moft::Commands::Build
- Defined in:
- lib/moft/commands/build.rb
Class Method Summary collapse
-
.build(site, options) ⇒ Object
Private: Build the site from source into destination.
- .process(options) ⇒ Object
-
.watch(site, options) ⇒ Object
Private: Watch for file changes and rebuild the site.
Methods inherited from Moft::Command
Class Method Details
.build(site, options) ⇒ Object
Private: Build the site from source into destination.
site - A Moft::Site instance options - A Hash of options passed to the command
Returns nothing.
17 18 19 20 21 22 23 24 25 |
# File 'lib/moft/commands/build.rb', line 17 def self.build(site, ) source = ['source'] destination = ['destination'] Moft::Logger.info "Source:", source Moft::Logger.info "Destination:", destination print Moft::Logger.formatted_topic "Generating..." self.process_site(site) puts "done." end |
.process(options) ⇒ Object
4 5 6 7 8 9 |
# File 'lib/moft/commands/build.rb', line 4 def self.process() site = Moft::Site.new() self.build(site, ) self.watch(site, ) if ['watch'] end |
.watch(site, options) ⇒ Object
Private: Watch for file changes and rebuild the site.
site - A Moft::Site instance options - A Hash of options passed to the command
Returns nothing.
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/moft/commands/build.rb', line 33 def self.watch(site, ) require 'directory_watcher' source = ['source'] destination = ['destination'] Moft::Logger.info "Auto-regeneration:", "enabled" dw = DirectoryWatcher.new(source, :glob => self.globs(source, destination), :pre_load => true) dw.interval = 1 dw.add_observer do |*args| t = Time.now.strftime("%Y-%m-%d %H:%M:%S") print Moft::Logger.formatted_topic("Regenerating:") + "#{args.size} files at #{t} " self.process_site(site) puts "...done." end dw.start unless ['serving'] trap("INT") do puts " Halting auto-regeneration." exit 0 end loop { sleep 1000 } end end |