const fs = require("fs"); const fm = require("front-matter"); /** @type {import('next-sitemap').IConfig} */ module.exports = { siteUrl: process.env.SITE_URL || "https://www.aaronjy.me", changefreq: "weekly", generateRobotsTxt: true, autoLastmod: false, generateIndexSitemap: false, robotsTxtOptions: { policies: [ { userAgent: "*", allow: "/", }, ], }, // transform: async (config, path) => { // const metadata = { // loc: path // } // if (isHomepage(path)) { // metadata.priority = 1 // } else if (isBasePage(path)) { // metadata.priority = 0.8 // } else { // if (isArticle(path)) { // metadata.priority = 0.6 // const attributes = getArticleAttibutes(`content${path}.md`) // if (!attributes) { return null } // metadata.lastmod = attributes.moddate ?? attributes.pubdate ?? null // console.log('Calculated sitemap dates for article', path) // } // } // return metadata // } }; function isHomepage(path) { return path === "/"; } function isBasePage(path) { return path.split("/").length === 2; } function isArticle(path) { return path.startsWith("/writing/"); } function getArticleAttibutes(path) { const fileContents = fs.readFileSync(path, { encoding: "utf-8", }); // @ts-ignore const { attributes } = fm(fileContents); return { ...attributes, pubdate: attributes.pubdate?.toUTCString() ?? null, moddate: attributes.moddate?.toUTCString() ?? null, }; }