日常博客文章写作指南

更新于 2026-08-28

写技术博客最怕什么?不是写不出来,而是每次落笔前都像在做复杂的案头工作:新建深层文件夹、手动硬拼 YAML 头、到处拷贝图片路径,写完草稿还不敢随便 commit,生怕半成品被直接编译发布到线上丢人现眼。

在 RustPress 里,写文章回归到了最纯粹的节奏:纯 Markdown 写作、规范清晰的 Frontmatter、开箱即用的草稿隔离,以及完全自动化的命令行一键发布

本篇系统介绍日常技术文章的目录组织、元数据字段规范与倒分页算法优势。


一、文章存放目录与资源组织

RustPress 推荐按年份分层存放日常博客文章:

source/
├── 2026/                     # 年份目录
│   ├── 1.md                  # 纯数字自增或自定义命名的博文名称
│   ├── 2.md
│   ├── why-rust-in-2026.md
│   └── assets/               # 本年份专属插图目录
│       └── memory-safety.png # Markdown 内引用: ![配图说明](assets/memory-safety.png)
└── 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 文件不仅存储的是内容,还有结构化信息,并且这些信息+内容是文件自足的,从一个地方拷贝到另一个地方也可以工作,这是它的优势,也是我选择它的理由。

核心字段速查清单

  • titleString · 必填
    • 文章主标题。若缺失会自动提取正文第一个 # 一级标题
  • dateString · 推荐
    • 发布时间(格式:YYYY-MM-DD HH:MM:SS),用于时间轴排序与归档。
  • layoutString · 可选)
    • 布局模板,默认为 blog
  • tagsArray · 可选)
    • 标签数组(如 ["Rust", "Web"]),自动汇入 /tag/ 页面。
  • categoriesArray · 可选)
    • 分类数组(如 ["技术", "后端"]),自动汇入 /cat/ 页面。
  • draftBool · 可选)
    • 草稿开关。true 时本地预览可见,线上构建自动排除。
  • descriptionString · 可选)
    • 文章摘要,用于社交分享卡片与列表简介。
  • coverString · 可选)
    • 文章封面图相对或绝对路径。
  • commentsBool · 可选)
    • 是否为此文章开启底部的互动评论区(默认继承全局设置)。

三、草稿隔离机制(Draft Mode)

写长文往往需要几天时间反复打磨,RustPress 提供了完善的草稿防护:

  • 本地写作校对时:设置 draft: true。在执行 rustpress serve(或访问本地 http://localhost:1111)时,该文章正常展示,并在标题旁标注醒目的黄色 草稿 徽章,方便预览排版;
  • 云端生产构建时:执行 rustpress build 时,系统自动过滤掉所有草稿文章,不生成静态 HTML,不进入 RSS 订阅源与 Sitemap,不用担心半成品提前泄露。

草稿模式为内容提供了安全的打磨温床,避免半成品污染外部索引;但过长的草稿期容易诱发完美主义拖延,让灵感在本地搁浅。其实 RustPress 是一个渐进式创作系统,我的观点是,只要核心论点自洽,即应发布上线,通过后续 Commit 持续增量完善。分界点在于「核心观点是否已经能够自圆其说」,只要达到这一点就发布吧,让读者早点阅读与评论,让读者参与创作,这也是新时代的创作方式。


四、为什么需要倒分页算法?

传统静态博客在发布新文章时,有一个广为人知的致命硬伤:所有历史分页的内容会整体往下顺移一位。第一页挤下去的文章跑到了第二页,第二页的跑到了第三页……这会导致 CDN 缓存大面积失效、搜索引擎蜘蛛对旧 URL 重复抓取甚至索引错乱。

RustPress 独创的倒分页算法彻底化解了这个痛点:

  1. 首页永远展示最新发布的一定数量的文章;
  2. 历史早期文章固定封存在最早的分页编号中;
  3. 老页面的 URL 与 HTML 产物永久固化不变,对 CDN 边缘缓存和搜索引擎极其友好。不仅首页如此,全站的分类和标签列表也全面遵循倒分页机制。

五、一键新建博文指令

不需要手动建文件和敲 YAML 头,直接运行 CLI 指令:

# 使用 RustPress 内置命令
rustpress new-blog "Rust 并发编程最佳实践"

# 或使用辅助脚本
./new-blog.sh "Rust 并发编程最佳实践"

命令会自动完成

  1. 定位当前年份目录(如 source/2026/);
  2. 扫描并自增当前年份的最大数字文件名(如 3.md);
  3. 自动填好带当前时间戳的标准 Frontmatter 与标题骨架。

打开生成的文件直接敲字即可。下一篇,我们来看如何用「专栏系统」写体系化长篇教程与电子书。

金石碼农

金石碼农

大学计算机讲师,腾讯云最具价值专家(TVP),《小程序从0到1》《微信小游戏开发》作者,微信学堂讲师,极客时间荣誉讲师。公众号:艺述论。

北京, 中国

扫一扫,添加作者微信

微信二维码

评论

登录 GitHub 后即可发表评论
加载评论中...