import { Grid, Container, Typography, Paper } from "@mui/material"; import Link from "next/link"; import { remark } from "remark"; import mdx from "remark-mdx"; import fs from "fs"; export default function Home({ posts }) { return (
用对的工具,做对的事。
{posts.map((post) => ( {post.meta.title} {post.meta.description} ))}
); } export async function getStaticProps(context) { const posts = fs.readdirSync("./pages/posts").map((file) => { const content = fs.readFileSync(`./pages/posts/${file}`, "utf8"); const remarkAST = remark().use(mdx).parse(content); var { value, body } = remarkAST.children[0]; value = value.replaceAll("\n", ""); const toParse = value.slice(value.indexOf("{"), value.lastIndexOf("}") + 1); const meta = JSON.parse(toParse); return { id: file.replace(".mdx", ""), meta, }; }); return { props: { posts, }, }; }