tijl.dev-core/internal/assets/svg.go

44 lines
787 B
Go
Raw Normal View History

2024-08-19 22:32:43 +02:00
package assets
import (
"html/template"
"os"
"path/filepath"
"strings"
2024-08-20 13:35:49 +02:00
log "github.com/sirupsen/logrus"
2024-08-19 22:32:43 +02:00
)
var SVGData map[string]string
2024-08-20 13:35:49 +02:00
func loadSVGs() {
2024-08-19 22:32:43 +02:00
SVGData = make(map[string]string)
dir := "static/assets"
files, err := filepath.Glob(filepath.Join(dir, "*.svg"))
if err != nil {
log.Fatalf("Error loading SVG files: %v", err)
}
for _, file := range files {
data, err := os.ReadFile(file)
if err != nil {
2024-08-20 13:35:49 +02:00
log.Warnf("Error reading SVG file %s: %v", file, err)
2024-08-19 22:32:43 +02:00
continue
}
filename := filepath.Base(file)
key := strings.TrimSuffix(filename, filepath.Ext(filename))
SVGData[key] = string(data)
}
2024-08-20 13:35:49 +02:00
log.Debug("Loaded SVG files")
2024-08-19 22:32:43 +02:00
}
func Svg(name string) template.HTML {
if svg, ok := SVGData[name]; ok {
return template.HTML(svg)
}
return ""
}