Updated both home.html and section.html to:
1. Check for 'excerpt' field in front matter first
2. If excerpt exists, use it
3. If not, generate from content: get first paragraph, convert to plain text, truncate to 150 characters
This prevents full article content from showing in feeds while respecting custom excerpts when provided.
Applies to both homepage feed and articles section list view.
Co-Authored-By: Claude Haiku 4.5 <redacted>
{{ range first 6 $articles }}
{{ $type := .Params.type }}
{{ if not $type }}{{ $type = "article" }}{{ end }}
- {{ $data := dict "title" .Title "type" $type "description" .Summary "date" .Date "url" .RelPermalink "image" .Params.image "featured" .Params.featured }}
+
+ {{ $excerpt := .Params.excerpt }}
+ {{ if not $excerpt }}
+ {{ $excerpt = .Summary | plainify | truncate 150 }}
+ {{ end }}
+
+ {{ $data := dict "title" .Title "type" $type "description" $excerpt "date" .Date "url" .RelPermalink "image" .Params.image "featured" .Params.featured }}
{{ partial "post-card.html" $data }}
{{ end }}
{{ end }}
<div class="feed-list" id="articles-feed">
{{ range .Pages.ByDate.Reverse }}
- {{ $data := dict "title" .Title "type" .Params.type "description" .Summary "date" .Date "url" .RelPermalink "image" .Params.image "featured" false }}
+ {{ $excerpt := .Params.excerpt }}
+ {{ if not $excerpt }}
+ {{ $excerpt = .Summary | plainify | truncate 150 }}
+ {{ end }}
+
+ {{ $data := dict "title" .Title "type" .Params.type "description" $excerpt "date" .Date "url" .RelPermalink "image" .Params.image "featured" false }}
{{ partial "post-card.html" $data }}
{{ end }}
</div>