Proper parsing structured array from yaml based FrontMatter

This commit is contained in:
Piotr Kowalczuk 2015-06-25 11:46:09 +02:00 committed by Bjørn Erik Pedersen
parent e764a6e638
commit 29e786aac5

View file

@ -518,11 +518,21 @@ func (p *Page) update(f interface{}) error {
default: // handle array of strings as well
switch vvv := vv.(type) {
case []interface{}:
var a = make([]string, len(vvv))
for i, u := range vvv {
a[i] = cast.ToString(u)
if len(vvv) > 0 {
switch vvv[0].(type) {
case map[interface{}]interface{}: // Proper parsing structured array from yaml based FrontMatter
p.Params[loki] = vvv
default:
a := make([]string, len(vvv))
for i, u := range vvv {
a[i] = cast.ToString(u)
}
p.Params[loki] = a
}
} else {
p.Params[loki] = []string{}
}
p.Params[loki] = a
default:
p.Params[loki] = vv
}