Making Hugo Post List Summaries Plain Text with plainify

Removing HTML tags from article summaries in Hugo using plainify

* This page contains promotional content

The summary display in the article list on the top page was being shown with the HTML notation still left in it, which felt wrong, so I fixed it ↓

Stripping the HTML also looks better for SEO, so I made the following change

layouts/partials/post_preview.html

<article class="post-preview">
    <a href="{{ .Permalink }}">
        <h2 class="post-title">{{ .Title }}</h2>
        {{ if .Params.subtitle }}
        <h3 class="post-subtitle">
            {{ .Params.subtitle }}
        </h3>
        {{ end }}
        {{ if .Params.image }}
        <img src="{{ .Params.image }}" alt="{{ .Title }}" class="img-title" />
        {{ end }}
        {{ if .Params.video }}
        <video loop autoplay muted playsinline class="img-title">
            <source src="{{ .Params.video }}">
        </video>
        {{ end }}
    </a>

    <p class="post-meta">
        {{ partial "post_meta.html" . }}
    </p>
    <div class="post-entry">
        {{ if or (.Truncated) (.Params.summary) }}
        {{ .Summary | plainify }}
        <a href="{{ .Permalink }}" class="post-read-more">[{{ i18n "readMore" }}]</a>
        {{ else }}
        {{ .Content }}
        {{ end }}
    </div>

    {{ if .Params.tags }}
    <div class="blog-tags">
        {{ range .Params.tags }}
       <a href="{{"tags" | absLangURL}}/{{ . | urlize }}/">{{ . }}</a>&nbsp;
        {{ end }} 
    </div>
    {{ end }}

</article>