diff --git a/lib/jekyll/commands/build.rb b/lib/jekyll/commands/build.rb index 1374b0ef..60aac03c 100644 --- a/lib/jekyll/commands/build.rb +++ b/lib/jekyll/commands/build.rb @@ -27,7 +27,11 @@ module Jekyll options = configuration_from_options(options) site = Jekyll::Site.new(options) - build(site, options) + if options.fetch('skip_initial_build', false) + Jekyll.logger.warn "Build Warning:", "Skipping the initial build. This may result in an out-of-date site." + else + build(site, options) + end watch(site, options) if options['watch'] end @@ -75,7 +79,7 @@ module Jekyll end listener.start - Jekyll.logger.info "Auto-regeneration:", "enabled" + Jekyll.logger.info "Auto-regeneration:", "enabled for '#{source}'" unless options['serving'] trap("INT") do diff --git a/lib/jekyll/commands/serve.rb b/lib/jekyll/commands/serve.rb index 0f6c6d37..2fbfd74c 100644 --- a/lib/jekyll/commands/serve.rb +++ b/lib/jekyll/commands/serve.rb @@ -17,6 +17,7 @@ module Jekyll c.option 'port', '-P', '--port [PORT]', 'Port to listen on' c.option 'host', '-H', '--host [HOST]', 'Host to bind to' c.option 'baseurl', '-b', '--baseurl [URL]', 'Base URL' + c.option 'skip_initial_build', '--skip-initial-build', 'Skips the initial site build which occurs before the server is started.' c.action do |args, options| options["serving"] ||= true