mirror of
https://github.com/middleman/middleman.git
synced 2022-11-09 12:20:27 -05:00
67 lines
1.8 KiB
Ruby
Executable file
67 lines
1.8 KiB
Ruby
Executable file
#!/usr/bin/env ruby
|
|
|
|
require 'middleman-core/profiling'
|
|
Middleman::Profiling.profiler = Middleman::Profiling::RubyProfProfiler.new if ARGV.include? '--profile'
|
|
|
|
require 'middleman-core/load_paths'
|
|
Middleman.setup_load_paths
|
|
|
|
require 'dotenv'
|
|
::Dotenv.load
|
|
|
|
require 'middleman-core'
|
|
require 'middleman-core/logger'
|
|
|
|
module Middleman::Cli
|
|
class << self
|
|
attr_accessor :config
|
|
end
|
|
|
|
def self.import_config(base)
|
|
::Middleman::Cli.config.all_settings.each do |setting|
|
|
if setting.default.is_a?(String) || setting.default.is_a?(NilClass)
|
|
base.class_option setting.key,
|
|
type: :string,
|
|
desc: setting.description
|
|
elsif setting.default.is_a?(TrueClass) || setting.default.is_a?(FalseClass)
|
|
base.class_option setting.key,
|
|
type: :boolean,
|
|
desc: setting.description
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
require 'middleman-cli'
|
|
|
|
# Change directory to the root
|
|
Dir.chdir(ENV['MM_ROOT']) if ENV['MM_ROOT']
|
|
|
|
# Default command is server
|
|
ARGV.unshift('server') if ARGV[0] != 'help' && (ARGV.empty? || ARGV.first.include?('-'))
|
|
|
|
::Middleman::Logger.singleton(3)
|
|
::Middleman::Cli.config = ::Middleman::Application.new do
|
|
config[:environment] = (ENV['MM_ENV'] || ENV['RACK_ENV'] || 'development').to_sym
|
|
config[:mode] = :config
|
|
config[:exit_before_ready] = true
|
|
config[:watcher_disable] = true
|
|
config[:disable_sitemap] = true
|
|
end.config
|
|
|
|
# Require the Middleman version
|
|
require 'middleman-core/version'
|
|
|
|
# Include the core CLI items
|
|
require 'middleman-cli/init'
|
|
require 'middleman-cli/extension'
|
|
require 'middleman-cli/server'
|
|
require 'middleman-cli/build'
|
|
require 'middleman-cli/console'
|
|
require 'middleman-cli/config'
|
|
|
|
# Support NO_COLOR: https://no-color.org
|
|
ENV['THOR_SHELL'] = 'Basic' if ENV['NO_COLOR']
|
|
|
|
# Start the CLI
|
|
Middleman::Cli::Base.start(ARGV)
|