Diffstat (limited to 'views')
| -rw-r--r-- | views/layouts/general-page.html | 4 | ||||
| -rw-r--r-- | views/pages/blog-catalogue.html | 5 | ||||
| -rw-r--r-- | views/pages/blog-page.html | 7 | ||||
| -rw-r--r-- | views/pages/global-map.html | 27 | ||||
| -rw-r--r-- | views/pages/home-page.html | 6 | ||||
| -rw-r--r-- | views/pages/language-pick.html | 5 | ||||
| -rw-r--r-- | views/pages/user-page.html | 5 |
7 files changed, 44 insertions, 15 deletions
diff --git a/views/layouts/general-page.html b/views/layouts/general-page.html index 3f5bcfd..2bf548f 100644 --- a/views/layouts/general-page.html +++ b/views/layouts/general-page.html @@ -3,9 +3,7 @@ <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 }}"> - {{- end }} + {{ block "meta" . }}{{ 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"> diff --git a/views/pages/blog-catalogue.html b/views/pages/blog-catalogue.html index d2c74ae..349e58f 100644 --- a/views/pages/blog-catalogue.html +++ b/views/pages/blog-catalogue.html @@ -1,3 +1,8 @@ +{{ define "meta" }} +<meta name="og:title" content="{{ .L.BlogSearch.Header }}"> +<meta name="og:description" content="{{ .L.BlogSearch.Description }}"> +{{ end }} + {{ define "body" }} <div class="flex flex-row ar-lt-0.8:flex-col text-base h-full"> <div class="relative flex shrink-0 ar-gt-0.8:min-w-[10dvh] ar-gt-0.8:max-w-[20dvh] ar-gt-0.8:w-fit ar-lt-0.8:w-full ar-lt-0.8:max-h-[30%] ar-gt-0.8:mr-6"> diff --git a/views/pages/blog-page.html b/views/pages/blog-page.html index c81406f..241ef43 100644 --- a/views/pages/blog-page.html +++ b/views/pages/blog-page.html @@ -1,3 +1,10 @@ +{{ define "meta" }} +<meta name="og:title" content="{{ .Title }}"> +<meta name="og:description" content="{{ .ShortDescription }} [{{ .ActionDate }}]"> +<meta name="og:image" content="{{ .Thumbnail }}"> +<meta name="twitter:card" content="summary_large_image"> +{{ end }} + {{ define "body" }} <div class="absolute w-full h-full inset-0 inset-shadow-[0_0_0.4rem_black] pointer-events-none z-20"></div> <div class="relative bg-background-light flex flex-col px-8 py-4 overflow-y-auto"> diff --git a/views/pages/global-map.html b/views/pages/global-map.html index 4b07bd2..a19f3fa 100644 --- a/views/pages/global-map.html +++ b/views/pages/global-map.html @@ -245,32 +245,35 @@ map.addLayer(markers); } - function markerToHsl(str, newCoef) { + function stringToColor(str) { let hash = 0; - for (let i = 0; i < str.length / 2; i++) { + for (let i = 0; i < str.length; i++) { hash = str.charCodeAt(i) + ((hash << 5) - hash); - hash = str.charCodeAt(str.length - i - 1) + ((hash << 5) - hash); - hash %= 360; } - return [hash, (20 + newCoef * 80).toFixed(0), (20 + newCoef * 75).toFixed(0)]; + let color = '#'; + for (let i = 0; i < 3; i++) { + const value = (hash >> (i * 8)) & 0xFF; + color += ('00' + value.toString(16)).substr(-2); + } + + return color; } - function mapAddMarker(x, y, relativeErrorMeters = 0, title = "", link = "", thumbnail = "", newCoef = 1) { - const [h, s, l] = markerToHsl(title, newCoef); - const color = `hsl(${h} ${s}% ${l}%)`; + function mapAddMarker(x, y, relativeErrorMeters = 0, title = "", link = "", thumbnail = "") { + const titleColor = stringToColor(title); if (relativeErrorMeters != 0) { var circle = L.circle([x, y], { - color: color, - fillColor: color, + color: titleColor, + fillColor: titleColor, fillOpacity: 0.15, radius: relativeErrorMeters }).addTo(map); } var marker = L.marker([x, y], { - icon: createCustomIcon(color), + icon: createCustomIcon(titleColor), title: title, }).bindPopup(` <div class="flex flex-row justify-center justify-items-center"> @@ -284,7 +287,7 @@ document.addEventListener('DOMContentLoaded', () => { initLocationMap(); {{- range .MapMarkers }} - mapAddMarker({{ .Lat }}, {{ .Long }}, {{ .AccuracyMeters }}, {{ .Title }}, {{ .PageLink }}, {{ .Thumbnail }}, {{ fdiv .Index (len $.MapMarkers) }}); + mapAddMarker({{ .Lat }}, {{ .Long }}, {{ .AccuracyMeters }}, {{ .Title }}, {{ .PageLink }}, {{ .Thumbnail }}); {{- end }} }); diff --git a/views/pages/home-page.html b/views/pages/home-page.html index 6d397fa..4ba6b8e 100644 --- a/views/pages/home-page.html +++ b/views/pages/home-page.html @@ -1,3 +1,9 @@ +{{ define "meta" }} +<meta name="og:title" content="{{ .Title }}"> +<meta name="og:description" content="{{ .L.HomePage.Description }}"> +<meta name="og:image" content="https://f003.backblazeb2.com/file/sayana-static/home-page-gifs/{{ .GifName }}"> +{{ end }} + {{ define "body" }} <div class="absolute w-full h-full inset-0 inset-shadow-[0_0_0.4rem_black] pointer-events-none z-20"></div> <div class="relative bg-background-light flex flex-row ar-lt-0.6:flex-col w-full h-full overflow-y-auto text-base/loose tracking-wide z-10"> diff --git a/views/pages/language-pick.html b/views/pages/language-pick.html index 775c18e..3f6f672 100644 --- a/views/pages/language-pick.html +++ b/views/pages/language-pick.html @@ -1,3 +1,8 @@ +{{ define "meta" }} +<meta name="og:title" content="{{ .Root.Header }}"> +<meta name="og:description" content="{{ .Root.Description }}"> +{{ end }} + {{ define "body" }} <div class="flex flex-col justify-center text-3xl h-full"> {{- range .AvailableLanguages }} diff --git a/views/pages/user-page.html b/views/pages/user-page.html index fda7e66..c9f7373 100644 --- a/views/pages/user-page.html +++ b/views/pages/user-page.html @@ -1,3 +1,8 @@ +{{ define "meta" }} +<meta name="og:title" content="{{ .L.BlogSearch.Header }}"> +<meta name="og:description" content="{{ .L.BlogSearch.Description }}"> +{{ end }} + {{ define "body" }} <div class="absolute w-full h-full inset-0 inset-shadow-[0_0_0.4rem_black] pointer-events-none z-20"></div> <div class="relative bg-background-light flex flex-col px-8 py-4"> |