From c14e7b10d0384bf648f849f40cc6a11d9453c412 Mon Sep 17 00:00:00 2001 From: bep Date: Sun, 1 Feb 2015 22:05:47 +0100 Subject: [PATCH] Add 'config' command to list site configuration Fixes #871 --- commands/hugo.go | 1 + commands/list_config.go | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 commands/list_config.go diff --git a/commands/hugo.go b/commands/hugo.go index 747a4b40e..62f5f3d01 100644 --- a/commands/hugo.go +++ b/commands/hugo.go @@ -68,6 +68,7 @@ func Execute() { func AddCommands() { HugoCmd.AddCommand(serverCmd) HugoCmd.AddCommand(version) + HugoCmd.AddCommand(config) HugoCmd.AddCommand(check) HugoCmd.AddCommand(benchmark) HugoCmd.AddCommand(convertCmd) diff --git a/commands/list_config.go b/commands/list_config.go new file mode 100644 index 000000000..02c5d6957 --- /dev/null +++ b/commands/list_config.go @@ -0,0 +1,39 @@ +// Copyright © 2013-14 Steve Francia . +// +// Licensed under the Simple Public License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://opensource.org/licenses/Simple-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License.Print the version number of Hug + +package commands + +import ( + "fmt" + "github.com/spf13/cobra" + "github.com/spf13/viper" + "sort" +) + +var config = &cobra.Command{ + Use: "config", + Short: "Print the site configuration", + Long: `Print the site configuration, both default and custom settings`, + Run: func(cmd *cobra.Command, args []string) { + InitializeConfig() + allSettings := viper.AllSettings() + var keys []string + for k := range allSettings { + keys = append(keys, k) + } + sort.Strings(keys) + for _, k := range keys { + fmt.Printf("%s: %+v\n", k, allSettings[k]) + } + }, +}