From 864410bb0d0dcc75587534f141c9ba837ab817e1 Mon Sep 17 00:00:00 2001 From: Oliver Ladner Date: Thu, 23 Jan 2025 09:22:36 +0100 Subject: [PATCH 01/12] feat: first fixed for Tailwind v4 --- package.json | 4 ++-- static/css/in.css | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 969943e4..1710bb14 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "devDependencies": { - "@tailwindcss/typography": "^0.5.15", - "tailwindcss": "^3.4.17" + "@tailwindcss/typography": "^0.5.16", + "tailwindcss": "^4.0" } } diff --git a/static/css/in.css b/static/css/in.css index 5b239dda..81a35e8f 100644 --- a/static/css/in.css +++ b/static/css/in.css @@ -1,6 +1,6 @@ -@tailwind base; /* Preflight is injected here */ -@tailwind components; -@tailwind utilities; +@import "tailwindcss"; /* Preflight is injected here */ +@plugin "@tailwindcss/typography"; +@config "../../tailwind.config.js"; @layer base { @font-face { From f8ca32856896adf27033cba81769b6d9ae15f667 Mon Sep 17 00:00:00 2001 From: Oliver Ladner Date: Mon, 17 Feb 2025 11:08:37 +0100 Subject: [PATCH 02/12] feat: image floats, wcag, remove target blank links --- static/css/in.css | 13 ++++++++ static/css/out.css | 75 +++++++++++++++++++++++++++++++++++++----- templates/article.html | 6 ++-- templates/base.html | 22 ++++++------- 4 files changed, 93 insertions(+), 23 deletions(-) diff --git a/static/css/in.css b/static/css/in.css index 5b239dda..76442b38 100644 --- a/static/css/in.css +++ b/static/css/in.css @@ -61,6 +61,11 @@ } } +/*Hide heading anchor links unless hovering over them*/ +.headerlink { + @apply no-underline text-rp-dawn-love ml-1 md:ml-2 hover:no-underline; +} + .note { @apply bg-rp-dawn-highlight-med dark:bg-rp-moon-highlight-med m-8 p-4; } @@ -68,6 +73,14 @@ @apply bg-rp-dawn-text text-rp-dawn-base dark:bg-rp-moon-text dark:text-rp-moon-base m-8 p-4; } +/*Attempt to only float thumbnails to the right*/ +.image-process-article-image, +.image-process-thumb, +.image-process-responsive { + /*@apply lg:float-right p-2 lg:p-4;*/ + @apply lg:float-right px-1 lg:px-3; +} + #skiptocontent a { position: absolute; top: -40px; diff --git a/static/css/out.css b/static/css/out.css index edc93ef0..11e62890 100644 --- a/static/css/out.css +++ b/static/css/out.css @@ -1217,6 +1217,10 @@ code { grid-column: span 2 / span 2; } +.col-span-3 { + grid-column: span 3 / span 3; +} + .col-span-7 { grid-column: span 7 / span 7; } @@ -1368,6 +1372,16 @@ code { background-color: rgb(255 250 243 / var(--tw-bg-opacity, 1)); } +.bg-green-600 { + --tw-bg-opacity: 1; + background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1)); +} + +.bg-yellow-300 { + --tw-bg-opacity: 1; + background-color: rgb(253 224 71 / var(--tw-bg-opacity, 1)); +} + .p-1 { padding: 0.25rem; } @@ -1380,10 +1394,6 @@ code { padding: 1rem; } -.p-5 { - padding: 1.25rem; -} - .p-8 { padding: 2rem; } @@ -1450,11 +1460,6 @@ code { color: rgb(180 99 122 / var(--tw-text-opacity, 1)); } -.text-rp-dawn-overlay { - --tw-text-opacity: 1; - color: rgb(242 233 225 / var(--tw-text-opacity, 1)); -} - .text-rp-dawn-pine { --tw-text-opacity: 1; color: rgb(40 105 131 / var(--tw-text-opacity, 1)); @@ -1475,6 +1480,25 @@ code { box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } +/*Hide heading anchor links unless hovering over them*/ + +.headerlink { + margin-left: 0.25rem; + --tw-text-opacity: 1; + color: rgb(180 99 122 / var(--tw-text-opacity, 1)); + text-decoration-line: none; +} + +.headerlink:hover { + text-decoration-line: none; +} + +@media (min-width: 768px) { + .headerlink { + margin-left: 0.5rem; + } +} + .note { margin: 2rem; --tw-bg-opacity: 1; @@ -1507,6 +1531,26 @@ code { } } +/*Attempt to only float thumbnails to the right*/ + +.image-process-article-image, +.image-process-thumb, +.image-process-responsive { + /*@apply lg:float-right p-2 lg:p-4;*/ + padding-left: 0.25rem; + padding-right: 0.25rem; +} + +@media (min-width: 1024px) { + .image-process-article-image, +.image-process-thumb, +.image-process-responsive { + float: right; + padding-left: 0.75rem; + padding-right: 0.75rem; + } +} + #skiptocontent a { position: absolute; top: -40px; @@ -2070,6 +2114,11 @@ code { text-decoration-line: none; } +.prose-img\:mx-auto :is(:where(img):not(:where([class~="not-prose"],[class~="not-prose"] *))) { + margin-left: auto; + margin-right: auto; +} + .prose-img\:rounded :is(:where(img):not(:where([class~="not-prose"],[class~="not-prose"] *))) { border-radius: 0.25rem; } @@ -2083,10 +2132,18 @@ code { grid-column: span 6 / span 6; } + .md\:col-span-7 { + grid-column: span 7 / span 7; + } + .md\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } + .md\:grid-cols-6 { + grid-template-columns: repeat(6, minmax(0, 1fr)); + } + .md\:border-l-4 { border-left-width: 4px; } diff --git a/templates/article.html b/templates/article.html index 1f82af44..a59558ad 100644 --- a/templates/article.html +++ b/templates/article.html @@ -1,7 +1,7 @@ {% extends "base.html" %} {% block html_lang %}{{ article.lang }}{% endblock %} -{% block title %}{{ SITENAME|striptags }} - {{ article.title|striptags }}{% endblock %} +{% block title %}{{ article.title|striptags }} - {{ SITENAME|striptags }}{% endblock %} {% block head %} {{ super() }} @@ -17,11 +17,11 @@ {% endblock %} {% block content %} -
+

{{ article.title }} - # + #

  • diff --git a/templates/base.html b/templates/base.html index 16016540..c187d623 100644 --- a/templates/base.html +++ b/templates/base.html @@ -98,7 +98,7 @@
    -
    +
    {% block content %} {% endblock %} @@ -111,27 +111,27 @@
    -
    +
    -
    -
    +
    +

    - Generated by Pelican with a - bespoke theme inspired by Rosé Pine. + Generated by Pelican with a + bespoke theme inspired by Rosé Pine.

    - Buy me a coffee? + Buy me a coffee?

    -
    +

    - + Mostly valid WCAG 2.2 AA

    - 100% organic content licensed under CC BY-SA 4.0 + 100% organic content licensed under CC BY-SA 4.0

    - Atom feed + Atom feed

    From e663b95c9e290d0c07b4df12d7428aae476a8a38 Mon Sep 17 00:00:00 2001 From: Oliver Ladner Date: Mon, 24 Feb 2025 14:03:11 +0100 Subject: [PATCH 03/12] feat: fancy subtitle, more whitespace between footer elements --- static/css/out.css | 211 ++++++++++++++++++++++++++++++++++++++--- templates/article.html | 20 ++++ templates/base.html | 12 +-- 3 files changed, 224 insertions(+), 19 deletions(-) diff --git a/static/css/out.css b/static/css/out.css index 11e62890..949733dd 100644 --- a/static/css/out.css +++ b/static/css/out.css @@ -1209,6 +1209,26 @@ code { } } +.absolute { + position: absolute; +} + +.relative { + position: relative; +} + +.z-10 { + z-index: 10; +} + +.-z-10 { + z-index: -10; +} + +.z-20 { + z-index: 20; +} + .col-span-1 { grid-column: span 1 / span 1; } @@ -1221,10 +1241,6 @@ code { grid-column: span 3 / span 3; } -.col-span-7 { - grid-column: span 7 / span 7; -} - .col-span-9 { grid-column: span 9 / span 9; } @@ -1257,6 +1273,10 @@ code { margin-top: 1.5rem; } +.-mt-11 { + margin-top: -2.75rem; +} + .block { display: block; } @@ -1290,6 +1310,30 @@ code { width: 2rem; } +.-rotate-45 { + --tw-rotate: -45deg; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.-rotate-12 { + --tw-rotate: -12deg; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.-rotate-6 { + --tw-rotate: -6deg; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.-rotate-3 { + --tw-rotate: -3deg; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.transform { + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + .list-outside { list-style-position: outside; } @@ -1347,6 +1391,10 @@ code { border-top-width: 2px; } +.border-l-4 { + border-left-width: 4px; +} + .border-rp-dawn-gold { --tw-border-opacity: 1; border-color: rgb(234 157 52 / var(--tw-border-opacity, 1)); @@ -1357,6 +1405,15 @@ code { border-color: rgb(242 233 225 / var(--tw-border-opacity, 1)); } +.border-rp-dawn-rose { + --tw-border-opacity: 1; + border-color: rgb(215 130 126 / var(--tw-border-opacity, 1)); +} + +.border-transparent { + border-color: transparent; +} + .bg-rp-dawn-base { --tw-bg-opacity: 1; background-color: rgb(250 244 237 / var(--tw-bg-opacity, 1)); @@ -1372,14 +1429,61 @@ code { background-color: rgb(255 250 243 / var(--tw-bg-opacity, 1)); } -.bg-green-600 { +.bg-rp-dawn-love { --tw-bg-opacity: 1; - background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1)); + background-color: rgb(180 99 122 / var(--tw-bg-opacity, 1)); } -.bg-yellow-300 { - --tw-bg-opacity: 1; - background-color: rgb(253 224 71 / var(--tw-bg-opacity, 1)); +.bg-gradient-to-r { + background-image: linear-gradient(to right, var(--tw-gradient-stops)); +} + +.from-indigo-500 { + --tw-gradient-from: #6366f1 var(--tw-gradient-from-position); + --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.from-rp-dawn-love { + --tw-gradient-from: #b4637a var(--tw-gradient-from-position); + --tw-gradient-to: rgb(180 99 122 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.from-rp-dawn-gold { + --tw-gradient-from: #ea9d34 var(--tw-gradient-from-position); + --tw-gradient-to: rgb(234 157 52 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.from-10\% { + --tw-gradient-from-position: 10%; +} + +.via-sky-500 { + --tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), #0ea5e9 var(--tw-gradient-via-position), var(--tw-gradient-to); +} + +.via-rp-dawn-gold { + --tw-gradient-to: rgb(234 157 52 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), #ea9d34 var(--tw-gradient-via-position), var(--tw-gradient-to); +} + +.via-30\% { + --tw-gradient-via-position: 30%; +} + +.to-emerald-500 { + --tw-gradient-to: #10b981 var(--tw-gradient-to-position); +} + +.to-rp-dawn-pine { + --tw-gradient-to: #286983 var(--tw-gradient-to-position); +} + +.to-90\% { + --tw-gradient-to-position: 90%; } .p-1 { @@ -1398,6 +1502,10 @@ code { padding: 2rem; } +.p-10 { + padding: 2.5rem; +} + .pb-60 { padding-bottom: 15rem; } @@ -1410,6 +1518,18 @@ code { padding-top: 5rem; } +.pb-5 { + padding-bottom: 1.25rem; +} + +.pb-3 { + padding-bottom: 0.75rem; +} + +.pb-4 { + padding-bottom: 1rem; +} + .text-center { text-align: center; } @@ -1438,6 +1558,16 @@ code { line-height: 1.75rem; } +.text-lg { + font-size: 1.125rem; + line-height: 1.75rem; +} + +.text-base { + font-size: 1rem; + line-height: 1.5rem; +} + .font-bold { font-weight: 700; } @@ -1470,6 +1600,21 @@ code { color: rgb(87 82 121 / var(--tw-text-opacity, 1)); } +.text-rp-dawn-gold { + --tw-text-opacity: 1; + color: rgb(234 157 52 / var(--tw-text-opacity, 1)); +} + +.text-rp-dawn-base { + --tw-text-opacity: 1; + color: rgb(250 244 237 / var(--tw-text-opacity, 1)); +} + +.text-rp-dawn-overlay { + --tw-text-opacity: 1; + color: rgb(242 233 225 / var(--tw-text-opacity, 1)); +} + .no-underline { text-decoration-line: none; } @@ -2110,6 +2255,25 @@ code { } } +.hover\:border-l-4:hover { + border-left-width: 4px; +} + +.hover\:border-rp-dawn-rose:hover { + --tw-border-opacity: 1; + border-color: rgb(215 130 126 / var(--tw-border-opacity, 1)); +} + +.hover\:border-red-700:hover { + --tw-border-opacity: 1; + border-color: rgb(185 28 28 / var(--tw-border-opacity, 1)); +} + +.hover\:bg-rp-dawn-love:hover { + --tw-bg-opacity: 1; + background-color: rgb(180 99 122 / var(--tw-bg-opacity, 1)); +} + .hover\:no-underline:hover { text-decoration-line: none; } @@ -2136,10 +2300,6 @@ code { grid-column: span 7 / span 7; } - .md\:grid-cols-5 { - grid-template-columns: repeat(5, minmax(0, 1fr)); - } - .md\:grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); } @@ -2172,6 +2332,11 @@ code { font-size: 1rem; line-height: 1.5rem; } + + .md\:text-xl { + font-size: 1.25rem; + line-height: 1.75rem; + } } @media (min-width: 1024px) { @@ -2231,4 +2396,24 @@ code { --tw-text-opacity: 1; color: rgb(224 222 244 / var(--tw-text-opacity, 1)); } + + .dark\:text-rp-moon-gold { + --tw-text-opacity: 1; + color: rgb(246 193 119 / var(--tw-text-opacity, 1)); + } + + .dark\:text-rp-moon-highlight-low { + --tw-text-opacity: 1; + color: rgb(42 40 62 / var(--tw-text-opacity, 1)); + } + + .dark\:text-rp-moon-subtle { + --tw-text-opacity: 1; + color: rgb(144 140 170 / var(--tw-text-opacity, 1)); + } + + .dark\:text-rp-moon-highlight-med { + --tw-text-opacity: 1; + color: rgb(68 65 90 / var(--tw-text-opacity, 1)); + } } diff --git a/templates/article.html b/templates/article.html index a59558ad..32cc607f 100644 --- a/templates/article.html +++ b/templates/article.html @@ -112,5 +112,25 @@

    {% endif %} +
    +

    + + +

    +

    +
{% endblock %} diff --git a/templates/base.html b/templates/base.html index c187d623..bc5dea07 100644 --- a/templates/base.html +++ b/templates/base.html @@ -59,9 +59,9 @@
-

{{ SITENAME }}

+

{{ SITENAME }}

{% if SITESUBTITLE %} -

{{ SITESUBTITLE }}

+

{{ SITESUBTITLE }}

{% endif %}
@@ -117,20 +117,20 @@

Generated by Pelican with a - bespoke theme inspired by Rosé Pine. + bespoke theme inspired by Rosé Pine.

Buy me a coffee?

-

+

Mostly valid WCAG 2.2 AA

-

+

100% organic content licensed under CC BY-SA 4.0

-

+

Atom feed

From 101f856a8234e5e256febc9a625d238b708aadf7 Mon Sep 17 00:00:00 2001 From: Oliver Ladner Date: Fri, 28 Feb 2025 09:12:40 +0100 Subject: [PATCH 04/12] fix: properly close link/meta tags --- static/css/out.css | 178 ++++---------------------------------------- templates/base.html | 4 +- 2 files changed, 18 insertions(+), 164 deletions(-) diff --git a/static/css/out.css b/static/css/out.css index 949733dd..fba8b564 100644 --- a/static/css/out.css +++ b/static/css/out.css @@ -1221,10 +1221,6 @@ code { z-index: 10; } -.-z-10 { - z-index: -10; -} - .z-20 { z-index: 20; } @@ -1253,8 +1249,8 @@ code { margin: 1rem; } -.-mt-9 { - margin-top: -2.25rem; +.-mt-11 { + margin-top: -2.75rem; } .mb-2 { @@ -1273,10 +1269,6 @@ code { margin-top: 1.5rem; } -.-mt-11 { - margin-top: -2.75rem; -} - .block { display: block; } @@ -1310,30 +1302,11 @@ code { width: 2rem; } -.-rotate-45 { - --tw-rotate: -45deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.-rotate-12 { - --tw-rotate: -12deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.-rotate-6 { - --tw-rotate: -6deg; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - .-rotate-3 { --tw-rotate: -3deg; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } -.transform { - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - .list-outside { list-style-position: outside; } @@ -1391,10 +1364,6 @@ code { border-top-width: 2px; } -.border-l-4 { - border-left-width: 4px; -} - .border-rp-dawn-gold { --tw-border-opacity: 1; border-color: rgb(234 157 52 / var(--tw-border-opacity, 1)); @@ -1405,15 +1374,6 @@ code { border-color: rgb(242 233 225 / var(--tw-border-opacity, 1)); } -.border-rp-dawn-rose { - --tw-border-opacity: 1; - border-color: rgb(215 130 126 / var(--tw-border-opacity, 1)); -} - -.border-transparent { - border-color: transparent; -} - .bg-rp-dawn-base { --tw-bg-opacity: 1; background-color: rgb(250 244 237 / var(--tw-bg-opacity, 1)); @@ -1429,27 +1389,10 @@ code { background-color: rgb(255 250 243 / var(--tw-bg-opacity, 1)); } -.bg-rp-dawn-love { - --tw-bg-opacity: 1; - background-color: rgb(180 99 122 / var(--tw-bg-opacity, 1)); -} - .bg-gradient-to-r { background-image: linear-gradient(to right, var(--tw-gradient-stops)); } -.from-indigo-500 { - --tw-gradient-from: #6366f1 var(--tw-gradient-from-position); - --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position); - --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); -} - -.from-rp-dawn-love { - --tw-gradient-from: #b4637a var(--tw-gradient-from-position); - --tw-gradient-to: rgb(180 99 122 / 0) var(--tw-gradient-to-position); - --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); -} - .from-rp-dawn-gold { --tw-gradient-from: #ea9d34 var(--tw-gradient-from-position); --tw-gradient-to: rgb(234 157 52 / 0) var(--tw-gradient-to-position); @@ -1460,24 +1403,6 @@ code { --tw-gradient-from-position: 10%; } -.via-sky-500 { - --tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position); - --tw-gradient-stops: var(--tw-gradient-from), #0ea5e9 var(--tw-gradient-via-position), var(--tw-gradient-to); -} - -.via-rp-dawn-gold { - --tw-gradient-to: rgb(234 157 52 / 0) var(--tw-gradient-to-position); - --tw-gradient-stops: var(--tw-gradient-from), #ea9d34 var(--tw-gradient-via-position), var(--tw-gradient-to); -} - -.via-30\% { - --tw-gradient-via-position: 30%; -} - -.to-emerald-500 { - --tw-gradient-to: #10b981 var(--tw-gradient-to-position); -} - .to-rp-dawn-pine { --tw-gradient-to: #286983 var(--tw-gradient-to-position); } @@ -1502,8 +1427,8 @@ code { padding: 2rem; } -.p-10 { - padding: 2.5rem; +.pb-4 { + padding-bottom: 1rem; } .pb-60 { @@ -1518,18 +1443,6 @@ code { padding-top: 5rem; } -.pb-5 { - padding-bottom: 1.25rem; -} - -.pb-3 { - padding-bottom: 0.75rem; -} - -.pb-4 { - padding-bottom: 1rem; -} - .text-center { text-align: center; } @@ -1553,21 +1466,16 @@ code { line-height: 2.5rem; } -.text-xl { - font-size: 1.25rem; - line-height: 1.75rem; -} - -.text-lg { - font-size: 1.125rem; - line-height: 1.75rem; -} - .text-base { font-size: 1rem; line-height: 1.5rem; } +.text-xl { + font-size: 1.25rem; + line-height: 1.75rem; +} + .font-bold { font-weight: 700; } @@ -1585,9 +1493,9 @@ code { color: rgb(86 148 159 / var(--tw-text-opacity, 1)); } -.text-rp-dawn-love { +.text-rp-dawn-overlay { --tw-text-opacity: 1; - color: rgb(180 99 122 / var(--tw-text-opacity, 1)); + color: rgb(242 233 225 / var(--tw-text-opacity, 1)); } .text-rp-dawn-pine { @@ -1600,21 +1508,6 @@ code { color: rgb(87 82 121 / var(--tw-text-opacity, 1)); } -.text-rp-dawn-gold { - --tw-text-opacity: 1; - color: rgb(234 157 52 / var(--tw-text-opacity, 1)); -} - -.text-rp-dawn-base { - --tw-text-opacity: 1; - color: rgb(250 244 237 / var(--tw-text-opacity, 1)); -} - -.text-rp-dawn-overlay { - --tw-text-opacity: 1; - color: rgb(242 233 225 / var(--tw-text-opacity, 1)); -} - .no-underline { text-decoration-line: none; } @@ -2255,25 +2148,6 @@ code { } } -.hover\:border-l-4:hover { - border-left-width: 4px; -} - -.hover\:border-rp-dawn-rose:hover { - --tw-border-opacity: 1; - border-color: rgb(215 130 126 / var(--tw-border-opacity, 1)); -} - -.hover\:border-red-700:hover { - --tw-border-opacity: 1; - border-color: rgb(185 28 28 / var(--tw-border-opacity, 1)); -} - -.hover\:bg-rp-dawn-love:hover { - --tw-bg-opacity: 1; - background-color: rgb(180 99 122 / var(--tw-bg-opacity, 1)); -} - .hover\:no-underline:hover { text-decoration-line: none; } @@ -2308,11 +2182,6 @@ code { border-left-width: 4px; } - .md\:text-2xl { - font-size: 1.5rem; - line-height: 2rem; - } - .md\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; @@ -2382,6 +2251,11 @@ code { color: rgb(156 207 216 / var(--tw-text-opacity, 1)); } + .dark\:text-rp-moon-highlight-med { + --tw-text-opacity: 1; + color: rgb(68 65 90 / var(--tw-text-opacity, 1)); + } + .dark\:text-rp-moon-iris { --tw-text-opacity: 1; color: rgb(196 167 231 / var(--tw-text-opacity, 1)); @@ -2396,24 +2270,4 @@ code { --tw-text-opacity: 1; color: rgb(224 222 244 / var(--tw-text-opacity, 1)); } - - .dark\:text-rp-moon-gold { - --tw-text-opacity: 1; - color: rgb(246 193 119 / var(--tw-text-opacity, 1)); - } - - .dark\:text-rp-moon-highlight-low { - --tw-text-opacity: 1; - color: rgb(42 40 62 / var(--tw-text-opacity, 1)); - } - - .dark\:text-rp-moon-subtle { - --tw-text-opacity: 1; - color: rgb(144 140 170 / var(--tw-text-opacity, 1)); - } - - .dark\:text-rp-moon-highlight-med { - --tw-text-opacity: 1; - color: rgb(68 65 90 / var(--tw-text-opacity, 1)); - } } diff --git a/templates/base.html b/templates/base.html index bc5dea07..2802a505 100644 --- a/templates/base.html +++ b/templates/base.html @@ -5,7 +5,7 @@ {% block title %}{{ SITENAME|striptags }}{% endblock title %} - + {% if SITESUBTITLE %} {% endif %} @@ -36,7 +36,7 @@ {% if TAG_FEED_RSS and tag %} {% endif %} - + From cc07b2dbb0dea23914531c52ed1f8820a9778df5 Mon Sep 17 00:00:00 2001 From: Oliver Ladner Date: Wed, 21 May 2025 09:09:58 +0200 Subject: [PATCH 05/12] fix: remove main prism.css to avoid visual glitch --- templates/base.html | 1 - 1 file changed, 1 deletion(-) diff --git a/templates/base.html b/templates/base.html index 2802a505..d143c556 100644 --- a/templates/base.html +++ b/templates/base.html @@ -38,7 +38,6 @@ {% endif %} - {% endblock head %} @@ -71,7 +88,7 @@ {% if DISPLAY_PAGES_ON_MENU %}
{% for p in pages %} -
  • {{ p.title }}
  • +
  • {{ p.title }}
  • {% endfor %}
    {% endif %} @@ -124,13 +141,11 @@

    - Mostly valid WCAG 2.2 AA + 100% artisanal content licensed under CC BY-SA 4.0, + mostly valid WCAG 2.2 AA.

    - 100% organic content licensed under CC BY-SA 4.0 -

    -

    - Atom feed + Atom feed of all blog posts.

    diff --git a/templates/categories.html b/templates/categories.html index 1482ebd6..0f298e8c 100644 --- a/templates/categories.html +++ b/templates/categories.html @@ -1,6 +1,6 @@ {% extends "base.html" %} -{% block title %}{{ SITENAME|striptags }} - Categories{% endblock %} +{% block title %}Categories - {{ SITENAME|striptags }}{% endblock %} {% block content %}
    diff --git a/templates/category.html b/templates/category.html index b73b635e..8edc3bc1 100644 --- a/templates/category.html +++ b/templates/category.html @@ -1,6 +1,6 @@ {% extends "index.html" %} -{% block title %}{{ SITENAME|striptags }} - {{ category }} category{% endblock %} +{% block title %}{{ category }} - {{ SITENAME|striptags }}{% endblock %} {% block content_title %}

    Tales from the {{ category }} department

    diff --git a/templates/page.html b/templates/page.html index 3d795423..fbc1985d 100644 --- a/templates/page.html +++ b/templates/page.html @@ -1,6 +1,6 @@ {% extends "base.html" %} {% block html_lang %}{{ page.lang }}{% endblock %} -{% block title %}{{ SITENAME|striptags }} - {{ page.title|striptags }}{%endblock%} +{% block title %}{{ page.title|striptags }} - {{ SITENAME|striptags }} {%endblock%} {% block head %} {{ super() }} diff --git a/templates/tag.html b/templates/tag.html index c34a7b33..0696ceb2 100644 --- a/templates/tag.html +++ b/templates/tag.html @@ -1,6 +1,6 @@ {% extends "index.html" %} -{% block title %}{{ SITENAME|striptags }} - {{ tag }} tag{% endblock %} +{% block title %} {{ tag|capitalize }} - {{ SITENAME|striptags }}{% endblock %} {% block content_title %}

    Tales tagged with {{ tag }}

    diff --git a/templates/tags.html b/templates/tags.html index 52d30b56..3280842f 100644 --- a/templates/tags.html +++ b/templates/tags.html @@ -1,12 +1,26 @@ {% extends "base.html" %} -{% block title %}{{ SITENAME|striptags }} - Tags{% endblock %} +{% block title %}Tags - {{ SITENAME|striptags }}{% endblock %} {% block content %} -

    Tags for {{ SITENAME }}

    -
      - {% for tag, articles in tags|sort %} -
    • {{ tag }} ({{ articles|count }})
    • - {% endfor %} -
    +

    Article tags

    + +
      + {% for tag in tag_cloud %} +
    • + + {{ tag.0 }} + + {% if TAG_CLOUD_BADGE %} + {{ tag.2 }} + {% endif %} +
    • + {% endfor %} +
    + + + + + + {% endblock %} From 25aec6d05d3267e307392d188ca168baface790e Mon Sep 17 00:00:00 2001 From: Oliver Ladner Date: Tue, 9 Sep 2025 16:17:43 +0200 Subject: [PATCH 10/12] fix: properly add SVG title inside path --- templates/article.html | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/templates/article.html b/templates/article.html index 629af337..c4dc973d 100644 --- a/templates/article.html +++ b/templates/article.html @@ -41,16 +41,18 @@
  • {% if article.modified %} From da015db848928d0d20cea37963022e99a0ff84c5 Mon Sep 17 00:00:00 2001 From: Oliver Ladner Date: Tue, 20 Jan 2026 14:38:56 +0100 Subject: [PATCH 11/12] feat: add AbuseIPDB verification snippet --- templates/base.html | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/base.html b/templates/base.html index 26a3fca5..a2950774 100644 --- a/templates/base.html +++ b/templates/base.html @@ -9,6 +9,7 @@ {% if SITESUBTITLE %} {% endif %} + {% if STYLESHEET_URL %} {% endif %} From f5840e7f2de08855beb9c34f65f697fe6a79f2e3 Mon Sep 17 00:00:00 2001 From: Oliver Ladner Date: Tue, 20 Jan 2026 15:24:58 +0100 Subject: [PATCH 12/12] fix: update Forgejo link --- templates/base.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/base.html b/templates/base.html index a2950774..ad7df453 100644 --- a/templates/base.html +++ b/templates/base.html @@ -134,7 +134,7 @@

    Generated by Pelican with a - bespoke theme inspired by Rosé Pine. + bespoke theme inspired by Rosé Pine.

    Buy me a coffee?