Class: Bridgetown::Commands::Build

Inherits:
Bridgetown::Command show all
Includes:
ConfigurationOverridable
Defined in:
bridgetown-core/lib/bridgetown-core/commands/build.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ConfigurationOverridable

#configuration_with_overrides, include_options

Methods inherited from Bridgetown::Command

command_line, start, summary

Class Method Details



15
16
17
18
# File 'bridgetown-core/lib/bridgetown-core/commands/build.rb', line 15

def self.print_startup_message
  Bridgetown.logger.info "Starting:", "Bridgetown v#{Bridgetown::VERSION.magenta} " \
                                      "(codename \"#{Bridgetown::CODE_NAME.yellow}\")"
end

Instance Method Details

#callObject

Build your bridgetown site Continuously watch if watch is set to true in the config.



22
23
24
25
26
27
28
29
30
31
32
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 'bridgetown-core/lib/bridgetown-core/commands/build.rb', line 22

def call # rubocop:disable Metrics
  Bridgetown.logger.adjust_verbosity(**options)

  # @type [Bridgetown::Configuration]
  config_options = configuration_with_overrides(
    options, Bridgetown::Current.preloaded_configuration
  )

  self.class.print_startup_message unless config_options["start_command"]

  Process.setproctitle(
    "bridgetown #{Bridgetown::VERSION} " \
    "(#{config_options["start_command"] ? "start" : "build"}) [#{File.basename(Dir.pwd)}]"
  )

  config_options.run_initializers! context: :static

  if !Bridgetown.env.production? &&
      !config_options[:skip_frontend] && config_options["start_command"]
    if Bridgetown::Utils.frontend_bundler_type(config_options[:root_dir]) == :esbuild
      Bridgetown::Utils.update_esbuild_autogenerated_config config_options
    end
    invoke_frontend_watcher_from_rake
  end

  @site = Bridgetown::Site.new(config_options)

  if config_options.fetch("skip_initial_build", false)
    Bridgetown.logger.warn "Build Warning:", "Skipping the initial build. " \
                                             "This may result in an out-of-date site."
  else
    build_site(config_options)
  end

  if config_options.fetch("watch", false)
    watch_site(config_options)
  else
    Bridgetown.logger.info "Auto-regeneration:", "disabled. Use --watch to enable."
  end
end