Next.jsReact博客启动器

notion-nextjs-blog — Next.js 博客模板

作者 luciovilla

基于 Next.js 静态生成、以 Notion 数据库为内容源、使用 Tailwind CSS 排版的博客启动模板,采用 MIT 许可,作者标注仍在开发中。

看看你的网站会是什么样

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

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

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

全部页面与视图 3

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

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

值得关注的模板亮点

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

01

Next.js 静态生成页面,内容源为 Notion 数据库

02

使用 Tailwind CSS 进行样式排版

03

文章通过 Notion 表格字段控制:标题、Slug、日期、描述、发布开关与封面图

04

提供 .env.example,通过 NOTION_TOKEN 与 NOTION_DATABASE_ID 两个环境变量接入

05

仓库附带 Vercel 一键部署入口

06

MIT 许可,允许使用、修改、商用与分发

模板详细介绍

这是一个开源的博客启动模板,页面由 Next.js 静态生成,文章内容来自 Notion 数据库,样式使用 Tailwind CSS。仓库作者在 README 中明确标注「仍在开发中」,适合作为搭建个人博客的起点,而非成品站点。

内容管理方式:在 Notion 中新建页面并创建表格,表格需包含 Page(标题)、Slug(文本)、Date(日期)、Description(文本)、Published(复选框)以及可选的 Cover Image(文件与媒体)等列。文章是否展示由 Published 复选框控制,Description 同时用作首页预览文字和页面 meta description,Cover Image 会作为首页封面及社交分享图。

接入方式:需要创建 Notion Integration 获取 Token,把目标数据库共享给该 Integration,再从 Notion 页面 URL 中取出 32 位 Database ID,两者写入 .env.local 的 NOTION_TOKEN 与 NOTION_DATABASE_ID。本地运行使用 npm run dev,仓库也提供了 Vercel 一键部署入口。

已知限制:作者未声明生产可用性;免费范围仅指该 MIT 许可的代码本身,Notion 服务、域名、托管等外部依赖可能另行收费;演示中的图片、字体、图标等第三方素材需单独核对许可。

Next.js博客启动器

适合你的项目吗?

适用场景

  • 用 Notion 作为写作后台、希望文章自动同步到静态博客的个人站点
  • 想以现成 Next.js + Tailwind CSS 结构为起点搭建博客的开发者
  • 需要把 Notion 表格中的标题、日期、描述映射为首页列表与文章页元数据的场景
  • 通过 Vercel 部署并希望用环境变量管理 Notion 凭据的项目

适合人群

  • 熟悉 Next.js 与 npm 工作流、能自行配置环境变量的开发者
  • 接受作者标注「仍在开发中」状态、愿意自行调整代码的使用者
  • 以 Notion 为唯一内容编辑入口的个人博客作者

上手与定制指南

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

  1. 1

    克隆仓库后执行 npm install,并将 .env.example 复制或重命名为 .env.local

  2. 2

    在 Notion 创建 Integration 取得 Token,并把目标数据库共享给该 Integration

  3. 3

    从 Notion 页面 URL 中提取 32 位 Database ID,与 Token 一起写入 .env.local

  4. 4

    Notion 表格需包含 Page、Slug、Date、Description、Published 列,Cover Image 为可选列

  5. 5

    本地运行 npm run dev;页面 meta 信息需在 Container.js 中自行修改

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

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

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 使用该模板必须注册并创建 Notion Integration,依赖 Notion 这一外部服务,需自行承担其可用性与可能的费用变化。
  • 必须自行申请 Notion Integration Token 并配置环境变量,否则无法拉取内容。
  • 必须提供 Notion 数据库 ID 并共享给 Integration,内容源被绑定在 Notion 平台上。
  • 官方部署路径依赖 Vercel 托管服务,其免费额度与计费政策由第三方决定,可能产生费用。
  • 作者明确标注项目仍在开发中,未声明生产可用性,使用前需自行评估稳定性。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

Create a [Notion Integration](https://www.notion.so/my-integrations).

README 原文

Copy and paste the Integration Token in the `.env.local` file: `NOTION_TOKEN=____`

README 原文

Paste your Database ID in the `.env.local` file: `NOTION_DATABASE_ID=___`

README 原文

Deploy your own Notion blog with Vercel.

README 原文

*Still a work in progress.*

README 原文
https://github.com/luciovilla/notion-nextjs-blog/blob/main/LICENSEhttps://github.com/luciovilla/notion-nextjs-blog/blob/main/README.md

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

项目核对记录与介绍依据

模板资料

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

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

这个项目需要核对什么

记录的仓库更新时间
2023-04-18
截图检查日期
2026-10-02

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

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

查看具体选型方法 →

介绍的制作与核对状态

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

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

查看当时使用的来源资料

SHA-256: 14880e7646256a82b490c94b876bb46874f776860304b09e5ef1b9e0d74f54eb

2026-10-02T20:43:56.844Z

来源文件 / 仓库
# A Next.js, Notion and Tailwind CSS starter blog template 

This is an open-source starter blog template that is statically generated with Next.js, content powered by Notion and styled with Tailwind CSS.

*Still a work in progress.*

**Live example hosted on Vercel**: [https://blog.luciovilla.com](https://blog.luciovilla.com)

## Getting Started

1. Clone this repo `git clone https://github.com/luciovilla/notion-nextjs-blog.git`
2. Install its dependencies `npm install`
3. Copy or rename the `.env.example` file to `.env.local`
4. Personalize the page meta data in `Container.js`

## Creating Your Notion Pages Table

1. Create a blank page in Notion
2. Create a table on that page.
3. Add the following columns to the table:
- `Page` (type: title): this the blog post's headline and meta title.
- `Slug` (text): this is the blog post's URL slug.
- `Date` (date): the display date and meta published_time property.
- `Description` (text): this is the preview text on the homepage and the meta description property.
- `Published` (checkbox): this checks if a blog post should be displayed when deployed. 
- `Cover Image` (files & media): optional - adds a cover image for a post on the frontpage and becomes the featured image on social (og:image, twitter card image).

View this sample template table in [Notion](https://vast-rifle-eed.notion.site/8dde3326f8cb4cc68b47a96bea86e9be).

## Getting Database ID and Notion Token

- Create a [Notion Integration](https://www.notion.so/my-integrations).
- Copy and paste the Integration Token in the `.env.local` file: `NOTION_TOKEN=____`
- On the Notion page, click the "Share" button in the top right and  share the database with the Notion Integration you just created
- In a browser, go to the Notion page and grab the Database ID from the URL. Its the part of the URL after your workspace name and the slash and before the question mark. The ID is 32 characters long, containing numbers and letters.
- Paste your Database ID in the `.env.local` file: `NOTION_DATABASE_ID=___`

## Creating Blog Posts

1. In Notion click new on the table to add a new row
2. Fill in the Page title, Slug, Date and Description
3. Keep the Description text short, as it will be the text that shows up on the homepage as the post's preview text.

## Running Locally

Run `npm run dev`

## Deploy your own

Deploy your own Notion blog with Vercel.

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/git/external?repository-url=https%3A%2F%2Fgithub.com%2Fluciovilla%2Fnotion-nextjs-blog&env=NOTION_TOKEN,NOTION_DATABASE_ID&envDescription=Notion%20Integration%20token%20and%20Database%20ID%20required.&envLink=https%3A%2F%2Fblog.luciovilla.com%2Fnotion-blog-setup-instructions&project-name=notion-blog)

## Credits
Thankful for the following people as I was inspired by their code:
- [samuelkraft](https://github.com/samuelkraft/notion-blog-nextjs)
- [ijjk](https://github.com/ijjk/notion-blog)
- [leerob](https://github.com/leerob/leerob.io)
反馈内容错误

看看同类模板

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