diff --git a/lib/jekyll/commands/build.rb b/lib/jekyll/commands/build.rb index 1c942a0b..54c774ab 100644 --- a/lib/jekyll/commands/build.rb +++ b/lib/jekyll/commands/build.rb @@ -67,8 +67,6 @@ module Jekyll ignored = nil end - Jekyll.logger.info "Auto-regeneration:", "enabled" - listener = Listen.to( source, :ignore => ignored, @@ -77,11 +75,19 @@ module Jekyll t = Time.now.strftime("%Y-%m-%d %H:%M:%S") n = modified.length + added.length + removed.length print Jekyll.logger.formatted_topic("Regenerating:") + "#{n} files at #{t} " - process_site(site) - puts "...done." + begin + process_site(site) + puts "...done." + rescue => e + puts "...error:" + Jekyll.logger.warn "Error:", e.message + Jekyll.logger.warn "Error:", "Run jekyll build --trace for more information." + end end listener.start + Jekyll.logger.info "Auto-regeneration:", "enabled" + unless options['serving'] trap("INT") do listener.stop