middleman/middleman-cli/lib/middleman-cli/config.rb

42 lines
1.1 KiB
Ruby
Raw Normal View History

2015-08-17 19:48:56 +02:00
# CLI Module
module Middleman::Cli
# The CLI Config class
class Config < Thor::Group
include Thor::Actions
check_unknown_options!
class_option :environment,
aliases: '-e',
default: ENV['MM_ENV'] || ENV['RACK_ENV'] || 'development',
desc: 'The environment Middleman will run under'
def console
require 'json'
require 'middleman-core'
require 'middleman-core/logger'
2015-08-17 19:48:56 +02:00
opts = {
environment: options['environment']
}
# Don't output info messages
::Middleman::Logger.singleton(2, false)
2015-08-17 19:48:56 +02:00
app = ::Middleman::Application.new do
config[:mode] = :config
2016-03-17 21:23:36 +01:00
config[:disable_sitemap] = true
config[:watcher_disable] = true
config[:exit_before_ready] = true
2015-08-17 19:48:56 +02:00
config[:environment] = opts[:environment].to_sym if opts[:environment]
end
puts JSON.pretty_generate(app.config.to_h)
app.shutdown!
end
# Add to CLI
Base.register(self, 'config', 'config [options]', 'Output a Middleman configuration in JSON format')
end
end