diff --git a/main.go b/main.go
index ec4c058..7c6c48a 100644
--- a/main.go
+++ b/main.go
@@ -21,7 +21,7 @@ import (
var (
//go:embed private/*
privateDirectory embed.FS
- serveHash = fmt.Sprintf("%x", time.Now().Unix())
+ serveHash = fmt.Sprintf("%X", time.Now().Unix())
serveDirectory = os.Getenv("HTTP_DIRECTORY")
serveAddress = os.Getenv("HTTP_ADDRESS")
tmpl = template.Must(
@@ -83,32 +83,33 @@ func getEntrySizeHuman(b int64) string {
func getEntryIcon(name string, isDir bool) string {
if isDir {
- return "icon_folder.png"
+ return "icon-directory"
}
switch strings.ToLower(path.Ext(name)) {
// Custom Filetypes
case ".redir":
- return "icon_redirect.png"
+ return "icon-redirect"
// Default Filetypes
case ".mp3", ".flac", ".ogg", ".wav", ".aac", ".opus", ".m4a":
- return "icon_audio.png"
+ return "icon-audio"
case ".mp4", ".mkv", ".webm", ".avi", ".mov", ".m4v":
- return "icon_video.png"
+ return "icon-video"
case ".jpg", ".jpeg", ".png", ".gif", ".webp", ".avif", ".bmp", ".tiff":
- return "icon_photo.png"
+ return "icon-photo"
case ".zip", ".tar", ".gz", ".7z", ".rar", ".zst", ".xz", ".bz2":
- return "icon_archive.png"
+ return "icon-archive"
case ".exe", ".elf", ".bin", ".out", ".appimage", ".deb", ".rpm":
- return "icon_program.png"
+ return "icon-program"
case ".pdf", ".txt", ".md", ".srt", ".vtt", ".ass", ".log":
- return "icon_document.png"
+ return "icon-document"
case ".html", ".ts", ".js", ".go", ".rs", ".pug":
- return "icon_script.png"
+ return "icon-script"
case ".json", ".xml", ".yaml", ".toml", ".ini", ".cfg":
- return "icon_config.png"
+ return "icon-config"
+
default:
- return "icon_generic.png"
+ return "icon-generic"
}
}
diff --git a/private/directory.html b/private/directory.html
index aef3112..c369886 100644
--- a/private/directory.html
+++ b/private/directory.html
@@ -8,12 +8,16 @@
Browser: {{ .Path }}
@@ -45,20 +49,20 @@
{{ if .Parent }}
-
+
../
{{ end }}
{{ range .Item }}
{{ if .IsDir }}
-
-
+
+
{{ .Name }}
{{ else }}
-
-
+
+
{{ .Name }}
{{ end }}
diff --git a/private/icon_archive.png b/private/icon_archive.png
deleted file mode 100644
index 729e8e2..0000000
Binary files a/private/icon_archive.png and /dev/null differ
diff --git a/private/icon_audio.png b/private/icon_audio.png
deleted file mode 100644
index 82e9e8f..0000000
Binary files a/private/icon_audio.png and /dev/null differ
diff --git a/private/icon_config.png b/private/icon_config.png
deleted file mode 100644
index 7b46843..0000000
Binary files a/private/icon_config.png and /dev/null differ
diff --git a/private/icon_document.png b/private/icon_document.png
deleted file mode 100644
index d57f5d4..0000000
Binary files a/private/icon_document.png and /dev/null differ
diff --git a/private/icon_folder.png b/private/icon_folder.png
deleted file mode 100644
index 136be6a..0000000
Binary files a/private/icon_folder.png and /dev/null differ
diff --git a/private/icon_folder_open.png b/private/icon_folder_open.png
deleted file mode 100644
index 5852574..0000000
Binary files a/private/icon_folder_open.png and /dev/null differ
diff --git a/private/icon_generic.png b/private/icon_generic.png
deleted file mode 100644
index 0cf0ebb..0000000
Binary files a/private/icon_generic.png and /dev/null differ
diff --git a/private/icon_grid.png b/private/icon_grid.png
new file mode 100644
index 0000000..6b9bc66
Binary files /dev/null and b/private/icon_grid.png differ
diff --git a/private/icon_photo.png b/private/icon_photo.png
deleted file mode 100644
index dd2e0f7..0000000
Binary files a/private/icon_photo.png and /dev/null differ
diff --git a/private/icon_program.png b/private/icon_program.png
deleted file mode 100644
index 4660f9a..0000000
Binary files a/private/icon_program.png and /dev/null differ
diff --git a/private/icon_redirect.png b/private/icon_redirect.png
deleted file mode 100644
index 3370282..0000000
Binary files a/private/icon_redirect.png and /dev/null differ
diff --git a/private/icon_script.png b/private/icon_script.png
deleted file mode 100644
index 7e80da6..0000000
Binary files a/private/icon_script.png and /dev/null differ
diff --git a/private/icon_video.png b/private/icon_video.png
deleted file mode 100644
index 34d2d41..0000000
Binary files a/private/icon_video.png and /dev/null differ
diff --git a/private/styles.css b/private/styles.css
index 9cb59b0..703593f 100644
--- a/private/styles.css
+++ b/private/styles.css
@@ -1,3 +1,5 @@
+/* Layout */
+
body {
margin: 0;
}
@@ -26,13 +28,11 @@ div.foreground {
}
div.pattern {
- background: url("/private/bg_pattern.png?v={{ .Version }}");
background-repeat: repeat-x;
height: 152px;
}
div.graphic {
- background: url("/private/bg_graphic.png?v={{ .Version }}");
width: 256px;
height: 259px;
position: absolute;
@@ -56,12 +56,6 @@ div.directory {
flex-wrap: wrap;
}
-a.entry[data-type="directory"] div.icon {
- background-size: 32px 32px;
- height: 32px;
- width: 32px;
-}
-
a.entry {
display: inline-flex;
flex-direction: column;
@@ -73,7 +67,7 @@ a.entry {
color: inherit;
}
-a.entry img.icon {
+a.entry div.icon {
height: 32px;
width: 32px;
}
@@ -87,7 +81,6 @@ a.entry span.filename {
}
@media (max-width: 600px) {
-
a.entry {
padding: 4px;
width: 100%;
@@ -96,14 +89,57 @@ a.entry span.filename {
gap: 8px;
}
- a.entry img.icon,
- a.entry[data-type="directory"] div.icon {
- background-size: 1em 1em;
- height: 1em;
- width: 1em;
- }
-
a.entry span.filename {
font-size: 1em;
}
}
+
+/* Icons */
+
+.icon-archive {
+ background-position: 0 0;
+}
+
+.icon-audio {
+ background-position: -32px 0;
+}
+
+.icon-config {
+ background-position: -64px 0;
+}
+
+.icon-document {
+ background-position: -96px 0;
+}
+
+a.entry[data-type="directory"] .icon-directory {
+ background-position: 0 -32px;
+}
+
+a.entry[data-type="directory"]:hover .icon-directory {
+ background-position: -32px -32px;
+}
+
+.icon-generic {
+ background-position: -64px -32px;
+}
+
+.icon-photo {
+ background-position: -96px -32px;
+}
+
+.icon-program {
+ background-position: 0 -64px;
+}
+
+.icon-redirect {
+ background-position: -32px -64px;
+}
+
+.icon-script {
+ background-position: -64px -64px;
+}
+
+.icon-video {
+ background-position: -96px -64px;
+}