commit 71227694331584f2d0958b1c251512438859db14
parent fdc9fbccb2bdd3ab8e71be576a2f68c53edc1066
Author: gearsix <gearsix@tuta.io>
Date: Tue, 6 Jul 2021 16:09:49 +0100
improved logging
Diffstat:
M | pagr.go | | | 27 | ++++++++++++++++++--------- |
1 file changed, 18 insertions(+), 9 deletions(-)
diff --git a/pagr.go b/pagr.go
@@ -13,6 +13,7 @@ import (
const Name = "pagr"
const Version = "0.0.0"
+var cfg string
var verbose bool
func vlog(fmt string, args ...interface{}) {
@@ -31,33 +32,39 @@ func check(err error) {
}
}
-func main() {
- cfg := flag.String("cfg", "", "path to pagr project configuration file")
+func init() {
+ flag.StringVar(&cfg, "cfg", "", "path to pagr project configuration file")
flag.BoolVar(&verbose, "v", false, "print verbose logs")
flag.Parse()
-
vlog("verbose on")
+}
+func main() {
var err error
var config Config
- if len(*cfg) > 0 {
- config, err = NewConfigFromFile(*cfg)
+ if len(cfg) > 0 {
+ config, err = NewConfigFromFile(cfg)
check(err)
+ vlog("config: %s\n", config)
} else {
log.Println("warning: no cfg passed, using defaults")
config = NewConfig()
}
+ log.Printf("loaded config '%s'", cfg)
var c Content
c, err = LoadContentDir(config.Contents)
check(err)
+ log.Printf("loaded %d content pages", len(c))
var t []suti.Template
t, err = LoadTemplateDir(config.Templates)
check(err)
+ log.Printf("loaded %d template files", len(t))
build(config, c, t)
+ log.Println("pagr success")
return
}
@@ -66,13 +73,13 @@ func build(config Config, pages Content, templates []suti.Template) {
var err error
var out bytes.Buffer
+ outc := len(pages)
for _, pg := range pages {
out.Reset()
target := pg.GetTemplate()
for _, t := range templates {
tname := filepath.Base(t.Source)
- tname = strings.TrimSuffix(tname, filepath.Ext(tname))
- if tname == target {
+ if tname == target || strings.TrimSuffix(tname, filepath.Ext(tname)) == target {
if out, err = t.Execute(pg); err != nil {
log.Printf("Execution error in template '%s':\n", target)
check(err)
@@ -80,11 +87,13 @@ func build(config Config, pages Content, templates []suti.Template) {
outp := filepath.Join(config.Output, pg.Path, "index.html")
check(os.MkdirAll(filepath.Dir(outp), 0755))
check(os.WriteFile(outp, out.Bytes(), 0644))
- vlog("wrote '%s' -> '%s'", pg.Path, outp)
+ vlog("-> %s", outp)
}
}
if out.Len() == 0 {
- log.Printf("failed to find template '%s' for '%s'\n", target, pg.Path)
+ log.Printf("warning: skipping '%s', failed to find template '%s'\n", pg.Path, target)
+ outc--
}
}
+ log.Printf("generated %d html files\n", outc)
}