Next.jsHTMLReactBlog

next-theme-coline — Next.js Blog Template

By syfxlin

Coline is a blog template based on the Next.js App Router, emphasizing lightweight, clean typography and content creation, with integrated Keystatic visual editing, Artalk comments, and RSS.

Explore the design

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

2 previews
Desktop homepage1 / 2
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 2

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-03View source

What stands out

A quick read of the recorded project description.

01

A blog template built on the Next.js App Router, with a neutral color interface that highlights the body content

02

Integrates Keystatic CMS, supporting visual content editing in the browser

03

Built-in RSS subscription, making it easy for readers to subscribe via RSS readers

04

Supports interface language configuration for Simplified Chinese, Traditional Chinese, and English

05

Connects to Google Analytics and Artalk comments via environment variables, automatically disabled when not configured

06

Uses Fuse.js to provide in-site search capability

Template Details

Coline (connect + line) is a blog template developed on the Next.js App Router. Its design direction is lightweight and simple, with a neutral color interface that uses bright colors only in specific scenarios, leaving attention to the body content. The template includes built-in RSS subscription and integrates Keystatic CMS for visual editing, making it convenient for authors to write and modify articles in the browser.

In terms of the tech stack, the template uses Next.js App Router, Vanilla Extract for styling, Keystatic for content management, Artalk for comments, and Fuse.js for in-site search. The multilingual interface supports configuration for Simplified Chinese, Traditional Chinese, and English.

Before use, you need a GitHub account and must create a GitHub Token and a Keystatic GitHub App; the comment feature relies on a self-deployed Artalk service, and Google Analytics is optional. Environment variables cover language, analytics, comments, GitHub repository, and Keystatic authentication configurations; when the corresponding variables are not filled in, the related features are disabled. Deployment options include one-click deployment on Vercel and local running with Node.js.

The template is licensed under Apache-2.0, allowing free use, modification, commercial use, and distribution; when distributing, you must include the license and retain attribution notices. Third-party assets such as demo images, fonts, and icons must be checked separately under their respective licenses.

Next.jsHTMLBlog

Is it right for your project?

Use Cases

  • Building a personal blog focused on text content
  • Authors who want to write and modify articles in the browser using a visual CMS
  • Independent sites that need RSS subscription, in-site search, and comment features
  • Blog projects deployed to Vercel or self-hosted with Node.js

Suitable For

  • Blog authors who prefer clean typography and want to reduce interface distractions
  • Developers familiar with Next.js and GitHub workflows who can configure environment variables themselves
  • Sites that need Chinese-English or multilingual interface configuration
  • Users who accept self-deploying the Artalk comment service

Getting started & customization

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

  1. 1

    Requires a GitHub account, and you need to create a GitHub Token and a Keystatic GitHub App (callback URL required)

  2. 2

    The comment feature relies on a self-deployed Artalk service; you need to configure the site name and service address

  3. 3

    Google Analytics is optional; the feature is disabled when the corresponding environment variable is not filled in

  4. 4

    Environment variables include multiple configurations such as language, analytics, comments, GitHub repository, and Keystatic authentication

  5. 5

    Supports one-click deployment on Vercel, and can also be initialized with create-next-app and then run and built locally

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the Apache-2.0 license in the public repository; 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

  • Free use, modification, commercial use, and distribution are permitted; when distributing, you must include the Apache-2.0 license.
  • Modified files must prominently indicate changes and retain relevant copyright, patent, trademark, and attribution notices.
  • If the original project includes a NOTICE file, you must retain applicable attribution notices when distributing derivative works.
  • The license includes an applicable contributor patent grant; initiating patent litigation as described in the license terminates that patent grant, and no trademark rights are granted.
  • 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

  • Before use, you need to register a GitHub account and create a GitHub Token and a Keystatic GitHub App (callback URL required), which is an external account dependency.
  • The comment feature relies on a self-deployed Artalk service; you need to configure the site name and service address; when not configured, the comment feature is disabled.
  • Google Analytics is an optional analytics feature; you need to register yourself and fill in the Measurement ID; when not filled in, the feature is disabled.
  • Site content depends on a specified GitHub repository; you need to configure the repository address and access token, and content is hosted on GitHub.
  • Keystatic visual editing requires configuring authentication variables such as the secret, GitHub Client ID/Secret, and App Slug; missing configuration will make it unusable.
  • Demo images, fonts, icons, and other third-party assets must be checked under their respective licenses; they cannot be judged solely by the code's Apache-2.0 license.
  • External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis

no-charge, royalty-free, irrevocable copyright license

Original License Text

You have registered [GitHub](https://github.com/) account.

Original README

You have installed [Artalk](https://github.com/ArtalkJS/Artalk) (optional, comment feature)

Original README

You have registered [Google Analytics](https://analytics.google.com/) (optional, analytics features).

Original README

**NEXT_PUBLIC_COLINE_GITHUB_REPO**: GitHub repository for your site

Original README

**KEYSTATIC_SECRET**: 80-bit hex random string, which can be obtained using the `require("crypto").randomBytes(40).toString('hex')` script.

Original README
https://github.com/syfxlin/next-theme-coline/blob/master/LICENSEhttps://github.com/syfxlin/next-theme-coline/blob/master/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-03. 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 · 86 / 100
Technologies
Next.js · HTML · 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
2024-10-16
Screenshot last checked
2026-10-03

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: 42aacdb1f048d79850ce655ca9af387e173be54f2d109c6d801f6cad2e371366

2026-10-03T00:38:18.016Z

Source file / repository
# Coline - Light, clean and elegant Next.js template

Coline (**co**nnect, **line**) is a blog template based on the Next.js App Router development, built on the concept of lightness and simplicity of design, eschewing fancy interfaces and focusing on content creation.

## Design Concepts

- **Simple, Clean**: The human attention span is limited, and to keep the reader focused on the content, Coline kept the colors to a minimum, using a wide range of neutrals, with bright colors used only for specific scenes, and no information that was not relevant to the content should be present.
- **Light, Fast**: The human have a limited tolerance, and usually readers lose patience with a site that can't load most of its content in less than 3 seconds. Coline excels in LightHouse, with Performance > 98% and Best practice 100%.
- **SEO 100%**: Websites are not just for humans, they need to be for machines as well. Coline has a 100% SEO score in LightHouse. RSS is also supported, allowing readers to subscribe to the blog using an RSS reader.
- **Accessibility**: Not everyone is perfect, and there should be no discrimination against anyone who isn't.Coline makes it as easy as possible for people with disabilities to use. Coline has Accessibility > 90% in LightHouse.
- **Writing-friendly**: The content of the website is written by the author, so it is equally important to have a good writing experience. Coline integrates with Keystatic CMS to support visual editing.

## Technology Stacks

- Next.js 14 (App Router)
- Vanilla Extract
- Keystatic
- Artalk
- Fuse.js

## Examples

- [My Blog](https://blog.ixk.me)
- [Coline Demo](https://next-theme-coline-syfxlin.vercel.app/)

## LightHouse

![Desktop Benchmark](https://github.com/syfxlin/static/raw/master/next-theme-coline/desktop-benchmark.1977x1173.png)

![Mobile Benchmark](https://github.com/syfxlin/static/raw/master/next-theme-coline/mobile-benchmark.1977x1124.png)

## Installation

### Requirements

- You have registered [GitHub](https://github.com/) account.
- You have registered [Vercel](https://vercel.com) account (optional, deployed with Vercel).
- You have registered [Google Analytics](https://analytics.google.com/) (optional, analytics features).
- You have installed [Artalk](https://github.com/ArtalkJS/Artalk) (optional, comment feature)

### Prepare Environments

**Create GitHub Token**

![Create GitHub Token](https://github.com/syfxlin/static/raw/master/next-theme-coline/create-github-token.2853x1564.gif)

**Create Keystatic GitHub App**

- The GitHub App name can be anything you want.
- Please replace blog.ixk.me with your own domain name.
- Please check the Callback URL after creation, if there is something missing, you need to add it again.
- Please keep the GitHub App Name, Client ID, Client Secret after creation, it will be used later.

![Create GitHub App](https://github.com/syfxlin/static/raw/master/next-theme-coline/create-github-app.2853x1564.gif)

**Google Analytics、Artalk**

- [Google Analytics](https://analytics.google.com)
- [Artalk](https://artalk.js.org)

### Environment Variables

- **NEXT_PUBLIC_COLINE_LANGUAGE**: Configuration language, optional values `zh-Hans`, `zh-Hant`, `en`.
- **NEXT_PUBLIC_COLINE_GOOGLE_ANALYTICS**: Google Analytics Measurement ID, if you don't fill in this variable, Google Analytics will be disabled.
- **NEXT_PUBLIC_COLINE_ARTALK_SITE_NAME**: Artalk site name, if you don't fill in this variable, Artalk will be disabled.
- **NEXT_PUBLIC_COLINE_ARTALK_SERVER_URL**: Artalk server address, if you don't fill in this variable, Artalk will be disabled.
- **NEXT_PUBLIC_COLINE_GITHUB_REPO**: GitHub repository for your site
- **COLINE_GITHUB_TOKEN**: GitHub Personal Access Token, the steps to create it are given above.
- **KEYSTATIC_SECRET**: 80-bit hex random string, which can be obtained using the `require("crypto").randomBytes(40).toString('hex')` script.
- **KEYSTATIC_GITHUB_CLIENT_ID**: GitHub Client ID, the steps to create it are given above.
- **KEYSTATIC_GITHUB_CLIENT_SECRET**: GitHub Client Secret, the steps to create it are given above.
- **NEXT_PUBLIC_KEYSTATIC_GITHUB_APP_SLUG**: GitHub App Name, the steps to create it are given above.

### Deployment with Vercel

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fsyfxlin%2Fnext-theme-coline&env=NEXT_PUBLIC_COLINE_LANGUAGE,NEXT_PUBLIC_COLINE_GOOGLE_ANALYTICS,NEXT_PUBLIC_COLINE_ARTALK_SITE_NAME,NEXT_PUBLIC_COLINE_ARTALK_SERVER_URL,NEXT_PUBLIC_COLINE_GITHUB_REPO,COLINE_GITHUB_TOKEN,KEYSTATIC_SECRET,KEYSTATIC_GITHUB_CLIENT_ID,KEYSTATIC_GITHUB_CLIENT_SECRET,NEXT_PUBLIC_KEYSTATIC_GITHUB_APP_SLUG&project-name=blog&repository-name=blog)

### Deployment with Node.js

**Initializing site project with create-next-app**

```shell
pnpm dlx create-next-app --example https://github.com/syfxlin/next-theme-coline
```

**Configuring the env file**

```shell
cp .env.example .env
# Write environment variables to the .env file
```

**Launch project**

```shell
pnpm dev
```

**Building project**

```shell
pnpm build
```

## Thanks

Many thanks to the following sites for providing design ideas for this template.

- [Anthony Fu](https://antfu.me/)
- [Sukka's Blog](https://blog.skk.moe/)
- [蟬時雨](https://www.chanshiyu.com/)
- [hexo-theme-stellar](https://github.com/xaoxuu/hexo-theme-stellar)
- [wordpress-theme-origami](https://github.com/syfxlin/origami)
- and more...

## Maintainer

**@syfxlin/next-theme-coline** is written and maintained with the help of [Otstar Lin](https://github.com/syfxlin) and the following [contributors](https://github.com/syfxlin/next-theme-coline/graphs/contributors).

## License

Released under the [Apache-2.0](https://opensource.org/licenses/Apache-2.0) License.
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.