diff --git a/docs/configuration.md b/docs/configuration.md index e3781af..ea8c76e 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -356,7 +356,7 @@ pages: ### Properties | Name | Type | Required | Default | | ---- | ---- | -------- | ------- | -| title | string | yes | | +| name | string | yes | | | slug | string | no | | | width | string | no | | | center-vertically | boolean | no | false | @@ -374,7 +374,7 @@ The URL friendly version of the title which is used to access the page. For exam #### `width` The maximum width of the page on desktop. Possible values are `slim` and `wide`. -* default: `1600px` +* default: `1600px` (when no value is specified) * slim: `1100px` * wide: `1920px` diff --git a/docs/images/themes/gruvbox.png b/docs/images/themes/gruvbox.png new file mode 100644 index 0000000..2e5b7a9 Binary files /dev/null and b/docs/images/themes/gruvbox.png differ diff --git a/docs/themes.md b/docs/themes.md index b4185db..285b032 100644 --- a/docs/themes.md +++ b/docs/themes.md @@ -53,6 +53,16 @@ theme: primary-color: 97 13 80 ``` +### Gruvbox Dark +![screenshot](images/themes/gruvbox.png) +```yaml +theme: + background-color: 0 0 16 + primary-color: 43 59 81 + positive-color: 61 66 44 + negative-color: 6 96 59 +``` + ### Kanagawa Dark ![screenshot](images/themes/kanagawa-dark.png) ```yaml diff --git a/internal/glance/glance.go b/internal/glance/glance.go index b1fcc37..8fb3e40 100644 --- a/internal/glance/glance.go +++ b/internal/glance/glance.go @@ -68,7 +68,7 @@ func newApplication(config *config) (*application, error) { for w := range column.Widgets { widget := column.Widgets[w] - app.widgetByID[widget.id()] = widget + app.widgetByID[widget.GetID()] = widget widget.setProviders(providers) } diff --git a/internal/glance/static/js/main.js b/internal/glance/static/js/main.js index a10804e..dcd8946 100644 --- a/internal/glance/static/js/main.js +++ b/internal/glance/static/js/main.js @@ -284,7 +284,9 @@ function setupGroups() { for (let i = 0; i < titles.length; i++) { titles[i].classList.remove("widget-group-title-current"); + titles[i].setAttribute("aria-selected", "false"); tabs[i].classList.remove("widget-group-content-current"); + tabs[i].setAttribute("aria-hidden", "true"); } if (current < t) { @@ -296,7 +298,9 @@ function setupGroups() { current = t; title.classList.add("widget-group-title-current"); + title.setAttribute("aria-selected", "true"); tabs[t].classList.add("widget-group-content-current"); + tabs[t].setAttribute("aria-hidden", "false"); }); } } @@ -670,6 +674,7 @@ async function setupPage() { setupLazyImages(); } finally { pageElement.classList.add("content-ready"); + pageElement.setAttribute("aria-busy", "false"); for (let i = 0; i < contentReadyCallbacks.length; i++) { contentReadyCallbacks[i](); diff --git a/internal/glance/static/main.css b/internal/glance/static/main.css index a271d4a..c9c3c17 100644 --- a/internal/glance/static/main.css +++ b/internal/glance/static/main.css @@ -110,7 +110,7 @@ .visited-indicator:not(.text-truncate)::after, .visited-indicator.text-truncate::before, .bookmarks-link:not(.bookmarks-link-no-arrow)::after { - content: '↗'; + content: '↗' / ""; margin-left: 0.5em; display: inline-block; position: relative; @@ -189,7 +189,7 @@ } .expand-toggle-button-icon::before { - content: ''; + content: '' / ""; font-size: 0.8rem; transform: rotate(90deg); line-height: 1; @@ -341,6 +341,19 @@ html, body, .body-content { height: 100%; } +h1, h2, h3, h4, h5 { + font: inherit; +} + +.visually-hidden { + clip-path: inset(50%); + height: 1px; + overflow: hidden; + position: absolute; + white-space: nowrap; + width: 1px; +} + a { text-decoration: none; color: inherit; @@ -563,7 +576,7 @@ kbd:active { } .summary::after { - content: "◀"; + content: "◀" / ""; font-size: 1.2em; position: absolute; top: 0; @@ -822,7 +835,7 @@ details[open] .summary::after { } .list-horizontal-text > *:not(:last-child)::after { - content: '•'; + content: '•' / ""; color: var(--color-text-subdue); margin: 0 0.4rem; position: relative; diff --git a/internal/glance/templates/dns-stats.html b/internal/glance/templates/dns-stats.html index 8128edf..feb90f9 100644 --- a/internal/glance/templates/dns-stats.html +++ b/internal/glance/templates/dns-stats.html @@ -76,7 +76,7 @@ Top blocked domains