mirror of
https://github.com/vercel/next.js.git
synced 2026-09-20 02:25:18 +08:00
4466ba436b
## Description This PR ensures that the default prettier config is used for examples and templates. This config is compatible with `prettier@3` as well (upgrading prettier is bigger change that can be a future PR). ## Changes - Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will be needed upgrading to prettier@3) - Added `examples/.prettierrc.json` with default config (this will change every example) - Added `packages/create-next-app/templates/.prettierrc.json` with default config (this will change every template) ## Related - Fixes #54402 - Closes #54409
39 lines
1.0 KiB
JavaScript
39 lines
1.0 KiB
JavaScript
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();
|