This is 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.
Deploy the example using Vercel or preview live with StackBlitz
Execute create-next-app
with npm or Yarn to bootstrap the example:
npx create-next-app --example blog-starter-typescript blog-starter-typescript-app
# or
yarn create next-app --example blog-starter-typescript blog-starter-typescript-app
# or
pnpm create next-app -- --example blog-starter-typescript blog-starter-typescript-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).
blog-starter-typescript
uses Tailwind CSS (v3.0).
Credits
Video by hirshphilippe from Pixabay
Video by Joseph Redfield: https://www.pexels.com/video/two-vehicles-traveling-in-the-desert-2099568/
Video by wowfactorfilms from Pixabay
Photo by Евгений Качин: https://www.pexels.com/photo/a-green-beetle-car-on-the-road-9940949/ Photo by Ahmad Ramadan: https://www.pexels.com/photo/red-volkswagen-beetle-parked-at-road-side-near-pedestrian-lane-131811/ Photo by lilartsy: https://www.pexels.com/photo/yellow-volkswagen-beetle-coupe-parked-on-gray-concrete-surface-1461804/ Photo by murat soyluoglu: https://www.pexels.com/photo/photography-of-orange-volkswagen-beetle-1209774/
https://demo.cloudinary.com/product-gallery/
rich media: https://cloudinary.com/blog/why_dynamic_media_platform_is_must_have_for_ecommerce