summaryrefslogtreecommitdiff
path: root/views/layouts/general-page.html
diff options
from:
to:
context:
space:
mode:
authorGravatar Saya Andy <145215889+SayaAndy@users.noreply.github.com> 2026-03-31 00:54:20 +0700
committerGravatar GitHub <noreply@github.com> 2026-03-31 00:54:20 +0700
commitabc9e2fc1e93fba0b274f31b95340c411a73dd6d (patch)
tree3d0b70016ce8f160203629da07c1a8ae3edff8af /views/layouts/general-page.html
parent8d0385546b0a5f4f3b0832fce1b4c0a10fa0a927 (diff)
parenta8f566cbeb8358aca7fb4532d8b69c513ef197f3 (diff)
downloadweb-0.13.0.tar.gz
web-0.13.0.zip
v0.13.0 (#25)v0.13.0
- [feat: enable etag middleware](https://github.com/SayaAndy/saya-today-web/commit/c7742b341a46360d16dd9035c046f004d0fe760c) - feat: enable compress middleware - feat: trim end slash of each request url (except for root) - [feat: add linked data](https://github.com/SayaAndy/saya-today-web/commit/a8f566cbeb8358aca7fb4532d8b69c513ef197f3) - [feat: build sitemap.xml](https://github.com/SayaAndy/saya-today-web/commit/7a40c01dd14f04787f5052d0c89e0d6fb9ce597f) - [feat: generate robots.txt](https://github.com/SayaAndy/saya-today-web/commit/be906e1cc4ec3e92bcb14ee08256b53f3a4b44e2) - [feat: specify canonical hrefs for each page](https://github.com/SayaAndy/saya-today-web/commit/a0ace41ad3b0f4661e98d8fa8ef254369cc80d1e) - [feat: use semantic html tags for pages](https://github.com/SayaAndy/saya-today-web/commit/2bcf8ee39555ea98be309b85547c797b0d172b84) - feat: specify more meta properties for search engines - fix: correct user and catalogue meta - format: specify og property names in property field - feat: user profile description
Diffstat (limited to 'views/layouts/general-page.html')
-rw-r--r--views/layouts/general-page.html31
1 files changed, 21 insertions, 10 deletions
diff --git a/views/layouts/general-page.html b/views/layouts/general-page.html
index 3f5bcfd..7167d12 100644
--- a/views/layouts/general-page.html
+++ b/views/layouts/general-page.html
@@ -3,13 +3,24 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- {{- range $k, $v := .Meta }}
- <meta name="{{ $k }}" content="{{ $v }}">
+ {{- range .Meta }}
+ <meta {{with .Name}}name="{{.}}" {{end}}{{with .Property}}property="{{.}}" {{end}}{{with .Content}}content="{{.}}"{{end}}>
+ {{- if eq .Property "og:description" }}
+ <meta name="description" href="{{.Content}}">
+ {{- end }}
+ {{- if eq .Property "og:url" }}
+ <link rel="canonical" href="{{.Content}}">
+ {{- end }}
{{- end }}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css">
<link rel="stylesheet" href="https://f003.backblazeb2.com/file/sayana-static/libs/leaflet/1.9.4/leaflet.css">
<link rel="stylesheet" href="https://f003.backblazeb2.com/file/sayana-static/libs/glightbox/3.3.0/css/glightbox.min.css">
<link href="/output.css" rel="stylesheet">
+ {{- with .LinkedData }}
+ <script type="application/ld+json">
+ {{ . }}
+ </script>
+ {{- end }}
</head>
<body data-theme="ram" class="font-andika text-main-hard overflow-hidden bg-interlocked-hexagons h-dvh flex flex-row">
@@ -180,7 +191,7 @@
flex-row sticky w-dvw h-fit xs:w-[90dvw]
sm:left-0 sm:flex-col sm:fixed sm:w-fit
z-20 shadow-[0_0_1rem_black]">
- <div class="text-[3rem] flex flex-row sm:flex-col gap-0 relative z-20">
+ <nav aria-label="Main navigation" class="text-[3rem] flex flex-row sm:flex-col gap-0 relative z-20">
<a onclick="return changeUrl('/../', true);" href="./" id="sidebar-back-button" class="themed-button themed-button-sidebar w-fit h-fit hidden" draggable="false">
<i class="fas fa-circle-left flex w-18 h-18 content-center text-center text-sidebar"></i>
</a>
@@ -199,7 +210,7 @@
<a onclick="return changeUrl('/{{ .Lang }}/user');" href="/{{ .Lang }}/user" id="sidebar-user-button" class="themed-button themed-button-sidebar w-fit h-fit hidden" draggable="false">
<i class="fas fa-user flex w-18 h-18 content-center text-center text-sidebar"></i>
</a>
- </div>
+ </nav>
<div class="theme-wheel" id="theme-wheel">
<div class="theme-icon" data-theme="olive"></div>
<div class="theme-icon" data-theme="lettuce"></div>
@@ -247,21 +258,21 @@
<div class="bg-background-dark border-r-2 border-dashed border-main-hard"></div>
<div class="max-h-full max-w-full flex flex-col grow bg-background-dark relative pt-4 ml-8 pr-4">
- <div id="general-page-header" class="max-xs:hidden [@media(max-height:32rem)]:hidden flex flex-col basis-8"
+ <header id="general-page-header" class="max-xs:hidden [@media(max-height:32rem)]:hidden flex flex-col basis-8"
hx-get="/api/v1/general-page/header{{ if .QueryString }}?{{ .QueryString }}{{ end }}" hx-trigger="load" hx-target="this" hx-swap="innerHTML">
- </div>
+ </header>
<div id="general-page-header-trigger" hx-get="/api/v1/general-page/header{{ if .QueryString }}?{{ .QueryString }}{{ end }}" hx-trigger="popstate from:window" hx-target="#general-page-header" hx-swap="innerHTML"></div>
<hr class="max-xs:hidden [@media(max-height:32rem)]:hidden border-t-4 border-dotted border-main-hard mb-2">
- <div id="general-page-body" class="relative flex flex-col grow overflow-y-auto"
+ <main id="general-page-body" class="relative flex flex-col grow overflow-y-auto"
hx-get="/api/v1/general-page/body{{ if .QueryString }}?{{ .QueryString }}{{ end }}" hx-trigger="load" hx-target="this" hx-swap="innerHTML">
- </div>
+ </main>
<div id="general-page-body-trigger" hx-get="/api/v1/general-page/body{{ if .QueryString }}?{{ .QueryString }}{{ end }}" hx-trigger="popstate from:window" hx-target="#general-page-body" hx-swap="innerHTML"></div>
- <div id="general-page-footer" class="flex flex-row basis-4 my-1"
+ <footer id="general-page-footer" class="flex flex-row basis-4 my-1"
hx-get="/api/v1/general-page/footer{{ if .QueryString }}?{{ .QueryString }}{{ end }}" hx-trigger="load" hx-target="this" hx-swap="innerHTML">
- </div>
+ </footer>
<div id="general-page-footer-trigger" hx-get="/api/v1/general-page/footer{{ if .QueryString }}?{{ .QueryString }}{{ end }}" hx-trigger="popstate from:window" hx-target="#general-page-footer" hx-swap="innerHTML"></div>
<hr class="border-t-4 border-dotted border-main-hard mb-2">