A clean, minimal, and production-ready blog starter kit built with Next.js, TypeScript, and Tailwind CSS. Perfect for developers who want to quickly set up a personal blog or documentation site.
- π Markdown Support - Write posts in markdown with frontmatter
- π¨ Minimal Design - Clean, typography-focused interface
- π± Responsive - Mobile-first responsive design
- β‘ Fast - Built with Next.js static generation
- π Type Safe - Full TypeScript support
- π― SEO Ready - Optimized for search engines
- π Production Ready - Ready to deploy to Vercel, Netlify, etc.
- π¦ Zero Config - Get started in minutes
- Next.js 15 - React framework
- TypeScript - Type safety
- Tailwind CSS - Utility-first CSS
- @tailwindcss/typography - Beautiful typography
- gray-matter - Front matter parsing
- remark - Markdown processing
- Node.js 18+
- npm, yarn, or pnpm
-
Clone the repository
git clone https://github.com/aiferrydermawan/nextjs-blog-starter-kit.git cd nextjs-blog-starter-kit
-
Install dependencies
npm install # or yarn install # or pnpm install
-
Run development server
npm run dev # or yarn dev # or pnpm dev
-
Open your browser Navigate to http://localhost:3000
βββ src/
β βββ components/ # Reusable UI components
β β βββ Header.tsx # Navigation header
β β βββ Footer.tsx # Site footer
β β βββ Layout.tsx # Page layout wrapper
β βββ lib/ # Utility functions
β β βββ posts.ts # Blog post utilities
β βββ pages/ # Next.js pages
β β βββ index.tsx # Home page
β β βββ blog/ # Blog pages
β β βββ about.tsx # About page
β β βββ contact.tsx # Contact page
β βββ posts/ # Markdown blog posts
β βββ styles/ # Global styles
β βββ globals.css # Tailwind CSS
βββ public/ # Static assets
βββ tailwind.config.js # Tailwind configuration
βββ next.config.ts # Next.js configuration
βββ package.json # Dependencies and scripts
Create a new .md
file in the src/posts/
directory:
touch src/posts/my-new-post.md
Every post needs frontmatter at the top:
---
title: "My New Blog Post"
slug: "my-new-blog-post"
date: "2024-01-15"
excerpt: "A brief description of your post"
tags: ["nextjs", "react", "web-development"]
---
# Your Post Title
Your content goes here...
Use standard markdown syntax:
## Section Header
- List item 1
- List item 2
**Bold text** and *italic text*
```javascript
console.log("Code blocks work too!");
The post will automatically appear on your blog page at /blog
.
- Header: Edit
src/components/Header.tsx
- Footer: Edit
src/components/Footer.tsx
- Layout: Edit
src/components/Layout.tsx
- Global CSS: Edit
src/styles/globals.css
- Tailwind: Modify
tailwind.config.js
Edit src/lib/posts.ts
to add more frontmatter fields or change post processing logic.
- Home (
/
) - Landing page with blog introduction - Blog (
/blog
) - List of all blog posts - Post (
/blog/[slug]
) - Individual blog post pages - About (
/about
) - About page - Contact (
/contact
) - Contact form
- Push your code to GitHub
- Import your repository to Vercel
- Deploy with zero configuration
- Push your code to GitHub
- Connect your repository to Netlify
- Build command:
npm run build
- Publish directory:
.next
This starter kit works with any platform that supports Next.js:
- Railway
- Render
- DigitalOcean App Platform
- AWS Amplify
- Lighthouse Score: 95+ across all metrics
- First Contentful Paint: < 1.5s
- Largest Contentful Paint: < 2.5s
- Cumulative Layout Shift: < 0.1
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js team for the amazing framework
- Tailwind CSS for the utility-first CSS framework
- Vercel for hosting and deployment
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: aiferrydermawan@gmail.com
Made with β€οΈ by Ferry Dermawan
If this starter kit helps you, please give it a β star!