This example showcases Next.js's Static Generation feature using Org files as the data source.
The blog posts are stored in /_posts
as Org files. Adding a new Org file in there will create a new blog post.
To create the blog posts we use uniorg
and rehype-stringify
to convert the Org files into an HTML string, and then send it down as a prop to the page. The metadata of every post is handled by extractExportSettings
unified plugin in orgToHtml.js file.
https://org-blog-starter.vercel.app/
Deploy the example using Vercel:
Execute create-next-app
with npm or Yarn to bootstrap the example:
npx create-next-app --example https://github.com/rasendubi/uniorg/tree/master/examples/next-blog-starter blog-starter-app
# or
yarn create next-app --example https://github.com/rasendubi/uniorg/tree/master/examples/next-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).
This blog-starter uses Tailwind CSS. To control the generated stylesheet's filesize, this example uses Tailwind CSS' v2.0 purge
option to remove unused CSS.