lib/jekyll/commands/build.rb in jekyll-4.2.1 vs lib/jekyll/commands/build.rb in jekyll-4.2.2
- old
+ new
@@ -1,93 +1,93 @@
-# frozen_string_literal: true
-
-module Jekyll
- module Commands
- class Build < Command
- class << self
- # Create the Mercenary command for the Jekyll CLI for this Command
- def init_with_program(prog)
- prog.command(:build) do |c|
- c.syntax "build [options]"
- c.description "Build your site"
- c.alias :b
-
- add_build_options(c)
-
- c.action do |_, options|
- options["serving"] = false
- process_with_graceful_fail(c, options, self)
- end
- end
- end
-
- # Build your jekyll site
- # Continuously watch if `watch` is set to true in the config.
- def process(options)
- # Adjust verbosity quickly
- Jekyll.logger.adjust_verbosity(options)
-
- options = configuration_from_options(options)
- site = Jekyll::Site.new(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
-
- if options.fetch("detach", false)
- Jekyll.logger.info "Auto-regeneration:",
- "disabled when running server detached."
- elsif options.fetch("watch", false)
- watch(site, options)
- else
- Jekyll.logger.info "Auto-regeneration:", "disabled. Use --watch to enable."
- end
- end
-
- # Build your Jekyll site.
- #
- # site - the Jekyll::Site instance to build
- # options - A Hash of options passed to the command
- #
- # Returns nothing.
- def build(site, options)
- t = Time.now
- source = File.expand_path(options["source"])
- destination = File.expand_path(options["destination"])
- incremental = options["incremental"]
- Jekyll.logger.info "Source:", source
- Jekyll.logger.info "Destination:", destination
- Jekyll.logger.info "Incremental build:",
- (incremental ? "enabled" : "disabled. Enable with --incremental")
- Jekyll.logger.info "Generating..."
- process_site(site)
- Jekyll.logger.info "", "done in #{(Time.now - t).round(3)} seconds."
- end
-
- # Private: Watch for file changes and rebuild the site.
- #
- # site - A Jekyll::Site instance
- # options - A Hash of options passed to the command
- #
- # Returns nothing.
- def watch(site, options)
- # Warn Windows users that they might need to upgrade.
- if Utils::Platforms.bash_on_windows?
- Jekyll.logger.warn "",
- "Auto-regeneration may not work on some Windows versions."
- Jekyll.logger.warn "",
- "Please see: https://github.com/Microsoft/BashOnWindows/issues/216"
- Jekyll.logger.warn "",
- "If it does not work, please upgrade Bash on Windows or "\
- "run Jekyll with --no-watch."
- end
-
- External.require_with_graceful_fail "jekyll-watch"
- Jekyll::Watcher.watch(options, site)
- end
- end
- end
- end
-end
+# frozen_string_literal: true
+
+module Jekyll
+ module Commands
+ class Build < Command
+ class << self
+ # Create the Mercenary command for the Jekyll CLI for this Command
+ def init_with_program(prog)
+ prog.command(:build) do |c|
+ c.syntax "build [options]"
+ c.description "Build your site"
+ c.alias :b
+
+ add_build_options(c)
+
+ c.action do |_, options|
+ options["serving"] = false
+ process_with_graceful_fail(c, options, self)
+ end
+ end
+ end
+
+ # Build your jekyll site
+ # Continuously watch if `watch` is set to true in the config.
+ def process(options)
+ # Adjust verbosity quickly
+ Jekyll.logger.adjust_verbosity(options)
+
+ options = configuration_from_options(options)
+ site = Jekyll::Site.new(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
+
+ if options.fetch("detach", false)
+ Jekyll.logger.info "Auto-regeneration:",
+ "disabled when running server detached."
+ elsif options.fetch("watch", false)
+ watch(site, options)
+ else
+ Jekyll.logger.info "Auto-regeneration:", "disabled. Use --watch to enable."
+ end
+ end
+
+ # Build your Jekyll site.
+ #
+ # site - the Jekyll::Site instance to build
+ # options - A Hash of options passed to the command
+ #
+ # Returns nothing.
+ def build(site, options)
+ t = Time.now
+ source = File.expand_path(options["source"])
+ destination = File.expand_path(options["destination"])
+ incremental = options["incremental"]
+ Jekyll.logger.info "Source:", source
+ Jekyll.logger.info "Destination:", destination
+ Jekyll.logger.info "Incremental build:",
+ (incremental ? "enabled" : "disabled. Enable with --incremental")
+ Jekyll.logger.info "Generating..."
+ process_site(site)
+ Jekyll.logger.info "", "done in #{(Time.now - t).round(3)} seconds."
+ end
+
+ # Private: Watch for file changes and rebuild the site.
+ #
+ # site - A Jekyll::Site instance
+ # options - A Hash of options passed to the command
+ #
+ # Returns nothing.
+ def watch(site, options)
+ # Warn Windows users that they might need to upgrade.
+ if Utils::Platforms.bash_on_windows?
+ Jekyll.logger.warn "",
+ "Auto-regeneration may not work on some Windows versions."
+ Jekyll.logger.warn "",
+ "Please see: https://github.com/Microsoft/BashOnWindows/issues/216"
+ Jekyll.logger.warn "",
+ "If it does not work, please upgrade Bash on Windows or "\
+ "run Jekyll with --no-watch."
+ end
+
+ External.require_with_graceful_fail "jekyll-watch"
+ Jekyll::Watcher.watch(options, site)
+ end
+ end
+ end
+ end
+end