const { Feed } = require("feed") const axios = require("axios") const fs = require("fs").promises const api = axios.create({ baseURL: "https://api.tmshv.com/hudozka", }) async function getArticles(limit) { const query = ["post", "event", "album"] .map(t => `tag=${t}`) .join("&") const url = `/api/pages/tags?${query}&sortBy=-date&skip=0&pageSize=${limit}` const res = await api.get(url) return res.data.items } (async () => { const articles = await getArticles(30) const url = "https://art.shlisselburg.org" const feed = new Feed({ title: "Шлиссельбургская ДХШ", id: url, link: url, feedLinks: { atom: "https://art.shlisselburg.org/feed.xml", }, }) articles.forEach(article => { feed.addItem({ title: article.title, date: new Date(article.date), id: article.id, link: article.url, content: article.data, }) }) const content = feed.atom1() await fs.writeFile("dist/feed.xml", content, { encoding: "utf-8" }) })()