Next.jsHTMLReact博客

next-theme-coline — Next.js 博客模板

作者 syfxlin

Coline 是一个基于 Next.js App Router 的博客模板,强调轻量、简洁的排版与内容创作,集成 Keystatic 可视化编辑、Artalk 评论与 RSS。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

2 个预览视图
桌面端首页1 / 2
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 2

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-03查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

基于 Next.js App Router 构建的博客模板,界面以中性色为主,突出正文内容

02

集成 Keystatic CMS,支持在浏览器中进行可视化内容编辑

03

内置 RSS 订阅,方便读者通过 RSS 阅读器订阅博客

04

支持简体中文、繁体中文和英文三种界面语言配置

05

通过环境变量接入 Google Analytics 与 Artalk 评论,未配置时自动禁用

06

使用 Fuse.js 提供站内搜索能力

模板详细介绍

Coline(connect + line)是一个基于 Next.js App Router 开发的博客模板,设计取向是轻量与简洁,界面以中性色为主,仅在特定场景使用亮色,把注意力留给正文内容。模板内置 RSS 订阅,并集成 Keystatic CMS 提供可视化编辑,方便作者在浏览器中撰写和修改文章。

技术栈方面,模板使用 Next.js App Router、Vanilla Extract 处理样式,Keystatic 负责内容管理,Artalk 提供评论,Fuse.js 用于站内搜索。多语言界面支持简体中文、繁体中文和英文三种语言配置。

使用前需要准备 GitHub 账号,并创建 GitHub Token 与 Keystatic GitHub App;评论功能依赖自行部署的 Artalk 服务,Google Analytics 为可选。环境变量覆盖语言、分析、评论、GitHub 仓库与 Keystatic 认证等配置项,未填写对应变量时相关功能会被禁用。部署方式包括 Vercel 一键部署和 Node.js 本地运行。

模板采用 Apache-2.0 许可,可免费使用、修改、商用和分发,分发时需随附许可证并保留归属声明;演示图片、字体、图标等第三方素材需按各自许可单独核对。

Next.jsHTML博客

适合你的项目吗?

适用场景

  • 搭建以文字内容为主的个人博客
  • 希望用可视化 CMS 在浏览器中撰写和修改文章的作者
  • 需要 RSS 订阅、站内搜索与评论功能的独立站点
  • 部署到 Vercel 或使用 Node.js 自行托管的博客项目

适合人群

  • 偏好简洁排版、希望减少界面干扰的博客作者
  • 熟悉 Next.js 与 GitHub 工作流、能自行配置环境变量的开发者
  • 需要中英或多语言界面配置的站点
  • 接受自行部署 Artalk 评论服务的使用者

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    需要 GitHub 账号,并创建 GitHub Token 与 Keystatic GitHub App(需填写回调地址)

  2. 2

    评论功能依赖自行部署的 Artalk 服务,需配置站点名与服务地址

  3. 3

    Google Analytics 为可选,未填写对应环境变量时该功能禁用

  4. 4

    环境变量包括语言、分析、评论、GitHub 仓库及 Keystatic 认证等多项配置

  5. 5

    支持 Vercel 一键部署,也可用 create-next-app 初始化后在本地运行与构建

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 Apache-2.0 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发;分发时需随附 Apache-2.0 许可证。
  • 修改过的文件需显著标明改动,并保留相关版权、专利、商标及归属声明。
  • 若原项目附有 NOTICE 文件,分发衍生作品时需保留其中适用的归属声明。
  • 许可包含适用的贡献者专利授权;发起许可所述专利诉讼会终止该专利授权,且不授予商标使用权。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 使用前需注册 GitHub 账号,并创建 GitHub Token 与 Keystatic GitHub App(需填写回调地址),属于外部账号依赖。
  • 评论功能依赖自行部署的 Artalk 服务,需配置站点名与服务地址;未配置时评论功能禁用。
  • Google Analytics 为可选分析功能,需自行注册并填写 Measurement ID,未填写时该功能禁用。
  • 站点内容依赖指定的 GitHub 仓库,需配置仓库地址与访问 Token,内容托管在 GitHub 上。
  • Keystatic 可视化编辑需配置密钥、GitHub Client ID/Secret 与 App Slug 等认证变量,配置缺失将无法使用。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 Apache-2.0 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

no-charge, royalty-free, irrevocable copyright license

许可证原文

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

README 原文

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

README 原文

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

README 原文

**NEXT_PUBLIC_COLINE_GITHUB_REPO**: GitHub repository for your site

README 原文

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

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

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-03。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 86 / 100
技术栈
Next.js · HTML · React
网站类型
博客
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2024-10-16
截图检查日期
2026-10-03

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Next.js。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。

查看当时使用的来源资料

SHA-256: 42aacdb1f048d79850ce655ca9af387e173be54f2d109c6d801f6cad2e371366

2026-10-03T00:38:18.016Z

来源文件 / 仓库
# 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.
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。