class Jekyll::Commands::Build
Public Class Methods
build(site, options)
click to toggle source
site - the Jekyll::Site instance to build options - A Hash of options passed to the command
Returns nothing.
# File lib/jekyll/commands/build.rb, line 51 def build(site, options) t = Time.now source = options['source'] destination = 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
init_with_program(prog)
click to toggle source
Create the Mercenary command for the Jekyll CLI for this Command
# File lib/jekyll/commands/build.rb, line 6 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 Jekyll::Commands::Build.process(options) end end end
process(options)
click to toggle source
Build your jekyll site Continuously watch if `watch` is set to true in the config.
# File lib/jekyll/commands/build.rb, line 23 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
watch(_site, options)
click to toggle source
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.
# File lib/jekyll/commands/build.rb, line 70 def watch(_site, options) External.require_with_graceful_fail 'jekyll-watch' Jekyll::Watcher.watch(options) end