web/utils/articles.js

29 lines
719 B
JavaScript

import { parseFeed } from "https://deno.land/x/rss/mod.ts";
import * as cheerio from "https://esm.sh/cheerio@1.0.0-rc.12";
const resp = await fetch(
"https://mirror.xyz/0x0f1F3DAf416B74DB3DE55Eb4D7513a80F4841073/feed/atom",
);
const xml = await resp.text();
const feed = await parseFeed(xml);
const articles = [];
for (const entry of feed.entries) {
//console.log(entry)
const $ = cheerio.load(entry.content.value);
articles.push({
url: entry.id,
title: entry.title.value,
img: $("img").attr("src"),
date: entry.updated,
});
}
//console.log(articles)
await Deno.writeTextFile(
"./src/articles.json",
JSON.stringify(articles, null, 2),
);
console.log(`File ./src/articles.json saved`);