From 50bf848ee8f77d5ea5f7aa419108b2ba3dba2dc4 Mon Sep 17 00:00:00 2001 From: Thomas Reynolds Date: Mon, 17 Aug 2015 10:48:56 -0700 Subject: [PATCH] Add config CLI command --- middleman-cli/lib/middleman-cli.rb | 1 + middleman-cli/lib/middleman-cli/config.rb | 33 +++++++++++++++++++ .../middleman-core/extensions/asset_hash.rb | 1 + 3 files changed, 35 insertions(+) create mode 100644 middleman-cli/lib/middleman-cli/config.rb diff --git a/middleman-cli/lib/middleman-cli.rb b/middleman-cli/lib/middleman-cli.rb index 67565f3e..83b95d30 100644 --- a/middleman-cli/lib/middleman-cli.rb +++ b/middleman-cli/lib/middleman-cli.rb @@ -31,3 +31,4 @@ require 'middleman-cli/extension' require 'middleman-cli/server' require 'middleman-cli/build' require 'middleman-cli/console' +require 'middleman-cli/config' diff --git a/middleman-cli/lib/middleman-cli/config.rb b/middleman-cli/lib/middleman-cli/config.rb new file mode 100644 index 00000000..b5b64064 --- /dev/null +++ b/middleman-cli/lib/middleman-cli/config.rb @@ -0,0 +1,33 @@ +# 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' + + opts = { + environment: options['environment'] + } + + app = ::Middleman::Application.new do + 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 diff --git a/middleman-core/lib/middleman-core/extensions/asset_hash.rb b/middleman-core/lib/middleman-core/extensions/asset_hash.rb index 07d58234..bb1389e9 100644 --- a/middleman-core/lib/middleman-core/extensions/asset_hash.rb +++ b/middleman-core/lib/middleman-core/extensions/asset_hash.rb @@ -1,5 +1,6 @@ require 'addressable/uri' require 'middleman-core/util' +require 'middleman-core/rack' class Middleman::Extensions::AssetHash < ::Middleman::Extension option :exts, %w(.jpg .jpeg .png .gif .webp .js .css .otf .woff .woff2 .eot .ttf .svg), 'List of extensions that get asset hashes appended to them.'