Changeset 40 in code


Ignore:
Timestamp:
Sep 4, 2015, 12:49:56 PM (10 years ago)
Author:
zaitsev.serge
Message:

more obvious rules of variable overriding

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/zs.go

    r37 r40  
    105105        v["title"] = strings.ToTitle(title)
    106106        v["description"] = ""
    107 
    108         // Copy globals (will override title and description for markdown layouts
    109         for name, value := range globals {
    110                 v[name] = value
    111         }
    112 
    113         // Add default values extracted from file name/path
    114         if _, err := os.Stat(filepath.Join(ZSDIR, "layout.amber")); err == nil {
    115                 v["layout"] = "layout.amber"
    116         } else {
    117                 v["layout"] = "layout.html"
    118         }
    119107        v["file"] = path
    120108        v["url"] = path[:len(path)-len(filepath.Ext(path))] + ".html"
    121109        v["output"] = filepath.Join(PUBDIR, v["url"])
     110
     111        // Override default values with globals
     112        for name, value := range globals {
     113                v[name] = value
     114        }
     115
     116        // Add layout if none is specified
     117        if _, ok := v["layout"]; !ok {
     118                if _, err := os.Stat(filepath.Join(ZSDIR, "layout.amber")); err == nil {
     119                        v["layout"] = "layout.amber"
     120                } else {
     121                        v["layout"] = "layout.html"
     122                }
     123        }
    122124
    123125        delim := "\n---\n"
     
    133135                        return nil, "", err
    134136                } else {
     137                        // Override default values + globals with the ones defines in the file
    135138                        for key, value := range vars {
    136139                                v[key] = value
     
    399402                } else {
    400403                        s := ""
    401                         if vars, _, err := getVars(args[0], globals()); err != nil {
     404                        if vars, _, err := getVars(args[0], Vars{}); err != nil {
    402405                                fmt.Println("var: " + err.Error())
    403406                        } else {
Note: See TracChangeset for help on using the changeset viewer.