shithub: hugo

Download patch

ref: c14e7b10d0384bf648f849f40cc6a11d9453c412
parent: d6f81c7346c126d0b321146cbd007a0d6e036019
author: bep <[email protected]>
date: Sun Feb 1 17:05:47 EST 2015

Add 'config' command to list site configuration

Fixes #871

--- a/commands/hugo.go
+++ b/commands/hugo.go
@@ -68,6 +68,7 @@
 func AddCommands() {
 	HugoCmd.AddCommand(serverCmd)
 	HugoCmd.AddCommand(version)
+	HugoCmd.AddCommand(config)
 	HugoCmd.AddCommand(check)
 	HugoCmd.AddCommand(benchmark)
 	HugoCmd.AddCommand(convertCmd)
--- /dev/null
+++ b/commands/list_config.go
@@ -1,0 +1,39 @@
+// Copyright © 2013-14 Steve Francia <[email protected]>.
+//
+// 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])
+		}
+	},
+}