Compare commits

..
Author SHA1 Message Date
JimmyandGitHub f13c478718 fix: check if resource exists before accessing .RelPermalink (#1299)
* fix: check if resource exists before accessing `.RelPermalink`

closes https://github.com/CaiJimmy/hugo-theme-stack/issues/1297

* Set default value of $result in `helper/image` to dict
2026-03-06 00:13:13 +01:00
JimmyandGitHub bde2914dec chore: Remove featuredImageField from configuration (#1298)
chore: Remove `featuredImageField` from configuration.
2026-03-05 23:56:27 +01:00
JimmyandGitHub f5adf4a273 fix: do not display the date of term pages (#1296) 2026-03-05 18:25:04 +01:00
JimmyandGitHub 07fa7615eb refactor: simplify article-list/tile partial context passing (#1295)
refactor: simplify `article-list/tile` partial context passing and internal usage.
2026-03-05 18:15:05 +01:00
7 changed files with 25 additions and 22 deletions
+3 -4
View File
@@ -1,10 +1,9 @@
mainSections = ["post"] mainSections = ["post"]
featuredImageField = "image" rssFullContent = true
rssFullContent = true
# Accepted values: "default", "lastmod" # Accepted values: "default", "lastmod"
# default = see https://gohugo.io/quick-reference/glossary/#default-sort-order # default = see https://gohugo.io/quick-reference/glossary/#default-sort-order
# lastmod = sort by last modified date, in descending order # lastmod = sort by last modified date, in descending order
SortBy = "default" SortBy = "default"
[footer] [footer]
since = 2026 since = 2026
+8 -4
View File
@@ -11,14 +11,18 @@
{{- $description = $description | default (T "list.page" (len .Pages)) -}} {{- $description = $description | default (T "list.page" (len .Pages)) -}}
{{- end -}} {{- end -}}
{{- if or $description (not .Date.IsZero) -}} {{- if or $description (not .Date.IsZero) -}}
{{/*
If it's a term, the date is extracted from the first page of the collection, which is not very useful.
In that case, we prefer to display the description (if set), or the number of pages within the collection.
*/}}
<footer class="article-meta"> <footer class="article-meta">
{{- if not .Date.IsZero -}} {{- if or $IsTerm .Date.IsZero -}}
<span class="article-description">{{- $description -}}</span>
{{- else if not .Date.IsZero -}}
<time datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}"> <time datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}">
{{- .Date | time.Format .Site.Params.dateFormat.published -}} {{- .Date | time.Format .Site.Params.dateFormat.published -}}
</time> </time>
{{- else if $description -}} {{- end }}
<span class="article-description">{{- $description -}}</span>
{{ end }}
</footer> </footer>
{{- end -}} {{- end -}}
</div> </div>
+5 -5
View File
@@ -1,16 +1,16 @@
{{ $image := partial "helper/image" (dict "Image" .context.Params.image "Resources" .context.Resources "Context" .context) }} {{ $image := partial "helper/image" (dict "Image" .Params.image "Resources" .Resources "Context" .) }}
<article class="{{ if $image }}has-image{{ end }}"> <article class="{{ if $image }}has-image{{ end }}">
<a href="{{ .context.RelPermalink }}"> <a href="{{ .RelPermalink }}">
{{ if $image }} {{ if $image }}
<div class="article-image"> <div class="article-image">
{{ partial "helper/thumbnail-image" (dict {{ partial "helper/thumbnail-image" (dict
"Resource" $image.Resource "Resource" $image.Resource
"Width" 250 "Width" 250
"Height" 150 "Height" 150
"Resize" .context.Site.Params.ImageProcessing.Thumbnail.Enabled "Resize" .Site.Params.ImageProcessing.Thumbnail.Enabled
"Attributes" (dict "Attributes" (dict
"src" $image.Permalink "src" $image.Permalink
"alt" (printf "Featured image of post %s" .context.Title) "alt" (printf "Featured image of post %s" .Title)
"loading" "lazy" "loading" "lazy"
"width" $image.Width "width" $image.Width
"height" $image.Height "height" $image.Height
@@ -30,7 +30,7 @@
{{- end -}} {{- end -}}
> >
<h2 class="article-title"> <h2 class="article-title">
{{- .context.Title -}} {{- .Title -}}
</h2> </h2>
</div> </div>
</a> </a>
@@ -5,7 +5,7 @@
<div class="subsection-list"> <div class="subsection-list">
<div class="article-list--tile"> <div class="article-list--tile">
{{ range . }} {{ range . }}
{{ partial "article-list/tile" (dict "context" . "size" "250x150" "Type" "articleList") }} {{ partial "article-list/tile" . }}
{{ end }} {{ end }}
</div> </div>
</div> </div>
+6 -6
View File
@@ -9,7 +9,7 @@
/// Height: Image height /// Height: Image height
/// Width: Image width /// Width: Image width
{{ $result := "" }} {{ $result := dict }}
{{ if .Image }} {{ if .Image }}
{{ $url := urls.Parse .Image }} {{ $url := urls.Parse .Image }}
@@ -20,7 +20,6 @@
{{ if not (in (slice "https" "http") $url.Scheme) }} {{ if not (in (slice "https" "http") $url.Scheme) }}
{{/* Local image */}} {{/* Local image */}}
{{ $resource = .Resources.Get (printf "%s" (.Image | safeURL)) }} {{ $resource = .Resources.Get (printf "%s" (.Image | safeURL)) }}
{{ $permalink = $resource.RelPermalink }}
{{ else }} {{ else }}
{{/* Remote image */}} {{/* Remote image */}}
{{ with try (resources.GetRemote $url) }} {{ with try (resources.GetRemote $url) }}
@@ -39,11 +38,12 @@
{{ if and .Context.Site.Params.imageProcessing.autoOrient (reflect.IsImageResourceProcessable $resource) }} {{ if and .Context.Site.Params.imageProcessing.autoOrient (reflect.IsImageResourceProcessable $resource) }}
{{ $filter := images.AutoOrient }} {{ $filter := images.AutoOrient }}
{{ $resource = $resource | images.Filter $filter }} {{ $resource = $resource | images.Filter $filter }}
{{ if $local }}
{{ $permalink = $resource.RelPermalink }}
{{ end }}
{{ end }} {{ end }}
{{ if $local }}
{{ $permalink = $resource.RelPermalink }}
{{ end }}
{{ if reflect.IsImageResourceWithMeta $resource }} {{ if reflect.IsImageResourceWithMeta $resource }}
{{ $result = dict {{ $result = dict
"Resource" $resource "Resource" $resource
+1 -1
View File
@@ -8,7 +8,7 @@
<div class="subsection-list"> <div class="subsection-list">
<div class="article-list--tile"> <div class="article-list--tile">
{{ range $terms }} {{ range $terms }}
{{ partial "article-list/tile" (dict "context" . "size" "250x150" "Type" "taxonomy") }} {{ partial "article-list/tile" . }}
{{ end }} {{ end }}
</div> </div>
</div> </div>
+1 -1
View File
@@ -51,7 +51,7 @@
<div class="subsection-list"> <div class="subsection-list">
<div class="article-list--tile"> <div class="article-list--tile">
{{ range . }} {{ range . }}
{{ partial "article-list/tile" (dict "context" . "size" "250x150" "Type" "section") }} {{ partial "article-list/tile" . }}
{{ end }} {{ end }}
</div> </div>
</div> </div>