scrollsync/custom/public/rss.html

99 lines
2.4 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>AI/ML Feeds CodexScrolls</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
body {
background: #0d0d0d;
color: #e0e0e0;
font-family: "Inter", sans-serif;
margin: 2em;
}
h1 {
color: #4c6fff;
font-size: 2em;
margin-bottom: 0.2em;
}
.feed-section {
margin-top: 2em;
}
h2 {
color: #76a8ff;
margin-bottom: 0.5em;
border-bottom: 1px solid #222;
padding-bottom: 0.3em;
}
ul.feed-list {
list-style: none;
padding-left: 0;
}
ul.feed-list li {
margin: 0.4em 0;
}
a {
color: #a2c5ff;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
.error {
color: #ff4c4c;
}
</style>
</head>
<body>
<h1>AI/ML News Feeds</h1>
<div id="feeds-container"></div>
<script>
const feeds = [
{ title: "OpenAI", url: "https://openai.com/blog/rss" },
{ title: "Google AI Blog", url: "https://ai.googleblog.com/feeds/posts/default" },
{ title: "DeepMind", url: "https://www.deepmind.com/blog/rss.xml" },
{ title: "AI Weekly", url: "https://aiweekly.co/feed" },
{ title: "Machine Learning Mastery", url: "https://machinelearningmastery.com/blog/feed/" }
];
const container = document.getElementById('feeds-container');
feeds.forEach(feed => {
const section = document.createElement('div');
section.className = 'feed-section';
section.innerHTML = `<h2>${feed.title}</h2><ul class="feed-list" id="list-${feed.title.replace(/\s+/g, '')}"><li>Loading...</li></ul>`;
container.appendChild(section);
fetch(`https://api.rss2json.com/v1/api.json?rss_url=${encodeURIComponent(feed.url)}`)
.then(res => res.json())
.then(data => {
const list = document.getElementById(`list-${feed.title.replace(/\s+/g, '')}`);
list.innerHTML = '';
data.items.slice(0, 5).forEach(item => {
const li = document.createElement('li');
li.innerHTML = `<a href="${item.link}" target="_blank">${item.title}</a>`;
list.appendChild(li);
});
})
.catch(error => {
console.error(error);
const list = document.getElementById(`list-${feed.title.replace(/\s+/g, '')}`);
list.innerHTML = `<li class="error">Failed to load feed.</li>`;
});
});
</script>
</body>
</html>