package html import ( "crypto/sha256" "encoding/hex" "os" "path/filepath" "piekarnikgosi/utils" ) func imageSrcDst(input string) (src, dst string) { src = "img/" + input hash := sha256.Sum256([]byte(input)) dst = "www/images/" + hex.EncodeToString(hash[:])[:16] + ".avif" return src, dst } func processImage(fileName string) string { dst, _ := utils.CopyIfNotExists(imageSrcDst(fileName)) return "/" + dst[4:] } func thumbnailPath(fullPath string) string { ext := filepath.Ext(fullPath) return fullPath[:len(fullPath)-len(ext)] + "_thumb.avif" } templ AvifAlbumImage(srcPath, alt string) { { } func albumImageSrc(srcPath string) string { thumb := thumbnailPath(srcPath) if _, err := os.Stat("img/" + thumb); err == nil { return thumb } return srcPath } templ AvifImage(srcPath, alt string, lazy bool) { { }