Files
trpic/web/web.go
Hubert Chen c6483826b1 refactor
allow load web files from embed fs
move config variable
2026-02-22 20:08:25 +08:00

42 lines
619 B
Go

package web
import (
"embed"
"io/fs"
"path"
)
//go:embed assets scripts styles templates
var webFS embed.FS
var FS fs.FS
func init() {
FS = prefixFS{root: "web", fs: webFS}
}
type prefixFS struct {
root string
fs fs.FS
}
func (p prefixFS) Open(name string) (fs.File, error) {
clean := path.Clean(name)
if clean == p.root {
return p.fs.Open(".")
}
return p.fs.Open(clean[len(p.root + "/"):])
}
func (p prefixFS) ReadDir(name string) ([]fs.DirEntry, error) {
clean := path.Clean(name)
if clean == p.root {
return fs.ReadDir(p.fs, ".")
}
return fs.ReadDir(p.fs, clean[len(p.root + "/"):])
}