写技术博客最怕什么?不是写不出来,而是每次落笔前都像在做复杂的案头工作:新建深层文件夹、手动硬拼 YAML 头、到处拷贝图片路径,写完草稿还不敢随便 commit,生怕半成品被直接编译发布到线上丢人现眼。
在 RustPress 里,写文章回归到了最纯粹的节奏:纯 Markdown 写作、规范清晰的 Frontmatter、开箱即用的草稿隔离,以及完全自动化的命令行一键发布。
本篇系统介绍日常技术文章的目录组织、元数据字段规范与倒分页算法优势。
一、文章存放目录与资源组织
RustPress 推荐按年份分层存放日常博客文章:
source/
├── 2026/ # 年份目录
│ ├── 1.md # 纯数字自增或自定义命名的博文名称
│ ├── 2.md
│ ├── why-rust-in-2026.md
│ └── assets/ # 本年份专属插图目录
│ └── memory-safety.png # Markdown 内引用: 
└── 2025/
├── 1.md
└── ...
图片组织规范:所有博客文章和专栏文章的插图,默认统一放在 Markdown 文件同目录下的
assets/文件夹中,文章内直接写相对路径assets/pic.png,干净整洁,移动和迁移时绝不会丢图。
二、Frontmatter 元数据规范
每篇 Markdown 顶部使用 --- 包裹的 YAML 元数据块,用来声明文章的基础信息:
---
title: "深入浅出 Rust 异步运行时与 Tokio 核心原理"
date: "2026-08-28 14:30:00"
layout: blog
tags: ["Rust", "异步编程", "Tokio", "后端架构"]
categories: ["技术", "后端"]
draft: false
description: "剖析 Future 状态机、Task 调度、Waker 唤醒机制与 Reactor 事件循环。"
cover: "assets/tokio-banner.png"
comments: true
---
# 深入浅出 Rust 异步运行时与 Tokio 核心原理
正文从这里开始编写……
我一向主张使用 md 格式存储创作内容,所有结构化的信息都可以存储在 Frontmatter 中,这让 md 文件不仅存储的是内容,还有结构化信息,并且这些信息+内容是文件自足的,从一个地方拷贝到另一个地方也可以工作,这是它的优势,也是我选择它的理由。
核心字段速查清单
title(String· 必填)- 文章主标题。若缺失会自动提取正文第一个
# 一级标题。
- 文章主标题。若缺失会自动提取正文第一个
date(String· 推荐)- 发布时间(格式:
YYYY-MM-DD HH:MM:SS),用于时间轴排序与归档。
- 发布时间(格式:
layout(String· 可选)- 布局模板,默认为
blog。
- 布局模板,默认为
tags(Array· 可选)- 标签数组(如
["Rust", "Web"]),自动汇入/tag/页面。
- 标签数组(如
categories(Array· 可选)- 分类数组(如
["技术", "后端"]),自动汇入/cat/页面。
- 分类数组(如
draft(Bool· 可选)- 草稿开关。
true时本地预览可见,线上构建自动排除。
- 草稿开关。
description(String· 可选)- 文章摘要,用于社交分享卡片与列表简介。
cover(String· 可选)- 文章封面图相对或绝对路径。
comments(Bool· 可选)- 是否为此文章开启底部的互动评论区(默认继承全局设置)。
三、草稿隔离机制(Draft Mode)
写长文往往需要几天时间反复打磨,RustPress 提供了完善的草稿防护:
- 本地写作校对时:设置
draft: true。在执行rustpress serve(或访问本地http://localhost:1111)时,该文章正常展示,并在标题旁标注醒目的黄色 草稿 徽章,方便预览排版; - 云端生产构建时:执行
rustpress build时,系统自动过滤掉所有草稿文章,不生成静态 HTML,不进入 RSS 订阅源与 Sitemap,不用担心半成品提前泄露。
草稿模式为内容提供了安全的打磨温床,避免半成品污染外部索引;但过长的草稿期容易诱发完美主义拖延,让灵感在本地搁浅。其实 RustPress 是一个渐进式创作系统,我的观点是,只要核心论点自洽,即应发布上线,通过后续 Commit 持续增量完善。分界点在于「核心观点是否已经能够自圆其说」,只要达到这一点就发布吧,让读者早点阅读与评论,让读者参与创作,这也是新时代的创作方式。
四、为什么需要倒分页算法?
传统静态博客在发布新文章时,有一个广为人知的致命硬伤:所有历史分页的内容会整体往下顺移一位。第一页挤下去的文章跑到了第二页,第二页的跑到了第三页……这会导致 CDN 缓存大面积失效、搜索引擎蜘蛛对旧 URL 重复抓取甚至索引错乱。
RustPress 独创的倒分页算法彻底化解了这个痛点:
- 首页永远展示最新发布的一定数量的文章;
- 历史早期文章固定封存在最早的分页编号中;
- 老页面的 URL 与 HTML 产物永久固化不变,对 CDN 边缘缓存和搜索引擎极其友好。不仅首页如此,全站的分类和标签列表也全面遵循倒分页机制。
五、一键新建博文指令
不需要手动建文件和敲 YAML 头,直接运行 CLI 指令:
# 使用 RustPress 内置命令
rustpress new-blog "Rust 并发编程最佳实践"
# 或使用辅助脚本
./new-blog.sh "Rust 并发编程最佳实践"
命令会自动完成:
- 定位当前年份目录(如
source/2026/); - 扫描并自增当前年份的最大数字文件名(如
3.md); - 自动填好带当前时间戳的标准 Frontmatter 与标题骨架。
打开生成的文件直接敲字即可。下一篇,我们来看如何用「专栏系统」写体系化长篇教程与电子书。