diff --git a/docs/configuration.md b/docs/configuration.md
index a0ff491..0d90c9d 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -2057,6 +2057,7 @@ An array of groups which can optionally have a title and a custom color.
| ---- | ---- | -------- | ------- |
| title | string | yes | |
| url | string | yes | |
+| description | string | no | |
| icon | string | no | |
| same-tab | boolean | no | false |
| hide-arrow | boolean | no | false |
diff --git a/internal/glance/templates/bookmarks.html b/internal/glance/templates/bookmarks.html
index f247bdb..1952cdb 100644
--- a/internal/glance/templates/bookmarks.html
+++ b/internal/glance/templates/bookmarks.html
@@ -2,22 +2,29 @@
{{ define "widget-content" }}
- {{ range .Groups }}
+ {{- range .Groups }}
- {{ if ne .Title "" }}
{{ .Title }}
{{ end }}
+ {{- if ne .Title "" }}
+
{{ .Title }}
+ {{- end }}
- {{ range .Links }}
- -
- {{ if ne "" .Icon.URL }}
-
-

+ {{- range .Links }}
+
-
+
+ {{- if ne "" .Icon.URL }}
+
+

+
+ {{- end }}
+
{{ .Title }}
- {{ end }}
- {{ .Title }}
+ {{- if .Description }}
+ {{ .Description }}
+ {{- end }}
- {{ end }}
+ {{- end }}
- {{ end }}
+ {{- end }}
{{ end }}
diff --git a/internal/glance/widget-bookmarks.go b/internal/glance/widget-bookmarks.go
index 4f3d26e..2245e2e 100644
--- a/internal/glance/widget-bookmarks.go
+++ b/internal/glance/widget-bookmarks.go
@@ -16,9 +16,10 @@ type bookmarksWidget struct {
HideArrow bool `yaml:"hide-arrow"`
Target string `yaml:"target"`
Links []struct {
- Title string `yaml:"title"`
- URL string `yaml:"url"`
- Icon customIconField `yaml:"icon"`
+ Title string `yaml:"title"`
+ URL string `yaml:"url"`
+ Description string `yaml:"description"`
+ Icon customIconField `yaml:"icon"`
// we need a pointer to bool to know whether a value was provided,
// however there's no way to dereference a pointer in a template so
// {{ if not .SameTab }} would return true for any non-nil pointer