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;