v1.16.10
ADDED: * stringsx.RemoveWhitespace, stringsx.StripWhitespace
This commit is contained in:
@@ -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())
|
||||
}
|
||||
}
|
||||
@@ -636,7 +636,7 @@ pre.rouge .gs {
|
||||
<div class="details">
|
||||
<span id="author" class="author">Brent Saner</span><br>
|
||||
<span id="email" class="email"><a href="mailto:bts@square-r00t.net">bts@square-r00t.net</a></span><br>
|
||||
<span id="revdate">Last rendered 2026-06-22 18:51:24 -0400</span>
|
||||
<span id="revdate">Last rendered 2026-07-06 16:21:08 -0400</span>
|
||||
</div>
|
||||
<div id="toc" class="toc2">
|
||||
<div id="toctitle">Table of Contents</div>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
<span id="author" class="author">Brent Saner</span>
|
||||
<span id="email" class="email"><bts@square-r00t.net></span>
|
||||
<span id="revdate">Last rendered 2026-06-22 18:51:29 -0400</span>
|
||||
<span id="revdate">Last rendered 2026-07-06 16:21:13 -0400</span>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user