Skip to content

Commit 276919f

Browse files
author
Mabrur Habib
committed
modified: index.md
1 parent d9cb922 commit 276919f

File tree

1 file changed

+39
-46
lines changed

1 file changed

+39
-46
lines changed

index.md

+39-46
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ title: Home
6969
<header>
7070
<h2>LatePost</h2>
7171
</header>
72-
<div id="medium-feed"></div>
72+
<div id="rss-feed"></div>
7373
<header>
7474
<h2></h2>
7575
</header>
@@ -94,10 +94,6 @@ title: Home
9494
<header>
9595
<h2>. . .</h2>
9696
</header>
97-
<header>
98-
<h2>WalkThrough</h2>
99-
</header>
100-
<div id="wordpress-feed"></div>
10197
</div>
10298
</section>
10399

@@ -126,59 +122,57 @@ title: Home
126122
});
127123
});
128124

129-
async function fetchMediumRSS() {
130-
const rssFeedUrl = 'https://medium.com/feed/@bibib'; // Your Medium RSS feed URL
131-
const rssToJsonUrl = `https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(rssFeedUrl)}`;
125+
async function fetchRSSFeeds() {
126+
const feeds = [
127+
{ url: 'https://medium.com/feed/@bibib', source: 'Medium' },
128+
{ url: 'https://nbsc7.wordpress.com/feed', source: 'WordPress' }
129+
];
132130

133-
try {
134-
const response = await fetch(rssToJsonUrl);
135-
if (!response.ok) {
136-
throw new Error('Network response was not ok');
137-
}
138-
const data = await response.json();
139-
displayFeed(data, 'medium-feed');
140-
} catch (error) {
141-
console.error('Error fetching Medium RSS feed:', error);
142-
const mediumFeedContainer = document.getElementById('medium-feed');
143-
if (mediumFeedContainer) {
144-
mediumFeedContainer.innerHTML = 'Failed to load Medium feed.';
145-
}
146-
}
147-
}
131+
let allItems = [];
148132

149-
async function fetchWordPressRSS() {
150-
const rssFeedUrl = 'https://nbsc7.wordpress.com/feed'; // Replace with your WordPress RSS feed URL
151-
const rssToJsonUrl = `https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(rssFeedUrl)}`;
133+
for (const feed of feeds) {
134+
const rssToJsonUrl = `https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(feed.url)}`;
152135

153-
try {
154-
const response = await fetch(rssToJsonUrl);
155-
if (!response.ok) {
156-
throw new Error('Network response was not ok');
157-
}
158-
const data = await response.json();
159-
displayFeed(data, 'wordpress-feed');
160-
} catch (error) {
161-
console.error('Error fetching WordPress RSS feed:', error);
162-
const wpFeedContainer = document.getElementById('wordpress-feed');
163-
if (wpFeedContainer) {
164-
wpFeedContainer.innerHTML = 'Failed to load WordPress feed.';
136+
try {
137+
const response = await fetch(rssToJsonUrl);
138+
if (!response.ok) {
139+
throw new Error(`Failed to fetch feed from ${feed.source}`);
140+
}
141+
const data = await response.json();
142+
const items = data.items.map(item => ({
143+
title: item.title,
144+
link: item.link,
145+
pubDate: new Date(item.pubDate),
146+
source: feed.source
147+
}));
148+
allItems = allItems.concat(items);
149+
} catch (error) {
150+
console.error(`Error fetching ${feed.source} feed:`, error);
151+
const feedContainer = document.getElementById('rss-feed');
152+
if (feedContainer) {
153+
feedContainer.innerHTML += `<p>Failed to load ${feed.source} feed.</p>`;
154+
}
165155
}
166156
}
157+
158+
displayMergedFeed(allItems);
167159
}
168160

169-
function displayFeed(data, containerId) {
170-
const feedContainer = document.getElementById(containerId);
161+
function displayMergedFeed(items) {
162+
const feedContainer = document.getElementById('rss-feed');
171163
if (!feedContainer) {
172-
console.error('Feed container not found:', containerId);
164+
console.error('Feed container not found.');
173165
return;
174166
}
175167

176-
const items = data.items;
177-
if (items && items.length) {
168+
// Sort items by date, descending (most recent first)
169+
items.sort((a, b) => b.pubDate - a.pubDate);
170+
171+
if (items.length) {
178172
items.forEach(item => {
179173
const feedItem = document.createElement('div');
180174
feedItem.innerHTML = `
181-
<h3>${new Date(item.pubDate).toLocaleDateString()} | <a href="${item.link}" target="_blank">${item.title}</a></h3>
175+
<h3>${item.pubDate.toLocaleDateString()} | <a href="${item.link}" target="_blank">${item.title}</a> (${item.source})</h3>
182176
`;
183177
feedContainer.appendChild(feedItem);
184178
});
@@ -187,7 +181,6 @@ title: Home
187181
}
188182
}
189183

190-
fetchMediumRSS();
191-
fetchWordPressRSS();
184+
fetchRSSFeeds();
192185
});
193186
</script>

0 commit comments

Comments
 (0)