基于 Next.js App Router 构建的博客模板,界面以中性色为主,突出正文内容
next-theme-coline — Next.js 博客模板
作者 syfxlin
Coline 是一个基于 Next.js App Router 的博客模板,强调轻量、简洁的排版与内容创作,集成 Keystatic 可视化编辑、Artalk 评论与 RSS。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 2
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
集成 Keystatic CMS,支持在浏览器中进行可视化内容编辑
内置 RSS 订阅,方便读者通过 RSS 阅读器订阅博客
支持简体中文、繁体中文和英文三种界面语言配置
通过环境变量接入 Google Analytics 与 Artalk 评论,未配置时自动禁用
使用 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 许可,可免费使用、修改、商用和分发,分发时需随附许可证并保留归属声明;演示图片、字体、图标等第三方素材需按各自许可单独核对。
适合你的项目吗?
适用场景
- 搭建以文字内容为主的个人博客
- 希望用可视化 CMS 在浏览器中撰写和修改文章的作者
- 需要 RSS 订阅、站内搜索与评论功能的独立站点
- 部署到 Vercel 或使用 Node.js 自行托管的博客项目
适合人群
- 偏好简洁排版、希望减少界面干扰的博客作者
- 熟悉 Next.js 与 GitHub 工作流、能自行配置环境变量的开发者
- 需要中英或多语言界面配置的站点
- 接受自行部署 Artalk 评论服务的使用者
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
需要 GitHub 账号,并创建 GitHub Token 与 Keystatic GitHub App(需填写回调地址)
- 2
评论功能依赖自行部署的 Artalk 服务,需配置站点名与服务地址
- 3
Google Analytics 为可选,未填写对应环境变量时该功能禁用
- 4
环境变量包括语言、分析、评论、GitHub 仓库及 Keystatic 认证等多项配置
- 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 原文
https://github.com/syfxlin/next-theme-coline/blob/master/LICENSEhttps://github.com/syfxlin/next-theme-coline/blob/master/README.md**KEYSTATIC_SECRET**: 80-bit hex random string, which can be obtained using the `require("crypto").randomBytes(40).toString('hex')` script.
README 原文
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


## 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 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.

**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
[](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.
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

tailwind-nextjs-starter-blog
tailwind-nextjs-starter-blog 是一个面向个人技术博客的 Next.js 与 Tailwind CSS 启动模板,其 v2 版本基于 App Router 与 React Server Comp…
Next.js · 博客

Nextjs-tailwindcss-blog-template
⭐Build SEO optimized personal blog website with Next.js, Tailwind CSS and Contentlayer. If you want to learn t…
Next.js · 博客

Next-js-Blog-Boilerplate
Next-js-Blog-Boilerplate 是一套面向个人与技术博客的启动代码,基于 Next.js 12 与 Tailwind CSS 3 构建,同时集成了 TypeScript、ESLint、Prettier …
Next.js · 博客

nextjs-blog-theme
nextjs-blog-theme 是 Netlify 团队维护的一个博客启动模板,基于 Next.js 15(Pages Router)和 Tailwind CSS 4.x 构建,设计由 Bejamas 机构完成。
Next.js · 博客

blog
🚀 My personal blog made with Tailwind CSS and NextJS. Template from Timlrx. Feel free to fork, follow and use…
Next.js · 博客

tailnext
Tailnext 是一个基于 Next.js 14 App Router 和 Tailwind CSS 的免费开源模板,由 onWidget 团队创建并维护。
Next.js · 博客
