shithub: hugo

Download patch

ref: 8cc7684a91f6c83f0f68024deb9f98b330911d2f
parent: f3e9cbc7bd105ff63f1abcec9e1daf9411473c5c
author: Austin Ziegler <[email protected]>
date: Fri Oct 31 19:58:14 EDT 2014

Change the type of .Site.Author from…

…`map[string]string` to `map[string]interface{}`.

This allows values other than `string` values to be saved to Author,
such as:

    ```toml
    # config.toml
    …
    [Author]
      name = "Austin Ziegler"
      social-site = [ "Facebook", "Twitter", "GitHub" ]
    ```

My specific use-case is that I’m trying to make something work similar
whether it’s specified in `.Params.Author` or in `.Site.Author` without
introducing `.Site.Params.Author`.

--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -88,7 +88,7 @@
 	Recent          *Pages // legacy, should be identical to Pages
 	Menus           *Menus
 	Title           string
-	Author          map[string]string
+	Author          map[string]interface{}
 	LanguageCode    string
 	DisqusShortname string
 	Copyright       string
@@ -279,7 +279,7 @@
 	s.Info = SiteInfo{
 		BaseUrl:         template.URL(helpers.SanitizeUrl(viper.GetString("BaseUrl"))),
 		Title:           viper.GetString("Title"),
-		Author:          viper.GetStringMapString("author"),
+		Author:          viper.GetStringMap("author"),
 		LanguageCode:    viper.GetString("languagecode"),
 		Copyright:       viper.GetString("copyright"),
 		DisqusShortname: viper.GetString("DisqusShortname"),