From 454e2f3cd84b6c0b02a0c2936a574d3d9c35c5a1 Mon Sep 17 00:00:00 2001 From: SayaAndy Date: Wed, 15 Oct 2025 02:43:04 +0700 Subject: feat: start switching to absolute length units in design --- internal/lightgallery/html_renderer.go | 8 ++--- internal/tailwind/transformer.go | 26 +++++++------- static/input.css | 28 +++++++++++++++ views/index.html | 6 ++-- views/layouts/general-page.html | 12 +++---- views/pages/blog-catalogue.html | 34 +++++++++--------- views/pages/blog-page.html | 8 ++--- views/pages/global-map.html | 4 +-- views/pages/home-page.html | 58 +++++++++++++++---------------- views/partials/blog-page-like-button.html | 6 ++-- views/partials/catalogue-blog-cards.html | 22 ++++++------ views/partials/general-page-footer.html | 8 ++--- views/partials/general-page-header.html | 10 +++--- 13 files changed, 129 insertions(+), 101 deletions(-) diff --git a/internal/lightgallery/html_renderer.go b/internal/lightgallery/html_renderer.go index 8e184e0..f02b953 100644 --- a/internal/lightgallery/html_renderer.go +++ b/internal/lightgallery/html_renderer.go @@ -51,9 +51,9 @@ func (r *LightGalleryHTMLRenderer) renderLightGallery(w util.BufWriter, source [ w.WriteString(fmt.Sprintf(`
-
+
-
+
`, galleryID)) var dynamicElements []string @@ -84,8 +84,8 @@ func (r *LightGalleryHTMLRenderer) renderLightGallery(w util.BufWriter, source [ thumb: "https://f003.backblazeb2.com/file/sayana-photos/webp-320p/%s.webp", subHtml: `+"`"+``+"`"+` }`, img.URL, img.URL, util.EscapeHTML(captionHTML), imageUrlWithoutExt, imageUrlWithoutExt, imageUrlWithoutExt, imageUrlWithoutExt, imageUrlWithoutExt, imageUrlWithoutExt, captionHTML, dayDate.Format("2006-01-02 15:04:05 -07:00"))) } diff --git a/internal/tailwind/transformer.go b/internal/tailwind/transformer.go index 2f052b9..4057ea4 100644 --- a/internal/tailwind/transformer.go +++ b/internal/tailwind/transformer.go @@ -17,44 +17,44 @@ func (t *TailwindTransformer) Transform(node *ast.Document, reader text.Reader, switch node := n.(type) { case *ast.Heading: classes := map[int]string{ - 1: "font-patua text-[2.5vmax] font-bold text-main-dark mb-[1.2vmin] tracking-[0.04vmin]", - 2: "font-spectral text-[2vmax] font-bold text-main-dark mb-[0.8vmin] tracking-[0.04vmin]", - 3: "font-spectral text-[1.5vmax] font-medium text-main-dark mb-[0.6vmin] tracking-[0.04vmin]", - 4: "font-spectral text-[1.2vmax] font-medium text-main-medium mb-[0.4vmin] tracking-[0.04vmin]", - 5: "font-spectral text-[1vmax] font-medium text-main-medium mb-[0.4vmin] italic tracking-[0.04vmin]", - 6: "font-spectral text-[1vmax] font-medium text-secondary mb-[0.4vmin]", + 1: "font-patua text-4xl font-bold text-main-dark mb-6 tracking-[.0125rem]", + 2: "font-spectral text-3xl font-bold text-main-dark mb-2 tracking-[.0125rem]", + 3: "font-spectral text-2xl font-medium text-main-dark mb-1.5 tracking-[.0125rem]", + 4: "font-spectral text-xl font-medium text-main-medium mb-1 tracking-[.0125rem]", + 5: "font-spectral text-base font-medium text-main-medium mb-1 italic tracking-[.0125rem]", + 6: "font-spectral text-base font-medium text-secondary mb-1", } if class, ok := classes[node.Level]; ok { node.SetAttribute([]byte("class"), []byte(class)) } case *ast.Paragraph: - node.SetAttribute([]byte("class"), []byte("text-[1vmax]/[2] font-spectral tracking-[0.04vmin] -indent-[2vmax] ml-[2vmax] mb-[1.6vmin]")) + node.SetAttribute([]byte("class"), []byte("text-base/[2] font-spectral tracking-[.0125rem] -indent-8 ml-8 mb-8")) case *ast.List: if node.IsOrdered() { - node.SetAttribute([]byte("class"), []byte("list-decimal list-inside space-y-[0.8vmin] mb-[1.6vmin] pl-[2vmax]")) + node.SetAttribute([]byte("class"), []byte("list-decimal list-inside space-y-2 mb-8 pl-8")) } else { - node.SetAttribute([]byte("class"), []byte("list-disc list-inside space-y-[0.8vmin] mb-[1.6vmin] pl-[2vmax]")) + node.SetAttribute([]byte("class"), []byte("list-disc list-inside space-y-2 mb-8 pl-8")) } case *ast.ListItem: - node.SetAttribute([]byte("class"), []byte("text-[1vmax]/[2] font-spectral tracking-[0.04vmin]")) + node.SetAttribute([]byte("class"), []byte("text-base/[2] font-spectral tracking-[.0125rem]")) case *ast.Blockquote: - node.SetAttribute([]byte("class"), []byte("border-l-[0.4vmin] border-main-medium bg-background-dark p-[0.8vmin] mb-[0.8vmin] italic")) + node.SetAttribute([]byte("class"), []byte("border-l-1 border-main-medium bg-background-dark p-2 mb-2 italic")) case *ast.CodeSpan: node.SetAttribute([]byte("class"), []byte("bg-background-dark")) case *ast.CodeBlock, *ast.FencedCodeBlock: - node.SetAttribute([]byte("class"), []byte("bg-background-dark p-[0.8vmin] rounded-lg overflow-x-auto mb-[1.6vmin]")) + node.SetAttribute([]byte("class"), []byte("bg-background-dark p-2 rounded-lg overflow-x-auto mb-8")) case *ast.Link: node.SetAttribute([]byte("class"), []byte("text-secondary hover:text-main-dark underline")) case *ast.Image: - node.SetAttribute([]byte("class"), []byte("max-w-full h-auto rounded-lg shadow-lg mb-[1.6vmin]")) + node.SetAttribute([]byte("class"), []byte("max-w-full h-auto rounded-lg shadow-lg mb-8")) case *ast.Emphasis: switch node.Level { diff --git a/static/input.css b/static/input.css index 739bea7..c93fe35 100644 --- a/static/input.css +++ b/static/input.css @@ -5,6 +5,34 @@ --font-patua: "Patua One", cursive; } +html { + font-size: 8px; +} + +@media screen and (width >= 640px) { + html { + font-size: 12px; + } +} + +@media screen and (width >= 1200px) { + html { + font-size: 16px; + } +} + +@media screen and (width >= 1920px) { + html { + font-size: 20px; + } +} + +@media screen and (width >= 2560px) { + html { + font-size: 24px; + } +} + [data-theme="olive"] { --main-dark-color: #4b513a; --main-medium-color: #8a9d8a; diff --git a/views/index.html b/views/index.html index b52df94..666b9c6 100644 --- a/views/index.html +++ b/views/index.html @@ -56,7 +56,7 @@ - +
*
*
@@ -103,13 +103,13 @@ diff --git a/views/pages/blog-catalogue.html b/views/pages/blog-catalogue.html index eccafd6..2bb4034 100644 --- a/views/pages/blog-catalogue.html +++ b/views/pages/blog-catalogue.html @@ -1,51 +1,51 @@ {{ define "body" }} -
+
+ class="tags-list ar-gt-1.1:min-w-[10vh] ar-gt-1.1:max-w-[20vh] ar-gt-1.1:w-fit ar-lt-1.1:w-[100%] ar-lt-1.1:max-h-[25%] flex shrink-0 flex-col ar-gt-1.1:mr-6">
{{ .L.BlogSearch.TagsHeader }}
-
+
{{- range .Tags }} -
+
{{- end }}
-
+
{{ .L.BlogSearch.OrderByHeader }}
-
+
-
+
-
+
-
+
-
+
-
+
-
-
- -
+
+
+ +
@@ -53,7 +53,7 @@
+ class="blog-cards grow flex flex-col overflow-y-auto bg-background-light inset-shadow p-12"> Loading...
diff --git a/views/pages/blog-page.html b/views/pages/blog-page.html index 863b417..cc00e1a 100644 --- a/views/pages/blog-page.html +++ b/views/pages/blog-page.html @@ -16,12 +16,12 @@ {{ end }} {{ define "body" }} -
+
{{ .ParsedMarkdown }} {{- if .MapLocationX }} -
-
-
+
+
+
-

{{ .L.HomePage.SidebarDescription }}

-
+
-

{{ .L.HomePage.HomePageDescription }}

+

{{ .L.HomePage.HomePageDescription }}

-

{{ .L.HomePage.BlogSearchDescription }}

+

{{ .L.HomePage.BlogSearchDescription }}

-

{{ .L.HomePage.MarkerMapDescription }}

+

{{ .L.HomePage.MarkerMapDescription }}

-

{{ .L.HomePage.ThemeSwitchDescription }}

+

{{ .L.HomePage.ThemeSwitchDescription }}

diff --git a/views/partials/blog-page-like-button.html b/views/partials/blog-page-like-button.html index a16e8c0..1dfb5b8 100644 --- a/views/partials/blog-page-like-button.html +++ b/views/partials/blog-page-like-button.html @@ -1,6 +1,6 @@ \ No newline at end of file diff --git a/views/partials/catalogue-blog-cards.html b/views/partials/catalogue-blog-cards.html index 37b3f57..f96e0f1 100644 --- a/views/partials/catalogue-blog-cards.html +++ b/views/partials/catalogue-blog-cards.html @@ -1,25 +1,25 @@ {{- range .BlogPages }} -
-
- -
+
+
+ +
- + {{ .Title }} // {{ .ActionDate }} -

{{ .PublishedTime }}

+

{{ .PublishedTime }}

-

{{ .ShortDescription }}

-

- +

{{ .ShortDescription }}

+

+ {{ .LikeCount }} // - + {{ .ViewCount }}

-

{{ $.L.TagsLabel }} {{ template "catalogue-blog-card-tags.html" . }}

+

{{ $.L.TagsLabel }} {{ template "catalogue-blog-card-tags.html" . }}

{{- end }} \ No newline at end of file diff --git a/views/partials/general-page-footer.html b/views/partials/general-page-footer.html index af6aec9..c0774f6 100644 --- a/views/partials/general-page-footer.html +++ b/views/partials/general-page-footer.html @@ -1,7 +1,7 @@ {{ block "footer" . }}{{ end }} -

+

All the photos on saya.today are licensed under CC BY-SA 4.0 by Saya Andy © {{ .PublishedYear }}

-CC -BY -SA \ No newline at end of file +CC +BY +SA \ No newline at end of file diff --git a/views/partials/general-page-header.html b/views/partials/general-page-header.html index 6cb87b7..d13a6d8 100644 --- a/views/partials/general-page-header.html +++ b/views/partials/general-page-header.html @@ -1,8 +1,8 @@
- -

//

-

{{ .Title }}

-

{{ .PublishedDate }}

+ class="flex flex-row mb-1"> + +

//

+

{{ .Title }}

+

{{ .PublishedDate }}

{{ block "header" . }}{{ end }} -- cgit v1.3.1+13