From 6d2b0627fea542a3cb8743df959f7dd523a80084 Mon Sep 17 00:00:00 2001 From: Aurelien David Date: Mon, 29 Oct 2018 21:07:14 +0100 Subject: [PATCH] fix descriptions conversion to html+xml --- preview.css | 10 +++++++++- rss.xsl | 4 ++-- rsspreview.js | 33 +++++++++++++++++++++++++++------ 3 files changed, 38 insertions(+), 9 deletions(-) diff --git a/preview.css b/preview.css index 32e5771..ec98acf 100644 --- a/preview.css +++ b/preview.css @@ -120,4 +120,12 @@ a[href] img { height: 25px; width: 25px; margin-right: 2px; -} \ No newline at end of file +} + +.feedRawContent { + display: none; +} + +#feedSubtitleRaw { + display: none; +} diff --git a/rss.xsl b/rss.xsl index 6c1ed58..d5b6728 100644 --- a/rss.xsl +++ b/rss.xsl @@ -23,7 +23,7 @@ -

+

@@ -53,7 +53,7 @@
-
+
diff --git a/rsspreview.js b/rsspreview.js index 0d6bc9c..37ae904 100644 --- a/rsspreview.js +++ b/rsspreview.js @@ -47,15 +47,35 @@ function formatdescriptions() { - // unescapes descriptions to html + // unescapes descriptions to html then to xml - var tohtml = document.getElementsByClassName("feedEntryContent"); + var xml_parser = new XMLSerializer(); + var html_parser = new DOMParser(); + + var tohtml = document.getElementsByClassName("feedRawContent"); for (var i = 0; i'+tohtml[i].innerText+'
', "text/html"); + var xml_desc = xml_parser.serializeToString(html_desc.body.firstChild); + + tohtml[i].insertAdjacentHTML('afterend', xml_desc); + } - var feed_desc = document.getElementById("feedSubtitleText"); - feed_desc.innerHTML = feed_desc.innerText; + document.querySelectorAll('.feedRawContent').forEach(function(a){ + a.remove() + }) + + + var feed_desc = document.getElementById("feedSubtitleRaw"); + + var html_desc = html_parser.parseFromString('

'+feed_desc.innerText+'

', "text/html"); + var xml_desc = xml_parser.serializeToString(html_desc.body.firstChild); + + feed_desc.insertAdjacentHTML('afterend', xml_desc); + + feed_desc.parentNode.removeChild(feed_desc); + } @@ -115,6 +135,7 @@ h1.innerHTML += ' :: Feed URL'; } + function detect() { var rootNode = document.getRootNode().documentElement; @@ -195,7 +216,7 @@ console.log(document); removeemptyenclosures(); - //formatdescriptions(); + formatdescriptions(); formatfilenames(); formatfilesizes(); extensionimages();