Mercurial > yakumo_izuru > aya
changeset 39:806ca2102d6b draft
more obvious rules of variable overriding
author | zaitsev.serge |
---|---|
date | Fri, 04 Sep 2015 12:49:56 +0000 |
parents | ea1bcd29a195 |
children | dc090188ecf3 |
files | zs.go |
diffstat | 1 files changed, 13 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/zs.go Wed Sep 02 21:21:50 2015 +0000 +++ b/zs.go Fri Sep 04 12:49:56 2015 +0000 @@ -104,21 +104,23 @@ title := strings.Replace(strings.Replace(path, "_", " ", -1), "-", " ", -1) v["title"] = strings.ToTitle(title) v["description"] = "" + v["file"] = path + v["url"] = path[:len(path)-len(filepath.Ext(path))] + ".html" + v["output"] = filepath.Join(PUBDIR, v["url"]) - // Copy globals (will override title and description for markdown layouts + // Override default values with globals for name, value := range globals { v[name] = value } - // Add default values extracted from file name/path - if _, err := os.Stat(filepath.Join(ZSDIR, "layout.amber")); err == nil { - v["layout"] = "layout.amber" - } else { - v["layout"] = "layout.html" + // Add layout if none is specified + if _, ok := v["layout"]; !ok { + if _, err := os.Stat(filepath.Join(ZSDIR, "layout.amber")); err == nil { + v["layout"] = "layout.amber" + } else { + v["layout"] = "layout.html" + } } - v["file"] = path - v["url"] = path[:len(path)-len(filepath.Ext(path))] + ".html" - v["output"] = filepath.Join(PUBDIR, v["url"]) delim := "\n---\n" if sep := strings.Index(s, delim); sep == -1 { @@ -132,6 +134,7 @@ fmt.Println("ERROR: failed to parse header", err) return nil, "", err } else { + // Override default values + globals with the ones defines in the file for key, value := range vars { v[key] = value } @@ -398,7 +401,7 @@ fmt.Println("var: filename expected") } else { s := "" - if vars, _, err := getVars(args[0], globals()); err != nil { + if vars, _, err := getVars(args[0], Vars{}); err != nil { fmt.Println("var: " + err.Error()) } else { if len(args) > 1 {