Include item `description` in the "pretty feed" XSL
My RSS feeds include a short plain text description of each post in the <description> element within each <item>.
These aren't rendered by the current pretty-feed-v3.xsl file.
I've added something like this, between the item title and Published date:
<p class="mb-0">
<xsl:choose>
<xsl:when test="string-length(description) > 200">
<xsl:value-of select="substring(description, 0, 200)" />…
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="description" />
</xsl:otherwise>
</xsl:choose>
</p>
This displays the entire <description> if it's 200 characters or fewer, otherwise displays the first 200 characters followed by an ellipsis. (200 is just arbitrary.) e.g.:

But I think some people have the entire HTML blog post within <description>, between <![CDATA[ and ]]>. This might be problematic if it's truncated mid-tag, or between opening and closing tags? Or maybe the HTML itself would be visible?
AFAIK there isn't a way to detect if the description starts with ![CDATA[ or not, so I'm not sure if this idea can be reliably generalised.
But, given I know my feeds only have a brief plaintext description, I've gone with the above.
Can't get HTML working
tried
<xsl:value-of select="description" disable-output-escaping="yes" />
<xsl:copy-of select="description" disable-output-escaping="yes" />
bot with and without disable-output-escaping="yes"
also tried using
const escapeHTML = (str: string) =>
str.replace(
/[&<>'"]/g,
(tag) =>
({
"&": "&",
"<": "<",
">": ">",
"'": "'",
'"': """,
}[tag]),
);
found on SO
also tried with and without CDATA <description><![CDATA[${html}]]></description>
what am I doing wrong?
I'm not much of an expert, but happy to have a look. Can you post your feed? Either a link to it or the XML (maybe just include a single item in it).
Sorry for the late reply, I actually stopped using pretty feed at all, thanks for your offer tho 🙏 much appreciated