From 7a5e184610c5d3291ac547349934d5b58f2f0915 Mon Sep 17 00:00:00 2001 From: Henrique Dias Date: Tue, 15 Sep 2015 21:28:54 +0100 Subject: [PATCH] fix settings error --- frontmatter/frontmatter.go | 2 ++ settings/settings.go | 19 ++++++++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/frontmatter/frontmatter.go b/frontmatter/frontmatter.go index 67a70eb2..f619eff9 100644 --- a/frontmatter/frontmatter.go +++ b/frontmatter/frontmatter.go @@ -30,6 +30,8 @@ func rawToPretty(config interface{}, master string, parent string) interface{} { if utils.IsSlice(config) { settings := make([]interface{}, len(config.([]interface{}))) + // TODO: improve this function + for index, element := range config.([]interface{}) { c := new(frontmatter) c.Name = master diff --git a/settings/settings.go b/settings/settings.go index 8046b8f1..cc413f9a 100644 --- a/settings/settings.go +++ b/settings/settings.go @@ -13,10 +13,6 @@ import ( "github.com/spf13/hugo/commands" ) -type test struct { - Test string -} - // Execute the page func Execute(w http.ResponseWriter, r *http.Request) (int, error) { language := getConfigFrontMatter() @@ -62,7 +58,7 @@ func Execute(w http.ResponseWriter, r *http.Request) (int, error) { return 500, err } - f, err := frontmatter.Pretty(content) + f, err := frontmatter.Pretty(appendFrontMatterRune(content, language)) if err != nil { log.Print(err) @@ -94,3 +90,16 @@ func getConfigFrontMatter() string { return frontmatter } + +func appendFrontMatterRune(frontmatter []byte, language string) []byte { + switch language { + case "yaml": + return []byte("---\n" + string(frontmatter) + "\n---") + case "toml": + return []byte("+++\n" + string(frontmatter) + "\n+++") + case "json": + return frontmatter + } + + return frontmatter +}