From 2121bb686e548899ce2f72beb2a9350837da1639 Mon Sep 17 00:00:00 2001 From: luxick Date: Fri, 10 Apr 2026 12:49:39 +0200 Subject: [PATCH] Fix last commit --- main.go | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/main.go b/main.go index 77b5651..c3b6f25 100644 --- a/main.go +++ b/main.go @@ -33,7 +33,10 @@ var md = goldmark.New( var tmpl = template.Must(template.New("page.html").ParseFS(assets, "assets/page.html")) type crumb struct{ Name, URL string } -type entry struct{ Icon, Name, URL, Meta string } +type entry struct { + Icon template.HTML + Name, URL, Meta string +} type pageData struct { Title string @@ -193,7 +196,7 @@ func listEntries(fsPath, urlPath string) []entry { entryURL := path.Join(urlPath, name) if e.IsDir() { folders = append(folders, entry{ - Icon: "📁", + Icon: iconFolder, Name: name, URL: entryURL + "/", Meta: info.ModTime().Format("2006-01-02"), @@ -217,23 +220,34 @@ func listEntries(fsPath, urlPath string) []entry { return append(folders, files...) } -func fileIcon(name string) string { +// Pixel-art SVG icons — outlined, crispEdges, uses currentColor. +const ( + iconFolder template.HTML = `` + iconDoc template.HTML = `` + iconImage template.HTML = `` + iconVideo template.HTML = `` + iconAudio template.HTML = `` + iconArchive template.HTML = `` + iconGeneric template.HTML = `` +) + +func fileIcon(name string) template.HTML { ext := strings.ToLower(path.Ext(name)) switch ext { case ".md": - return "📄" + return iconDoc case ".pdf": - return "📕" + return iconDoc case ".png", ".jpg", ".jpeg", ".gif", ".webp", ".svg": - return "🖼" + return iconImage case ".mp4", ".mkv", ".avi", ".mov": - return "🎬" + return iconVideo case ".mp3", ".flac", ".ogg", ".wav": - return "🎵" + return iconAudio case ".zip", ".tar", ".gz", ".7z": - return "📦" + return iconArchive default: - return "📎" + return iconGeneric } }