pagr

A 'static site generator', built using dati.
Log | Files | Refs | Atom

commit 71227694331584f2d0958b1c251512438859db14
parent fdc9fbccb2bdd3ab8e71be576a2f68c53edc1066
Author: gearsix <gearsix@tuta.io>
Date:   Tue,  6 Jul 2021 16:09:49 +0100

improved logging

Diffstat:
Mpagr.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) }