This PR updates the docs and examples for `create-next-app` to include pnpm usage. The following script was used to update every example README: ```js const fs = require('fs') const examples = fs.readdirSync('./examples') for (let example of examples) { const filename = `./examples/${example}/README.md` const markdown = fs.readFileSync(filename, 'utf8') const regex = new RegExp(`^yarn create next-app --example (.*)$`, 'gm') const output = markdown.replace(regex, (yarn, group) => { const pnpm = `pnpm create next-app -- --example ${group}` return `${yarn}\n# or\n${pnpm}` }) fs.writeFileSync(filename, output) } ```
2.8 KiB
A statically generated blog example using Next.js and Markdown
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.
Demo
https://next-blog-starter.vercel.app/
Deploy your own
Deploy the example using Vercel or preview live with StackBlitz
Related examples
- WordPress
- DatoCMS
- Sanity
- TakeShape
- Prismic
- Contentful
- Strapi
- Agility CMS
- Cosmic
- ButterCMS
- Storyblok
- GraphCMS
- Kontent
- Umbraco Heartcore
- Builder.io
How to use
Execute create-next-app
with npm or Yarn to bootstrap the example:
npx create-next-app --example blog-starter blog-starter-app
or
yarn create next-app --example blog-starter blog-starter-app
# or
pnpm create next-app -- --example blog-starter blog-starter-app
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).
Notes
This blog-starter uses Tailwind CSS (v3.0).