1
0
mirror of https://github.com/aureliendavid/rsspreview.git synced 2025-08-22 19:28:39 +00:00

fix descriptions conversion to html+xml

This commit is contained in:
Aurelien David 2018-10-29 21:07:14 +01:00
parent 3acccca403
commit 6d2b0627fe
3 changed files with 38 additions and 9 deletions

View File

@ -120,4 +120,12 @@ a[href] img {
height: 25px;
width: 25px;
margin-right: 2px;
}
}
.feedRawContent {
display: none;
}
#feedSubtitleRaw {
display: none;
}

View File

@ -23,7 +23,7 @@
<xsl:value-of select="title | atom:title | rss1:title" />
</a>
</h1>
<h2 id="feedSubtitleText" ><xsl:value-of select="description | atom:subtitle | rss1:description" /></h2>
<h2 id="feedSubtitleRaw" ><xsl:value-of select="description | atom:subtitle | rss1:description" /></h2>
<!--div class="lastUpdated">Last updated: <xsl:value-of select="lastBuildDate | atom:updated" /></div-->
</div>
</div>
@ -53,7 +53,7 @@
<div class="lastUpdated"><xsl:value-of select="pubDate | atom:updated | rss1:pubDate" /></div>
</h3>
<div class="feedEntryContent">
<div class="feedRawContent">
<xsl:value-of select="description | atom:summary | rss1:description" />
</div>
<div class="enclosures">

View File

@ -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.length; i++) {
tohtml[i].innerHTML = tohtml[i].innerText;
var html_desc = html_parser.parseFromString('<div class="feedEntryContent">'+tohtml[i].innerText+'</div>', "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('<h2 id="feedSubtitleText">'+feed_desc.innerText+'</h2>', "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 += ' :: <a href="'+url+'"><img src="'+chrome.extension.getURL("icons/rss-32.png")+'" class="headerIcon" />Feed URL</a>';
}
function detect() {
var rootNode = document.getRootNode().documentElement;
@ -195,7 +216,7 @@
console.log(document);
removeemptyenclosures();
//formatdescriptions();
formatdescriptions();
formatfilenames();
formatfilesizes();
extensionimages();