Changeset 21 in code
- Timestamp:
- Aug 29, 2015, 9:43:59 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/zs.go
r20 r21 15 15 "time" 16 16 17 "github.com/eknkc/amber"18 17 "github.com/russross/blackfriday" 19 18 "github.com/yosssi/gcss" 19 "github.com/zserge/amber" 20 20 ) 21 21 … … 50 50 "url": url, 51 51 "output": filepath.Join(PUBDIR, url), 52 "layout": "index.html", 53 } 52 } 53 if _, err := os.Stat(filepath.Join(ZSDIR, "layout.amber")); err == nil { 54 v["layout"] = "layout.amber" 55 } else { 56 v["layout"] = "layout.html" 57 } 58 54 59 if info, err := os.Stat(path); err == nil { 55 60 v["date"] = info.ModTime().Format("02-01-2006") … … 116 121 117 122 if errbuf.Len() > 0 { 118 log.Println( errbuf.String())123 log.Println("ERROR:", errbuf.String()) 119 124 } 120 125 … … 156 161 v["content"] = string(blackfriday.MarkdownBasic([]byte(content))) 157 162 if strings.HasSuffix(v["layout"], ".amber") { 158 return buildAmber(filepath.Join(ZSDIR, v["layout"]), funcs, v) 163 return buildAmber(filepath.Join(ZSDIR, v["layout"]), 164 renameExt(path, "", ".html"), funcs, v) 159 165 } else { 160 return buildPlain(filepath.Join(ZSDIR, v["layout"]), funcs, v) 166 return buildPlain(filepath.Join(ZSDIR, v["layout"]), 167 renameExt(path, "", ".html"), funcs, v) 161 168 } 162 169 } 163 170 164 171 // Renders text file expanding all variable macros inside it 165 func buildPlain( pathstring, funcs template.FuncMap, vars Vars) error {166 b, err := ioutil.ReadFile( path)172 func buildPlain(in, out string, funcs template.FuncMap, vars Vars) error { 173 b, err := ioutil.ReadFile(in) 167 174 if err != nil { 168 175 return err … … 172 179 return err 173 180 } 174 output := filepath.Join(PUBDIR, path)181 output := filepath.Join(PUBDIR, out) 175 182 if s, ok := vars["output"]; ok { 176 183 output = s … … 184 191 185 192 // Renders .amber file into .html 186 func buildAmber( pathstring, funcs template.FuncMap, vars Vars) error {193 func buildAmber(in, out string, funcs template.FuncMap, vars Vars) error { 187 194 a := amber.New() 188 err := a.ParseFile( path)195 err := a.ParseFile(in) 189 196 if err != nil { 190 197 return err … … 195 202 } 196 203 //amber.FuncMap = amber.FuncMap 197 s := strings.TrimSuffix(path, ".amber") + ".html" 198 f, err := os.Create(filepath.Join(PUBDIR, s)) 204 f, err := os.Create(filepath.Join(PUBDIR, out)) 199 205 if err != nil { 200 206 return err … … 271 277 } 272 278 return funcs 279 } 280 281 func renameExt(path, from, to string) string { 282 if from == "" { 283 from = filepath.Ext(path) 284 } 285 return strings.TrimSuffix(path, from) + to 273 286 } 274 287 … … 314 327 } else if ext == ".html" || ext == ".xml" { 315 328 log.Println("html: ", path) 316 return buildPlain(path, funcs, vars)329 return buildPlain(path, path, funcs, vars) 317 330 } else if ext == ".amber" { 318 331 log.Println("html: ", path) 319 return buildAmber(path, funcs, vars)332 return buildAmber(path, renameExt(path, ".amber", ".html"), funcs, vars) 320 333 } else if ext == ".gcss" { 321 334 log.Println("css: ", path) … … 373 386 } 374 387 } else { 375 log.Println( err)388 log.Println("ERROR:", err) 376 389 } 377 390 default: 378 391 err := run(path.Join(ZSDIR, cmd), args, Vars{}, os.Stdout) 379 392 if err != nil { 380 log.Println( err)381 } 382 } 383 } 393 log.Println("ERROR:", err) 394 } 395 } 396 }
Note:
See TracChangeset
for help on using the changeset viewer.