ADDED:
* stringsx.RemoveWhitespace, stringsx.StripWhitespace
This commit is contained in:
brent saner
2026-07-06 16:21:07 -04:00
parent 58556d7281
commit 42c0e48081
5 changed files with 174 additions and 12 deletions
@@ -0,0 +1,99 @@
package main
import (
"embed"
"io"
"io/fs"
// "fmt"
"log"
// "os"
// "path/filepath"
"text/template"
// "github.com/davecgh/go-spew/spew"
)
var (
//go:embed "tplfiles"
tplfiles embed.FS
tpl *template.Template = template.New("")
tw *TplWalker = new(TplWalker)
)
type (
TplWalker struct {
tpl *template.Template
fs fs.FS
}
)
func (t *TplWalker) walkFunc(fpath string, d fs.DirEntry, inErr error) (err error) {
var b []byte
var f fs.File
if inErr != nil {
err = inErr
return
}
if d.IsDir() {
return
}
if f, err = t.fs.Open(fpath); err != nil {
return
}
defer func() {
var ok bool
var c io.Closer
if f != nil {
if c, ok = f.(io.Closer); ok {
if err = c.Close(); err != nil {
return
}
}
}
}()
if b, err = io.ReadAll(f); err != nil {
return
}
if _, err = t.tpl.New(fpath).Parse(string(b)); err != nil {
return
}
return
}
func (t *TplWalker) Walk() (err error) {
if err = fs.WalkDir(t.fs, ".", t.walkFunc); err != nil {
return
}
return
}
func init() {
var err error
tw.tpl = tpl
tw.fs = tplfiles
if err = tw.Walk(); err != nil {
log.Panicln(err)
}
}
func main() {
var idx int
var sub *template.Template
log.Printf("Root template name is %q", tpl.Name())
for idx, sub = range tpl.Templates() {
log.Printf("Sub template %d: %q", idx, sub.Name())
}
}