A personal blog template built with Next.js and Tailwind CSS
Nextjs-tailwindcss-blog-template — Next.js Blog Template
By codebucks27
A personal blog template based on Next.js and Tailwind CSS, using Velite to process Markdown content, including home, about, contact and article pages, MIT licensed, with a YouTube tutorial.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Processes Markdown article content through Velite; the main branch has migrated from Contentlayer
Includes pages such as home, about, contact and blog articles
Provides an online demo site and a companion YouTube tutorial link
The code is MIT licensed, allowing modification, commercial use and distribution
The README records the 2026 dependency updates, with the package manager changed to Bun
Template Details
This is a personal blog website template. The repository is maintained by codebucks27, built with Next.js and Tailwind CSS, and uses Velite to process Markdown article content. The template provides pages such as home, about, contact and blog articles. The demo site is deployed on Vercel, and the repository includes a YouTube tutorial link, making it suitable as a starting point for learning or building a personal blog.
The repository notes mention that the tutorial video uses Contentlayer, but because Contentlayer is no longer actively maintained, the current main branch has switched to Velite.js; if you need the Contentlayer version, you can switch to the Contentlayer branch. The README also records the 2026 dependency updates: the package manager was changed to Bun, and dependencies such as Next.js, React, Tailwind CSS, ESLint and Shiki were upgraded. Velite now runs through predev / prebuild scripts, and dynamic routes were migrated to async params. The old version code before the update is kept in git history and can be used by checking out the corresponding commit.
In terms of usage scope, the code is MIT licensed, allowing free use, modification, commercial use and distribution, but the copyright notice and license notice must be retained. The demo images in the template come from Unsplash, fonts from Google Fonts, icons from Iconify, and the contact page animation from LottieFiles. These third-party assets must be checked separately under their respective licenses and cannot be judged solely by the code's MIT license.
Is it right for your project?
Use Cases
- Building a personal technical blog or writing site
- Learning the blog project structure of Next.js and Tailwind CSS
- Referencing the implementation of processing Markdown content with Velite
- Using it as companion code for a tutorial and following the video step by step
Suitable For
- Developers who want to build a personal blog with Next.js
- Front-end learners who are studying Next.js and Tailwind CSS
- Individual authors who need a Markdown-driven content site
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
The current main branch uses Bun as the package manager; the install and run commands are bun install, bun dev, bun run build
- 2
Velite runs through predev / prebuild scripts, rather than the old webpack plugin approach
- 3
If you need the Contentlayer version, switch to the repository's Contentlayer branch
- 4
If you need the old dependency versions from before the update, check out the git commit before the 2026 update
- 5
Third-party assets such as demo images, fonts, icons and animations must be checked separately under their respective licenses
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version of the public repository under the MIT license; the free scope is the code of this version and does not mean that external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use and distribution of this version's code are allowed.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the complete MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- The main branch has migrated from Contentlayer to Velite.js for processing Markdown; if you need the Contentlayer version, you must switch to the repository's Contentlayer branch, as the main branch no longer contains that implementation.
- The current main branch requires Bun as the package manager; the install, development and build commands are bun install, bun dev, bun run build respectively, and using npm/yarn may not run as documented.
- Velite runs through predev / prebuild scripts because Turbopack does not support the old webpack plugin approach, and the build process depends on this script configuration.
- The old version code before the update is only kept in git history; you need to check out the specified commit (such as 186f9ee) to use the original Next.js 15 + Tailwind v3 + ESLint 9 configuration.
- The role images on the about page come from Bing search and are third-party assets; you must verify the source and authorization yourself and cannot use them solely under the code's MIT license.
- The Lottie animation on the contact page comes from LottieFiles and its usage conditions must be checked separately under that platform's license.
- Fonts come from Google Fonts and must be checked separately under each font's license; they cannot be judged solely by the code's MIT license.
- Icons come from Iconify and their usage conditions must be checked separately under each icon set's license.
- Images used in the blog all come from third-party sources such as Unsplash and must be checked separately under their respective licenses; they cannot be used solely under the code's MIT license.
- Demo images, fonts, icons and other third-party assets must be checked under their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments or AI may incur additional charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
Since contentlayer is not actively maintained, I have switched to [Velite.js](https://velite.js.org/) for the markdown files.
Original README
**Bun** is now the package manager (`bun install`, `bun dev`, `bun run build`).
Original README
Velite now runs as a `predev` / `prebuild` script (Turbopack does not support the old custom webpack plugin).
Original README
The pre-update code is preserved in git history — check out commit [`186f9ee`](https://github.com/codebucks27/Nextjs-tailwindcss-blog-template/commit/186f9ee)
Original README
Character image in the About page created by using [Bing Search[(https://www.bing.com/).
Original README
Lottie animation in the contact page: [from here](https://lottiefiles.com/animations/sloth-meditate-SzNofNFhYY)
Original README
Fonts from https://fonts.google.com/
Original README
Icons from https://iconify.design/
Original README
https://github.com/codebucks27/Nextjs-tailwindcss-blog-template/blob/main/LICENSEhttps://github.com/codebucks27/Nextjs-tailwindcss-blog-template/blob/main/README.mdAll the images used in the blogs:
Original README
Compiled by DeepSeek based on repository license and README ·2026-09-30. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 91 / 100
- Technologies
- Next.js · React
- Website type
- Blog
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-04-25
- Screenshot last checked
- 2026-09-30
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Next.js as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: c5813f559d955c309aa1828a01db8e60d5ecebcd190693ebbfebcc8516a06f4e
2026-09-30T08:08:27.604Z
Source file / repository# Next.js Blog Tutorial: Build SEO Optimized Personal Blog with Next.js, Contentlayer, and Tailwind CSS 🔥    <br /> For Demo checkout following links👇: <br /> [Nextjs Personal Blog Website](https://create-blog-with-nextjs.vercel.app/) <br /> Starter Code Files👇: <br /> [Nextjs Personal Blog Website Starter Code](https://github.com/codebucks27/Nextjs-contentlayer-blog) <br /> If you want to learn how to create it please follow below tutorial👇: <br /> https://youtu.be/1QGLHOaRLwM <br /> [](https://youtu.be/1QGLHOaRLwM)<br /> --- ✨ Checkout my brand new Saas application -> [AI Headshot Generator](https://www.smartheadshots.ai) --- Checkout My Personal blog: [DevDreaming](https://devdreaming.com/)<br /> --- >### NOTE: In the youtube tutorial I have used contentlayer for the markdown files. Since contentlayer is not actively maintained, I have switched to [Velite.js](https://velite.js.org/) for the markdown files. If you want to checkout the contentlayer please switch to the [contentlayer](https://github.com/codebucks27/Nextjs-tailwindcss-blog-template/tree/Contentlayer) branch. --- ## 🚀 2026 Modernization Update The repo has been refreshed to run on the latest stable versions of every dependency. Highlights: - **Bun** is now the package manager (`bun install`, `bun dev`, `bun run build`). - **Next.js 16** with Turbopack as the default for dev and build. - **React 19**. - **Tailwind CSS v4** — CSS-first config in `src/app/globals.css` (`@theme`, `@custom-variant dark`, `@plugin`); `tailwind.config.js` removed and `@tailwindcss/postcss` replaces autoprefixer. - **ESLint 10 flat config** (`eslint.config.mjs`) with `next/core-web-vitals`. - **Shiki 4** + latest `rehype-pretty-code`, `velite`, `@supabase/supabase-js`, `react-hook-form`, `next-sitemap`, `sharp`, and all rehype/remark plugins. - Velite now runs as a `predev` / `prebuild` script (Turbopack does not support the old custom webpack plugin). - Async `params` migration applied to dynamic routes for Next 16. > **Looking for the old version?** The pre-update code is preserved in git history — check out commit [`186f9ee`](https://github.com/codebucks27/Nextjs-tailwindcss-blog-template/commit/186f9ee) (or any commit before this update) to use the original Next.js 15 + Tailwind v3 + ESLint 9 setup from the YouTube tutorial. --- ### ⭐DO NOT FORGET TO STAR THIS REPO⭐ ### Images of The Portfolio Website: #### Home  #### About  #### Contact  For more Images please check the [project images](https://github.com/codebucks27/Nextjs-contentlayer-blog/tree/main/project%20images) folder from this repo or check the demo link. ### Resources Used in This Project - Character image in the About page created by using [Bing Search[(https://www.bing.com/). - Lottie animation in the contact page: [from here](https://lottiefiles.com/animations/sloth-meditate-SzNofNFhYY) - Fonts from https://fonts.google.com/ <br /> - Icons from https://iconify.design/ <br /> ### All the images used in the blogs: - Photo by <a href="https://unsplash.com/@kmuza?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Carlos Muza</a> on <a href="https://unsplash.com/photos/hpjSkU2UYSU?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a> - Photo by <a href="https://unsplash.com/@marvelous?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Marvin Meyer</a> on <a href="https://unsplash.com/photos/SYTO3xs06fU?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a> - Photo by <a href="https://unsplash.com/@pinjasaur?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Paul Esch-Laurent</a> on <a href="https://unsplash.com/photos/oZMUrWFHOB4?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a> - Photo by <a href="https://unsplash.com/@kellysikkema?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Kelly Sikkema</a> on <a href="https://unsplash.com/photos/-1_RZL8BGBM?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a> - Photo by <a href="https://unsplash.com/@laurenmancke?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Lauren Mancke</a> on <a href="https://unsplash.com/photos/aOC7TSLb1o8?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a> - Photo by <a href="https://unsplash.com/@lucabravo?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Luca Bravo</a> on <a href="https://unsplash.com/photos/XJXWbfSo2f0?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a> - Photo by <a href="https://unsplash.com/@wocintechchat?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Christina @ wocintechchat.com</a> on <a href="https://unsplash.com/photos/OtHEYbQXLFU?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a> - Photo by <a href="https://unsplash.com/@cdx2?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">C D-X</a> on <a href="https://unsplash.com/photos/PDX_a_82obo?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a> - Photo by <a href="https://unsplash.com/@charlesdeluvio?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">charlesdeluvio</a> on <a href="https://unsplash.com/photos/cZr2sgaxy3Q?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a> - Photo by <a href="https://unsplash.com/@emilep?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Emile Perron</a> on <a href="https://unsplash.com/photos/xrVDYZRGdw4?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a> - Photo by <a href="https://unsplash.com/@synkevych?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Roman Synkevych</a> on <a href="https://unsplash.com/photos/vXInUOv1n84?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a> This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
Explore similar templates
Compare previews and descriptions within the same stack and category.

tailwind-nextjs-starter-blog
A Next.js and Tailwind CSS blog starter template using Contentlayer for Markdown/MDX, with built-in SEO, code highlighting, and tags. It targets personal technical blogs and migration from Jekyll/Hugo to React, and supports one-click Vercel deployment.
Next.js · Blog

Next-js-Blog-Boilerplate
A blog starter built on Next.js 12 and Tailwind CSS 3, integrating TypeScript, ESLint, Prettier, and PostCSS.
Next.js · Blog

nextjs-blog-theme
A Next.js 15 and Tailwind CSS 4.x blog starter by Netlify, designed by Bejamas, with MDX support, dark/light theme switching, and environment-variable configuration. It includes a visual setup wizard for deploying to Netlify and manages content via local .mdx files.
Next.js · Blog

blog
A personal blog forked from Timlrx's tailwind-nextjs-starter-blog, built with Next.js, React, and Tailwind CSS. Content is stored as Markdown/MDX under data/, with site, author, navigation, and project data in separate files.
Next.js · Blog

tailnext
Tailnext is a free, open-source template built on the Next.js 14 App Router and Tailwind CSS, created by the onWidget team.
Next.js · Blog

sylph
Sylph is a minimal portfolio and blog template built on Next.js, supporting MDX/Markdown writing, light/dark themes, and automatic OG image generation. It includes sitemap, robots.txt, metadata, and syntax highlighting, with automatic blog timestamps.
Next.js · Portfolio
