diff options
Diffstat (limited to 'themes/danix-xyz-hacker/layouts/partials/article-list-item.html')
| -rw-r--r-- | themes/danix-xyz-hacker/layouts/partials/article-list-item.html | 85 |
1 files changed, 58 insertions, 27 deletions
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 1065f0b..47f3109 100644 --- a/themes/danix-xyz-hacker/layouts/partials/article-list-item.html +++ b/themes/danix-xyz-hacker/layouts/partials/article-list-item.html @@ -1,37 +1,68 @@ {{ $articleType := .Params.type | default "life" }} {{ $typeConfig := .Site.Params.articleTypes }} {{ $typeData := index $typeConfig $articleType }} +{{ $excerpt := .Description | default .Summary }} -<a - href="{{ .RelPermalink }}" - class="block p-4 md:p-6 border border-border/30 rounded hover:border-accent/50 hover:bg-surface/30 transition-all duration-200 group" -> - <!-- Pinned badge --> - {{ if .Params.pinned }} - <div class="mb-3 inline-flex items-center gap-1 px-2 py-1 rounded text-sm font-semibold" style="color: {{ .Site.Params.secondaryAccent }};"> - 📌 PINNED - </div> +<article class="border border-border/30 rounded-lg overflow-hidden hover:border-accent/50 transition-all duration-200 group"> + <!-- Thumbnail --> + {{ if .Params.image }} + <a href="{{ .RelPermalink }}" class="block overflow-hidden bg-surface/50" tabindex="-1"> + <img + src="{{ .Params.image }}" + alt="{{ .Title }}" + class="w-full aspect-video object-cover group-hover:scale-105 transition-transform duration-200" + loading="lazy" + /> + </a> {{ end }} - <!-- Title --> - <h3 class="text-lg font-semibold group-hover:text-accent transition-colors mb-3"> - {{ .Title }} - </h3> + <!-- Content --> + <div class="p-5 md:p-6 space-y-3"> + <!-- Pinned badge --> + {{ if .Params.pinned }} + <div class="inline-flex items-center gap-1 px-2 py-1 rounded text-sm font-semibold" style="color: {{ .Site.Params.secondaryAccent }};"> + 📌 PINNED + </div> + {{ end }} + + <!-- Title --> + <h3 class="text-xl font-semibold"> + <a href="{{ .RelPermalink }}" class="group-hover:text-accent transition-colors"> + {{ .Title }} + </a> + </h3> - <!-- Metadata --> - <div class="flex flex-wrap items-center gap-3 text-sm text-text-dim"> - <!-- Publish date --> - <time datetime="{{ .PublishDate.Format "2006-01-02T15:04:05Z07:00" }}"> - {{ .PublishDate.Format "Jan 2, 2006" }} - </time> + <!-- Metadata --> + <div class="flex flex-wrap items-center gap-3 text-sm text-text-dim"> + <!-- Publish date --> + <time datetime="{{ .PublishDate.Format "2006-01-02T15:04:05Z07:00" }}"> + {{ .PublishDate.Format "Jan 2, 2006" }} + </time> - <!-- Type badge --> - {{ if $typeData }} - <span - class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium transition-colors type-{{ $articleType }}" - > - {{ i18n $articleType }} - </span> + <!-- Type badge --> + {{ if $typeData }} + <span + class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium transition-colors type-{{ $articleType }}" + > + {{ i18n $articleType }} + </span> + {{ end }} + </div> + + <!-- Excerpt --> + {{ if $excerpt }} + <p class="text-text-dim text-sm line-clamp-3 leading-relaxed"> + {{ $excerpt | plainify }} + </p> {{ end }} + + <!-- CTA Button --> + <a + href="{{ .RelPermalink }}" + class="inline-flex items-center gap-2 px-3 py-2 rounded border border-border/30 text-sm font-medium hover:border-accent/50 hover:text-accent transition-colors group/cta" + > + {{ i18n "readMore" }} + <i data-feather="arrow-right" class="w-4 h-4 group-hover/cta:translate-x-1 transition-transform"></i> + </a> </div> -</a> +</article> |
