Next.jsReact博客

next-blog-skyplume-template — Next.js 博客模板

作者 ruoduan-hub

Skyplume 是一个基于 Next.js 15 App Router、React 19、TypeScript、Tailwind CSS 4 与 Contentlayer 2 的 MDX 博客模板,从 0x1ai.com 个人博客提取,面向个人发布、工程笔记与长文写作。

看看你的网站会是什么样

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

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

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

全部页面与视图 3

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

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

值得关注的模板亮点

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

01

基于 Next.js 15 App Router、React 19、TypeScript、Tailwind CSS 4 和 Contentlayer 2 构建

02

MDX 写作支持 front matter、阅读时间、目录、KaTeX 数学公式、引用、代码标题与高亮、标题锚点和 GitHub alerts

03

SEO 包含 Open Graph、Twitter cards、JSON-LD BlogPosting、canonical URL、sitemap、robots.txt 和 RSS

04

内容发现提供构建时本地搜索索引、标签页、结构化归档和 RSS feed

05

阅读体验包含暗色模式、响应式布局、阅读时间、目录和上一篇/下一篇导航

06

配置集中在 data 目录下的普通数据文件与 MDX,评论使用 Giscus 且可关闭

模板详细介绍

Skyplume 是一个内容优先的 Next.js 博客模板,README 说明其从 Ruoduan 的个人博客 0x1ai.com 提取而来,用于个人发布、工程笔记、项目日志和长文 MDX 写作。模板以 MDX 为写作格式,支持 front matter、阅读时间、目录、数学公式、引用、代码高亮和自定义组件;同时提供 Open Graph、Twitter cards、JSON-LD BlogPosting、canonical URL、sitemap、robots.txt 和 RSS 等 SEO 能力。

阅读体验方面,README 提到克制的排版、低饱和配色、暗色模式、响应式布局、阅读时间、目录和上一篇/下一篇导航;动效包括路由过渡、首屏交错动画、滚动显现、信息流动画和进度条。发现内容的方式包括构建时本地搜索索引、标签页、结构化归档和 RSS。

配置集中在 data 目录下的普通数据文件和 MDX 中,README 列出了站点元数据、关于页、作者、导航、项目、社交分享卡片和 favicon 等文件。评论使用 Giscus,可通过环境变量配置,也可在 siteMetadata 中将 comments.provider 设为空字符串来关闭。部署方面提供 Vercel 部署按钮,并说明模板在没有 newsletter、analytics 或评论凭据时也能启动。README 还提到静态导出方式(EXPORT=true UNOPTIMIZED=true yarn build)以及子路径部署时设置 BASE_PATH。

README 未提供模板的版本发布记录、浏览器兼容范围、内容迁移工具或非 Vercel 平台的详细部署步骤。

Next.js博客

适合你的项目吗?

适用场景

  • 个人博客与个人网站发布
  • 工程笔记、技术文章与项目日志
  • 使用 MDX 撰写长文并需要目录、数学公式和代码高亮
  • 需要 RSS、sitemap、JSON-LD 和 Open Graph 等 SEO 输出的静态博客
  • 希望通过 data 目录下的数据文件直接维护站点信息与导航

适合人群

  • 熟悉 Next.js、React 和 TypeScript 的开发者
  • 偏好 MDX 与本地数据文件、不希望依赖 CMS 的个人写作者
  • 需要暗色模式、本地搜索和 RSS 的博客项目
  • 计划使用 Vercel 部署或进行静态导出的站点

上手与定制指南

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

  1. 1

    使用 yarn install 安装依赖,yarn dev 启动开发服务器,默认访问 http://localhost:3000

  2. 2

    先编辑 data/siteMetadata.js、data/profile.ts、data/authors/default.mdx、data/headerNavLinks.ts、data/projectsData.ts 以及 public/static 下的分享卡片和 favicon

  3. 3

    评论使用 Giscus:复制 .env.example 为 .env.local 并填入 Giscus 值;如需关闭评论,在 data/siteMetadata.js 中将 comments.provider 设为 ""

  4. 4

    在 data/blog 下创建 MDX 文件撰写文章,图片放在 public/static/blog/<post-slug> 下引用,示例文章为 data/blog/term-proxy.mdx

  5. 5

    静态导出使用 EXPORT=true UNOPTIMIZED=true yarn build,子路径部署时设置 BASE_PATH;也可通过 README 中的 Vercel 按钮部署

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

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

使用时需要遵守

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

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • 评论功能使用 Giscus,需要复制 .env.example 为 .env.local 并填入 Giscus 配置值;如不需要评论,可在 data/siteMetadata.js 中将 comments.provider 设为空字符串关闭。
  • 部署到 Vercel 时模板可在没有 newsletter、analytics 或评论凭据的情况下启动,这些集成均为可选。
  • 部署到子路径时需设置 BASE_PATH 环境变量。
  • 静态导出需使用 EXPORT=true UNOPTIMIZED=true yarn build 命令。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

Copy `.env.example` to `.env.local` and fill in your Giscus values. To disable comments entirely, set `comments.provider` to `""` in `data/siteMetadata.js`.

README 原文

Click the deploy button above. The template boots without newsletter, analytics, or comment credentials — everything is optional.

README 原文

Set `BASE_PATH` when deploying under a subpath.

README 原文

EXPORT=true UNOPTIMIZED=true yarn build

README 原文
https://github.com/ruoduan-hub/next-blog-skyplume-template/blob/master/LICENSEhttps://github.com/ruoduan-hub/next-blog-skyplume-template/blob/master/README.md

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

项目核对记录与介绍依据

模板资料

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

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

这个项目需要核对什么

记录的仓库更新时间
2026-07-02
截图检查日期
2026-10-14

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

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

查看具体选型方法 →

介绍的制作与核对状态

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

审核声明: codex-user-requested-batch-review-20261015 · 2026-10-15

查看当时使用的来源资料

SHA-256: 3a89d674d75b2bba962d9071f23bc0e7c8b7e4c7686090875cb1a9e2c8851959

2026-10-14T20:55:29.959Z

来源文件 / 仓库
<p align="center">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="public/static/images/logo-dark.svg">
    <img alt="Skyplume" src="public/static/images/skyplume-card.svg" width="480">
  </picture>
</p>

<p align="center">
  A refined, content-first Next.js blog template for personal publishing,<br/>engineering notes, project journals, and long-form MDX writing.
</p>

<p align="center">
  <a href="https://github.com/ruoduan-hub/next-blog-skyplume-template/stargazers">
    <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/ruoduan-hub/next-blog-skyplume-template?style=flat&color=%2317897e">
  </a>
  <a href="./LICENSE">
    <img alt="License" src="https://img.shields.io/badge/license-MIT-17897e?style=flat">
  </a>
  <a href="https://github.com/ruoduan-hub/next-blog-skyplume-template">
    <img alt="GitHub repo size" src="https://img.shields.io/github/repo-size/ruoduan-hub/next-blog-skyplume-template?color=17897e&style=flat">
  </a>
  <br/>
  <img alt="Next.js" src="https://img.shields.io/badge/Next.js-15-black?style=flat&logo=next.js">
  <img alt="React" src="https://img.shields.io/badge/React-19-087ea4?style=flat&logo=react">
  <img alt="TypeScript" src="https://img.shields.io/badge/TypeScript-5.7-3178c6?style=flat&logo=typescript">
  <img alt="Tailwind CSS" src="https://img.shields.io/badge/Tailwind_CSS-4-38bdf8?style=flat&logo=tailwindcss">
  <img alt="Contentlayer" src="https://img.shields.io/badge/Contentlayer-2-000?style=flat">
  <img alt="MDX" src="https://img.shields.io/badge/MDX-1b1f24?style=flat&logo=mdx">
  <a href="https://www.0x1ai.com/">
    <img alt="Production" src="https://img.shields.io/badge/production-0x1ai.com-17897e?style=flat">
  </a>
</p>

<p align="center">
  <a href="https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fruoduan-hub%2Fnext-blog-skyplume-template&project-name=skyplume-blog&repository-name=skyplume-blog">
    <img src="https://vercel.com/button" alt="Deploy with Vercel">
  </a>
  <a href="https://github.com/ruoduan-hub/next-blog-skyplume-template/generate">
    <img alt="Use this template" src="https://img.shields.io/badge/Use_this_template-238636?style=flat&logo=github">
  </a>
</p>

<p align="center">
  <a href="#quick-start">Quick Start</a> ·
  <a href="#highlights">Highlights</a> ·
  <a href="#configure-your-site">Configure</a> ·
  <a href="#write-posts">Write</a> ·
  <a href="#deploy-to-vercel">Deploy</a> ·
  <a href="./README.zh-CN.md">简体中文</a>
</p>

---

![Skyplume Blog homepage screenshot showing the clean navigation, hero section, post feed, and content-first layout](intro/demo-blog.png)

---

## Why Skyplume

Skyplume is extracted from [Ruoduan](https://www.0x1ai.com/)'s personal blog at [0x1ai.com](https://www.0x1ai.com/) — a production site written, maintained, and tuned over years of real-world use. It keeps what matters for serious personal publishing:

- **Writing experience.** MDX-first with front matter, reading time, table of contents, math, citations, code highlighting, and custom components.
- **Search visibility.** Complete SEO stack — metadata, Open Graph, Twitter cards, JSON-LD, sitemap, robots.txt, RSS.
- **Reading comfort.** Restrained typography, quiet color palette, dark mode, fast page transitions.
- **Developer ownership.** Plain data files and small React components. No CMS lock-in. No hidden configuration layers.

---

## Highlights

| | |
| --- | --- |
| **Framework** | Next.js 15 App Router, React 19, TypeScript, Tailwind CSS 4, Contentlayer 2 |
| **Authoring** | MDX, KaTeX math, citations, code titles + highlighting, heading anchors, GitHub alerts |
| **SEO** | Open Graph, Twitter cards, JSON-LD `BlogPosting`, canonical URLs, sitemap, robots.txt, RSS |
| **Discovery** | Build-time local search index, tag pages, structured archives, RSS feed |
| **Reading** | Dark mode, responsive layout, reading time, table of contents, previous/next navigation |
| **Motion** | Route transitions, staggered hero, scroll reveal, feed animations, progress bar |
| **Performance** | Static generation, optimized font loading, long-term asset caching, static export support |
| **Security** | CSP, referrer policy, HSTS, frame protection, content-type headers |
| **Lighthouse** | Baseline template tuned to **100 Performance / 100 Best Practices / 100 SEO** |

![Lighthouse scores showing 100 for Performance, Best Practices, and SEO](intro/lighthouse.png)

---

## Design Principles

Skyplume is designed for **reading before decoration**. The interface uses restrained spacing, sharp typography, and quiet borders so writing stays front and center. Motion is intentionally short and lightweight — polish without distraction.

**Mineral Teal palette.** A low-chroma, lab-grade teal paired with teal-tinted neutrals. Grays carry body text and metadata without visual noise. The primary color is reserved for links, focus states, and interactive cues. In dark mode, deep teal-gray backgrounds keep long-form reading stable.

The template is meant to be **owned**, not just used. Most customization starts in plain data files and MDX — not a hidden admin panel.

---

## Quick Start

```bash
yarn install
yarn dev
```

Open [http://localhost:3000](http://localhost:3000).

### Available Scripts

```bash
yarn dev       # Start development server
yarn build     # Production build + RSS generation
yarn serve     # Serve production build locally
yarn analyze   # Bundle analyzer
yarn lint      # Lint app, components, layouts, and scripts
```

### Static Export

```bash
EXPORT=true UNOPTIMIZED=true yarn build
```

Set `BASE_PATH` when deploying under a subpath.

---

## Configure Your Site

Edit these files first — everything is self-documenting:

| File | Purpose |
| --- | --- |
| `data/siteMetadata.js` | Title, URL, author, SEO defaults, search, comments |
| `data/profile.ts` | About page: bio, links, skills |
| `data/authors/default.mdx` | Default author metadata |
| `data/headerNavLinks.ts` | Top navigation links |
| `data/projectsData.ts` | Projects page content |
| `public/static/images/skyplume-card.svg` | Social sharing card |
| `public/static/favicons/favicon.svg` | Browser favicon |

### Comments (Giscus)

Copy `.env.example` to `.env.local` and fill in your Giscus values. To disable comments entirely, set `comments.provider` to `""` in `data/siteMetadata.js`.

---

## Write Posts

Create MDX files in `data/blog`:

```mdx
---
title: My First Post
date: '2026-01-01'
tags:
  - nextjs
  - writing
categories:
  - notes
draft: false
summary: A short description for feeds, cards, and SEO.
authors:
  - default
---

Write your post in MDX.
```

Place images under `public/static/blog/<post-slug>` and reference them:

```mdx
![Screenshot](/static/blog/my-first-post/screenshot.png)
```

A sample post is included at `data/blog/term-proxy.mdx`.

---

## Deploy to Vercel

Click the deploy button above. The template boots without newsletter, analytics, or comment credentials — everything is optional.

---

## Project Structure

```
app/                 App Router pages, metadata, sitemap, robots
components/          Shared UI, MDX components, search, theme, motion
data/                Site metadata, authors, profile, projects, blog posts
layouts/             Blog post and list page layouts
public/static/       Images, favicons, post assets
scripts/             RSS and post-build utilities
css/                 Tailwind, syntax highlighting, animations
```

---

## Recommend to Vercel

Skyplume fits the Vercel template community:

- **Category:** Blog, Next.js, Tailwind CSS, MDX
- **Repository:** [ruoduan-hub/next-blog-skyplume-template](https://github.com/ruoduan-hub/next-blog-skyplume-template)
- **Production reference:** [0x1ai.com](https://www.0x1ai.com/)

> Skyplume is a refined Next.js 15 blog template extracted from a production personal site. It ships with MDX publishing, Contentlayer, Tailwind CSS 4, local search, RSS, sitemap, JSON-LD, Open Graph defaults, dark mode, Giscus comments, static export support, security headers, and a baseline Lighthouse 100/100/100 setup for Performance, Best Practices, and SEO.

---

## Credits

Derived from the blog system powering [0x1ai.com](https://www.0x1ai.com/), built and maintained by [Ruoduan](https://www.0x1ai.com/).

## License

MIT — use, modify, and ship it.
反馈内容错误

看看同类模板

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