package pgit import ( "html/template" "os" "path/filepath" ) func (c *Config) WriteHTML(writeData *WriteData) { ts, err := template.ParseFS( EmbedFS, writeData.Template, "html/header.partial.tmpl", "html/footer.partial.tmpl", "html/base.layout.tmpl", ) Bail(err) dir := filepath.Join(c.Outdir, writeData.Subdir) err = os.MkdirAll(dir, os.ModePerm) Bail(err) fp := filepath.Join(dir, writeData.Filename) c.Logger.Debug("writing", "filepath", fp) w, err := os.OpenFile(fp, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644) Bail(err) err = ts.Execute(w, writeData.Data) Bail(err) } func (c *Config) CopyStatic(dir string) error { entries, err := StaticFS.ReadDir(dir) Bail(err) for _, e := range entries { infp := filepath.Join(dir, e.Name()) if e.IsDir() { continue } w, err := StaticFS.ReadFile(infp) Bail(err) fp := filepath.Join(c.Outdir, e.Name()) c.Logger.Debug("writing", "filepath", fp) err = os.WriteFile(fp, w, 0644) Bail(err) } return nil }