Changeset 7 in code
- Timestamp:
- Dec 5, 2014, 6:26:15 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/zs.go
r6 r7 33 33 } 34 34 35 func md(s string) (map[string]string, string) { 36 v := map[string]string{} 35 func md(path, s string) (map[string]string, string) { 36 url := path[:len(path)-len(filepath.Ext(path))] + ".html" 37 v := map[string]string{ 38 "file": path, 39 "url": url, 40 "outdir": PUBDIR, 41 "output": filepath.Join(PUBDIR, url), 42 "layout": "index.html", 43 } 37 44 if strings.Index(s, "\n\n") == -1 { 38 45 return map[string]string{}, s … … 42 49 key, value := split2(line, ":") 43 50 v[strings.ToLower(strings.TrimSpace(key))] = strings.TrimSpace(value) 51 } 52 if strings.HasPrefix(v["url"], "./") { 53 v["url"] = v["url"][2:] 44 54 } 45 55 return v, body … … 129 139 return err 130 140 } 131 v, body := md(string(b)) 132 defaultVars(v, path) 141 v, body := md(path, string(b)) 133 142 content, err := render(body, v, eval) 134 143 if err != nil { … … 149 158 } 150 159 return nil 151 }152 153 func defaultVars(vars map[string]string, path string) {154 if _, ok := vars["file"]; !ok {155 vars["file"] = path156 }157 if _, ok := vars["url"]; !ok {158 vars["url"] = path[:len(path)-len(filepath.Ext(path))] + ".html"159 if strings.HasPrefix(vars["url"], "./") {160 vars["url"] = vars["url"][2:]161 }162 }163 if _, ok := vars["outdir"]; !ok {164 vars["outdir"] = PUBDIR165 }166 if _, ok := vars["output"]; !ok {167 vars["output"] = filepath.Join(PUBDIR, vars["url"])168 }169 if _, ok := vars["layout"]; !ok {170 vars["layout"] = "index.html"171 }172 160 } 173 161 … … 250 238 } 251 239 if b, err := ioutil.ReadFile(args[0]); err == nil { 252 vars, _ := md(string(b)) 253 defaultVars(vars, args[0]) 240 vars, _ := md(args[0], string(b)) 254 241 if len(args) > 1 { 255 242 for _, a := range args[1:] { -
trunk/zs_test.go
r6 r7 33 33 34 34 func TestMD(t *testing.T) { 35 v, body := md( `35 v, body := md("foo.md", ` 36 36 title: Hello, world! 37 37 keywords: foo, bar, baz … … 57 57 58 58 // Test empty md 59 v, body = md(" ")59 v, body = md("foo.md", "") 60 60 if len(v) != 0 || len(body) != 0 { 61 61 t.Error(v, body) … … 63 63 64 64 // Test empty header 65 v, body = md(" Hello")65 v, body = md("foo.md", "Hello") 66 66 if len(v) != 0 || body != "Hello" { 67 67 t.Error(v, body)
Note:
See TracChangeset
for help on using the changeset viewer.