/
githubmirror
/
next.js
Обзор
Документация
Войти
/
githubmirror
/
next.js
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
canary
examples/blog/scripts/gen-rss.js
38 строк
1 KB
Steven
chore(examples): use default prettier for examples/templates (#60530)
12 янв 2024, 02:01
Не верифицирован
12 янв 2024, 02:01
4466ba4
Код
Авторство
О чём код?
const { promises: fs } = require("fs"); const path = require("path"); const RSS = require("rss"); const matter = require("gray-matter"); async function generate() { const feed = new RSS({ title: "Your Name", site_url: "https://yoursite.com", feed_url: "https://yoursite.com/feed.xml", }); const posts = await fs.readdir(path.join(__dirname, "..", "pages", "posts")); await Promise.all( posts.map(async (name) => { if (name.startsWith("index.")) return; const content = await fs.readFile( path.join(__dirname, "..", "pages", "posts", name), ); const frontmatter = matter(content); feed.item({ title: frontmatter.data.title, url: "/posts/" + name.replace(/\.mdx?/, ""), date: frontmatter.data.date, description: frontmatter.data.description, categories: frontmatter.data.tag.split(", "), author: frontmatter.data.author, }); }), ); await fs.writeFile("./public/feed.xml", feed.xml({ indent: true })); } generate();