Open philgyford opened 3 years ago
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
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:
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.