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
}