Next.jsReactBlogStarter

nextjs-chakra-starter-blog — Next.js Blog Template

By kingchun1991

A blog starter template based on Next.js and Chakra UI, with built-in MDX articles, SEO, and PWA configuration. It can be cloned and have its content replaced directly.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-02View source

What stands out

A quick read of the recorded project description.

01

A blog starter template combining Next.js App Router with Chakra UI and TypeScript

02

MDX blogging supports GitHub-flavored tables, automatic OG covers, author information, and reading time

03

Built-in development and testing tools including Biome, Playwright, Turborepo, and React Icons

04

next-sitemap provides basic SEO configuration, and next-pwa provides PWA support

05

next-intl internationalization is disabled by default and can be enabled with NEXT_PUBLIC_ENABLE_I18N=true

06

MIT license, allowing free use, modification, commercial use, and distribution

Template Details

This is a blog-oriented starter template. The repository is adapted from agustinusnathaniel/nextarter-chakra, and its tech stack is Next.js (App Router) + Chakra UI + TypeScript. It places the routing entry in src/app, page implementations, layout shells, and theme configuration in src/lib, and shared UI components in src/components, forming a structure that separates the routing layer, logic layer, and UI layer.

For content, the template provides MDX blogging capabilities, including GitHub-flavored Markdown tables via remark-gfm, automatic Open Graph cover generation, author information and avatars, and reading time calculation. Engineering configuration includes Biome formatting and linting, Playwright end-to-end testing, Turborepo, React Icons, SEO configuration with next-sitemap, PWA support with next-pwa, as well as Renovate dependency updates and Git commit hooks. Internationalization is provided by next-intl, disabled by default, and must be enabled via the environment variable NEXT_PUBLIC_ENABLE_I18N=true.

Regarding usage limitations, the README states that Node.js v24 or higher and pnpm are required. Installation, development, build, and testing are performed via pnpm install, pnpm dev, pnpm build, and pnpm test:e2e respectively. SEO and responsive layout are basic configurations, and the README explicitly notes that they need to be readjusted according to your own needs. The repository uses the MIT license, allowing free use, modification, commercial use, and distribution, but third-party assets such as demo images, fonts, and icons need to be checked separately for licensing, and external services such as hosting and domains may incur additional charges.

Next.jsBlogStarter

Is it right for your project?

Use Cases

  • Quickly set up a personal tech blog and publish MDX articles
  • Customize blog pages and components under the Chakra UI theme system
  • Start a blog project that needs basic configurations such as PWA and sitemap
  • Organize a Next.js project with separated routing, logic, and UI layers

Suitable For

  • Front-end developers familiar with Next.js and TypeScript
  • Personal blog authors who need an MDX writing workflow
  • Teams that want to build upon an MIT-licensed template for secondary development and commercial use

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Requires Node.js v24 or higher and pnpm installed globally

  2. 2

    After cloning or fetching the code with degit, run pnpm install

  3. 3

    pnpm dev starts local development, and pnpm build builds the production version

  4. 4

    pnpm test:e2e runs Playwright end-to-end tests

  5. 5

    To enable internationalization, set the environment variable NEXT_PUBLIC_ENABLE_I18N=true

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version of the public repository under the MIT license; the free scope applies to that version's code and does not mean external services or third-party assets are free.

Must comply with when using

  • The code of this version may be used, modified, used commercially, and distributed for free.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full 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

  • Using this template requires Node.js v24 or higher and the pnpm package manager (which can be installed globally via npm install -g pnpm); otherwise, dependencies cannot be installed, and development, build, or tests cannot be run.
  • The README explicitly states that the next-sitemap SEO configuration is only a basic configuration and must be reconfigured or adjusted by the user according to their own needs to work correctly; it is not a complete out-of-the-box SEO solution.
  • Internationalization (next-intl) is disabled by default; to use it, you must set the environment variable NEXT_PUBLIC_ENABLE_I18N=true to enable it.
  • Demo images, fonts, icons, and other third-party assets must be checked against 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

**Prerequisites**: Node.js v24+ and [pnpm](https://pnpm.io/) are required.

Original README

you'll need to reconfigure or tinker with it to get it right according to your needs, but it's there if you need it.

Original README

Optional i18n support (disabled by default, enable with `NEXT_PUBLIC_ENABLE_I18N=true`)

Original README
https://github.com/kingchun1991/nextjs-chakra-starter-blog/blob/main/LICENSEhttps://github.com/kingchun1991/nextjs-chakra-starter-blog/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-02. 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 · 92 / 100
Technologies
Next.js · React
Website type
Blog · Starter
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-10-02
Screenshot last checked
2026-10-02

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: d0865f02e0a13ce45d7dadd76f389857c6acf0baccea2b94f3ab76871e96d339

2026-10-02T09:19:14.787Z

Source file / repository
<img src="https://nextjs-chakra-starter-blog.vercel.app/api/og/cover?heading=nextjs-chakra-starter-blog&template=plain&center=true" />

<div align="center">
  <a href="https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fkingchun1991%2Fnextjs-chakra-starter-blog" target="_blank"><img src="https://vercel.com/button" alt="Deploy with Vercel" /></a> <a href="https://app.netlify.com/start/deploy?repository=https://github.com/kingchun1991/nextjs-chakra-starter-blog" target="_blank"><img src="https://www.netlify.com/img/deploy/button.svg" alt="Deploy to Netlify" /></a> <a href="https://railway.app/new/template/aqmmai?referralCode=9lKVVo" target="_blank"><img src="https://railway.app/button.svg" alt="Deploy on Railway" height="32px" /></a>

<a href="https://stackblitz.com/github/kingchun1991/nextarter-chakra" target="_blank"><img src="https://developer.stackblitz.com/img/open_in_stackblitz.svg" alt="Open in StackBlitz" /></a>

</div>

This is a **Next.js + Chakra UI + TypeScript** starter template packed with modern tooling setup.

## 🚀 Features

-   **Framework**: [Next.js 16](https://nextjs.org/) (App Router)
-   **UI Library**: [Chakra UI v3](https://chakra-ui.com/)
-   **Styling Engine**: Emotion (via Chakra UI) + [next-themes](https://github.com/pacocoursey/next-themes)
-   **Language**: [TypeScript 5](https://www.typescriptlang.org/)
-   **Internationalization**: [next-intl](https://next-intl-docs.vercel.app/) - Optional i18n support (disabled by default, enable with `NEXT_PUBLIC_ENABLE_I18N=true`)
-   **Linting & Formatting**: [Biome](https://biomejs.dev/)
-   **E2E Testing**: [Playwright](https://playwright.dev/)
-   **Build System**: [Turborepo](https://turbo.build/repo)
-   **Icons**: [React Icons](https://react-icons.github.io/react-icons/)
  - `pre-commit`, `pre-push`, `commit-msg`, `prepare-commit-msg` hook configured
- 📱 **PWA-ready** - `next-pwa` configured, enabled by default, just disable it through `next.config.js`
- 🔎 SEO optimization configured - with `next-sitemap`.
  - you'll need to reconfigure or tinker with it to get it right according to your needs, but it's there if you need it.
- 🎨 basic responsive layout configured - don't need it? just remove it 😃
- 🤖 **Automatic Dependency Update** with [Renovate](https://renovatebot.com/)
- 🗒️ **MDX Blog** with enhanced features
  - 📊 **Table Support** - Beautiful, responsive tables with Chakra UI v3 styling
    - GitHub Flavored Markdown table syntax support via `remark-gfm`
    - Automatic column alignment (left, right, center)
    - Responsive design with horizontal scrolling on mobile
    - Dark/light mode support with hover effects
    - Enhanced table component for JSON data
  - 🖼️ Automatic Open Graph Cover generation
  - 👤 Author information and avatars
  - ⏱️ Reading time calculation

[![CodeFactor](https://www.codefactor.io/repository/github/kingchun1991/nextjs-chakra-starter-blog/badge)](https://www.codefactor.io/repository/github/kingchun1991/nextjs-chakra-starter-blog)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=kingchun1991_nextjs-chakra-starter-blog&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=kingchun1991_nextjs-chakra-starter-blog)[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=kingchun1991_nextjs-chakra-starter-blog&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=kingchun1991_nextjs-chakra-starter-blog) [![Bugs](https://sonarcloud.io/api/project_badges/measure?project=kingchun1991_nextjs-chakra-starter-blog&metric=bugs)](https://sonarcloud.io/dashboard?id=kingchun1991_nextjs-chakra-starter-blog) [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=kingchun1991_nextjs-chakra-starter-blog&metric=code_smells)](https://sonarcloud.io/dashboard?id=kingchun1991_nextjs-chakra-starter-blog) [![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=kingchun1991_nextjs-chakra-starter-blog&metric=duplicated_lines_density)](https://sonarcloud.io/dashboard?id=sozonome_nextarter-chakra)

[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fkingchun1991%2Fnextjs-chakra-starter-blog&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false)](https://hits.seeyoufarm.com)


## 🏗 System Architecture

This project uses a **Split-Layer** architecture to separate Next.js routing concerns from React UI logic.

```mermaid
graph TD
    subgraph "Routing Layer (src/app)"
        L[layout.tsx] --> Providers
        P[page.ts] --> Logic
    end

    subgraph "Logic Layer (src/lib)"
        Providers --> Layout[Layout Component]
        Layout --> Header
        Layout --> Footer
        Logic --> HomePage[Page Component]
    end

    subgraph "UI Layer (src/components)"
        HomePage --> Components
        Header --> Components
        Footer --> Components
    end
```

## 📂 Repository Structure

The code is organized to keep business logic and routing separate:

```bash
src/
├── app/            # Next.js App Router (Entry points)
│   ├── layout.tsx  # Global RootLayout & Providers
│   └── page.ts     # Re-exports Home from lib/pages
├── components/     # Shared UI components
│   └── ui/         # Primitives (Buttons, Inputs, etc.)
└── lib/            # Application Business Logic
    ├── layout/     # Shell components (Header, Footer)
    ├── pages/      # Page implementations (Home, etc.)
    └── styles/     # Theme configuration
```

## 🛠 Getting Started

### 1. Get the Code

Click the **Use this template** button on this repository, or clone it directly:

```bash
git clone https://github.com/kingchun1991/nextjs-chakra-starter-blog.git <YOUR_APP_NAME>
cd <YOUR_APP_NAME>
```

Alternatively, use `degit` to clone without git history:

```bash
npx degit kingchun1991/nextjs-chakra-starter-blog <YOUR_APP_NAME>
cd <YOUR_APP_NAME>
```

> **Prerequisites**: Node.js v24+ and [pnpm](https://pnpm.io/) are required.
> Install pnpm with: `npm install -g pnpm`

### 2. Install Dependencies

```bash
pnpm install
```

### 3. Run Development Server

```bash
pnpm dev
```

Open [http://localhost:3000](http://localhost:3000) to view it in the browser.

### 4. Build for Production

```bash
pnpm build
```

### 5. Run Tests

```bash
pnpm test:e2e
```

## 🧹 Code Quality

We use **Biome** for fast formatter and linter.

```bash
# Check code issues
pnpm biome:check

# Fix issues automatically
pnpm biome:fix
```
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.