Widget:CommentsRSS: Difference between revisions
From Jcastle.info
No edit summary Tag: Manual revert |
No edit summary |
||
Line 2: | Line 2: | ||
<script> | <script> | ||
fetch('/resources/assets/comments_feed.xml') | |||
fetch('/ | |||
.then(res => res.text()) | .then(res => res.text()) | ||
.then(str => (new window.DOMParser()).parseFromString(str, "text/xml")) | .then(str => (new window.DOMParser()).parseFromString(str, "text/xml")) | ||
Line 21: | Line 16: | ||
container.innerHTML = "<h3>Recent Comments</h3>"; | container.innerHTML = "<h3>Recent Comments</h3>"; | ||
items.forEach(item => { | items.forEach(item => { | ||
const link = item.querySelector("link").textContent; | const link = item.querySelector("link").textContent; | ||
const | const commentText = item.querySelector("description").textContent; | ||
const date = new Date(item.querySelector("pubDate").textContent); | const date = new Date(item.querySelector("pubDate").textContent); | ||
Line 30: | Line 23: | ||
entry.style.marginBottom = "1em"; | entry.style.marginBottom = "1em"; | ||
entry.innerHTML = ` | entry.innerHTML = ` | ||
<div><a href="${link}" target="_blank">${ | <div><a href="${link}" target="_blank">${commentText}</a></div> | ||
<small style="color: #555;">${date.toLocaleDateString(undefined, { year: 'numeric', month: 'short', day: 'numeric' })}</small> | <small style="color: #555;">${date.toLocaleDateString(undefined, { year: 'numeric', month: 'short', day: 'numeric' })}</small> | ||
`; | `; |
Revision as of 21:22, 25 May 2025
<script> fetch('/resources/assets/comments_feed.xml')
.then(res => res.text()) .then(str => (new window.DOMParser()).parseFromString(str, "text/xml")) .then(data => { const items = data.querySelectorAll("item"); const container = document.getElementById("recent-comments");
if (items.length === 0) {
container.innerHTML = "
No recent comments.
";
return; }
container.innerHTML = "
Recent Comments
";
items.forEach(item => { const link = item.querySelector("link").textContent; const commentText = item.querySelector("description").textContent; const date = new Date(item.querySelector("pubDate").textContent);
const entry = document.createElement("div"); entry.style.marginBottom = "1em"; entry.innerHTML = `
<a href="${link}" target="_blank">${commentText}</a>
${date.toLocaleDateString(undefined, { year: 'numeric', month: 'short', day: 'numeric' })} `;
container.appendChild(entry); }); }) .catch(error => {
document.getElementById("recent-comments").innerHTML = "
Error loading comments.
";
console.error("RSS Load Error:", error); });
</script>