summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--static/images/default_thumbnail_dark.pngbin0 -> 1489452 bytes
-rw-r--r--static/images/default_thumbnail_light.pngbin0 -> 1329940 bytes
-rw-r--r--themes/danix-xyz-hacker/assets/css/main.css5
-rw-r--r--themes/danix-xyz-hacker/assets/css/main.min.css6
-rw-r--r--themes/danix-xyz-hacker/layouts/partials/article-list-item.html17
5 files changed, 27 insertions, 1 deletions
diff --git a/static/images/default_thumbnail_dark.png b/static/images/default_thumbnail_dark.png
new file mode 100644
index 0000000..c054b7a
--- /dev/null
+++ b/static/images/default_thumbnail_dark.png
Binary files differ
diff --git a/static/images/default_thumbnail_light.png b/static/images/default_thumbnail_light.png
new file mode 100644
index 0000000..7bf35bc
--- /dev/null
+++ b/static/images/default_thumbnail_light.png
Binary files differ
diff --git a/themes/danix-xyz-hacker/assets/css/main.css b/themes/danix-xyz-hacker/assets/css/main.css
index a2f6b09..f618f2d 100644
--- a/themes/danix-xyz-hacker/assets/css/main.css
+++ b/themes/danix-xyz-hacker/assets/css/main.css
@@ -72,6 +72,11 @@ html.theme-light {
}
}
+/* Theme-aware picture element for default thumbnails */
+html.theme-light picture img[src="/images/default_thumbnail_dark.png"] {
+ content: url('/images/default_thumbnail_light.png');
+}
+
@layer base {
html {
@apply overflow-x-hidden;
diff --git a/themes/danix-xyz-hacker/assets/css/main.min.css b/themes/danix-xyz-hacker/assets/css/main.min.css
index 899978a..d928b7a 100644
--- a/themes/danix-xyz-hacker/assets/css/main.min.css
+++ b/themes/danix-xyz-hacker/assets/css/main.min.css
@@ -2532,6 +2532,12 @@ html.theme-light {
}
}
+/* Theme-aware picture element for default thumbnails */
+
+html.theme-light picture img[src="/images/default_thumbnail_dark.png"] {
+ content: url('/images/default_thumbnail_light.png');
+}
+
/* Prose overrides for light theme */
html.theme-light .prose,
diff --git a/themes/danix-xyz-hacker/layouts/partials/article-list-item.html b/themes/danix-xyz-hacker/layouts/partials/article-list-item.html
index d473e9a..d0ab504 100644
--- a/themes/danix-xyz-hacker/layouts/partials/article-list-item.html
+++ b/themes/danix-xyz-hacker/layouts/partials/article-list-item.html
@@ -4,6 +4,7 @@
{{ $excerpt := .Description | default .Summary }}
{{ $imageURL := "" }}
+{{ $useDefaultThumbnail := false }}
{{ if .Params.image }}
{{ $resource := .Resources.GetMatch .Params.image }}
{{ if $resource }}
@@ -11,18 +12,32 @@
{{ else }}
{{ $imageURL = .Params.image }}
{{ end }}
+{{ else }}
+ {{ $useDefaultThumbnail = true }}
{{ end }}
<article class="card group bg-bg">
<!-- Thumbnail -->
- {{ if $imageURL }}
+ {{ if or $imageURL $useDefaultThumbnail }}
<a href="{{ .RelPermalink }}" class="block overflow-hidden bg-surface/50 relative" tabindex="-1">
+ {{ if $useDefaultThumbnail }}
+ <picture>
+ <source srcset="/images/default_thumbnail_light.png" media="(prefers-color-scheme: light)" />
+ <img
+ src="/images/default_thumbnail_dark.png"
+ alt="{{ .Title }}"
+ class="card-image group-hover:scale-105 transition-transform duration-200"
+ loading="lazy"
+ />
+ </picture>
+ {{ else }}
<img
src="{{ $imageURL }}"
alt="{{ .Title }}"
class="card-image group-hover:scale-105 transition-transform duration-200"
loading="lazy"
/>
+ {{ end }}
<!-- Type badge pill overlay -->
{{ if $typeData }}
<div