import RSS from "rss"; import i18n from "./i18n.mjs"; const getRSS = (articles, baseUrl, lang) => { console.log(i18n[lang]["rss"]["title"]); const rssFeed = new RSS({ title: i18n[lang]["rss"]["title"], description: i18n[lang]["rss"]["description"], // eslint-disable-next-line camelcase custom_namespaces: { visible_description: i18n[lang]["rss"]["description"], }, site_url: "https://ache.one", feed_url: `${baseUrl}rss.xml`, canonical: `${baseUrl}rss.xml`, // eslint-disable-next-line camelcase site_url: baseUrl, // eslint-disable-next-line camelcase image_url: `${baseUrl}ache.svg`, language: lang, pubDate: Date(), ttl: "1440", }); for (const article of articles.slice(0, 10)) { let image_url = article.imageUrl[0] != "/" ? `/${article.imageUrl}` : article.imageUrl; rssFeed.item({ title: article.title, description: "
" + article.content + "
", // eslint-disable-next-line camelcase image_url, url: `${baseUrl}articles/${article.name}`, guid: article.domTitle, author: "ache", date: article.metaData.pubDateISO, categories: article.metaData.tags, // eslint-disable-next-line camelcase custom_elements: [{ logo: image_url }, { intro: article.introDesc }], }); } return rssFeed .xml({ indent: false }) .replace( /<\?xml version="1.0" encoding="UTF-8"\?>/g, '', ); }; export default getRSS;