Uses the existing blog-starter plus TypeScript.
This example showcases Next.js's Static Generation feature using Markdown files as the data source.
The blog posts are stored in /_posts as Markdown files with front matter support. Adding a new Markdown file in there will create a new blog post.
To create the blog posts we use remark and remark-html to convert the Markdown files into an HTML string, and then send it down as a prop to the page. The metadata of every post is handled by gray-matter and also sent in props to the page.
blog-starter uses Tailwind CSS (v3.0). general css is in src/app/globals.css and markdown css is in src/app/_components/markdown-styles.module.css
https://personal-site-nextjs-dhcno3m0s-jamessullivans-projects.vercel.app/
Execute create-next-app with npm, Yarn, or pnpm to bootstrap the example:
npx create-next-app --example blog-starter blog-starter-appIf using mise to grab the latest LTS version
mise installnpm run dev
npm run build
npm startnpm outdated
npm update
Your blog should be up and running on http://localhost:3000! If it doesn't work, post on GitHub discussions.
Deploy it to the cloud with Vercel (Documentation).