diff --git a/internal/glance/config.go b/internal/glance/config.go
index 318367c..7957b67 100644
--- a/internal/glance/config.go
+++ b/internal/glance/config.go
@@ -50,6 +50,7 @@ type config struct {
LogoText string `yaml:"logo-text"`
LogoURL string `yaml:"logo-url"`
FaviconURL string `yaml:"favicon-url"`
+ FaviconType string `yaml:"-"`
AppName string `yaml:"app-name"`
AppIconURL string `yaml:"app-icon-url"`
AppBackgroundColor string `yaml:"app-background-color"`
diff --git a/internal/glance/glance.go b/internal/glance/glance.go
index c568be4..6f5beb2 100644
--- a/internal/glance/glance.go
+++ b/internal/glance/glance.go
@@ -127,11 +127,17 @@ func newApplication(c *config) (*application, error) {
config.Theme.CustomCSSFile = app.resolveUserDefinedAssetPath(config.Theme.CustomCSSFile)
config.Branding.LogoURL = app.resolveUserDefinedAssetPath(config.Branding.LogoURL)
- if config.Branding.FaviconURL == "" {
- config.Branding.FaviconURL = app.StaticAssetPath("favicon.png")
- } else {
- config.Branding.FaviconURL = app.resolveUserDefinedAssetPath(config.Branding.FaviconURL)
- }
+ config.Branding.FaviconURL = ternary(
+ config.Branding.FaviconURL == "",
+ app.StaticAssetPath("favicon.svg"),
+ app.resolveUserDefinedAssetPath(config.Branding.FaviconURL),
+ )
+
+ config.Branding.FaviconType = ternary(
+ strings.HasSuffix(config.Branding.FaviconURL, ".svg"),
+ "image/svg+xml",
+ "image/png",
+ )
if config.Branding.AppName == "" {
config.Branding.AppName = "Glance"
diff --git a/internal/glance/templates/document.html b/internal/glance/templates/document.html
index ce2e9a6..91647f8 100644
--- a/internal/glance/templates/document.html
+++ b/internal/glance/templates/document.html
@@ -21,7 +21,8 @@
-
+
+