Files
hudozka/scripts/feed.js
T
tmshv a4b3068850 Migrate to ESLint 9 flat config (#239)
* eslint 9

* fix lint errors

* update package-lock.json
2026-02-08 01:29:39 +07:00

47 lines
1.1 KiB
JavaScript

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" })
})()