真正的极客最不能容忍的事情,就是写文章时还要伸手去抓鼠标——哪怕只是为了在文件夹里「新建文本文档」。
最顺手的体验永远是:双手不离开键盘,敲一行简短的命令,需要的文件、模板、目录索引全部自动创建好,直接进入编辑器开始码字。不仅速度飞快,关键是姿势优雅,心无旁骛。
RustPress 内置了一套精炼的 命令行子指令集(CLI)与快捷脚本,涵盖了日常博文、专栏连载、闲言微动态、专栏目录索引重构,以及高清封面生成的全套操作。
一、配置 PATH 环境变量(全局可用)
把 rustpress 可执行文件加入系统的 PATH 环境变量,在任意终端目录下都能直接唤起:
1. 源码编译并安装到 Cargo Bin
如果你是从源码编译使用:
# 在 rustpress 源码仓库根目录下执行
cargo install --path .
Cargo 会自动将编译好的 release 二进制包放到 ~/.cargo/bin/rustpress。
2. 检查环境变量
确保你的 Shell 配置文件(如 ~/.bashrc、~/.zshrc 或 ~/.config/fish/config.fish)包含了 ~/.cargo/bin:
export PATH="$HOME/.cargo/bin:$PATH"
保存后执行 source ~/.bashrc(或 source ~/.zshrc)使其生效。
3. 验证指令
在终端运行:
rustpress --help
能看到子命令列表,说明配置就绪。
二、前置安全检查机制
为了防止在错误的工作目录下误建文件,RustPress 的所有内容创建与运维指令(
new-blog、new-article、new-tweet、make-catalog、make-cover)都有严格的前置校验。
当前执行目录下必须存在source目录。如果没检测到source,程序会自动拦截并提示:
❌ 错误: 当前目录下未找到 source 目录,请在博客项目根目录下运行此命令!
三、常用创作指令详解
1. 新建日常博客文章 (new-blog)
自动识别当前年份、自增当前年份的最大数字文件名,自动生成标准 Frontmatter。
# 指令方式
rustpress new-blog "深入浅出 Rust 异步并发模型"
# 脚本方式
./new-blog.sh "深入浅出 Rust 异步并发模型"
执行结果:
- 自动在
source/2026/(当年年份)下创建16.md; - 自动写入包含
title、date、layout: blog及正文一级标题的标准骨架。
2. 新建专栏文章并自动追加目录 (new-article)
在指定专栏目录下创建子文章,并自动将其追加到该专栏 README.md 的 catalog 目录索引中:
# 语法: rustpress new-article <专栏目录名> [文章标题]
rustpress new-article rustpress "3.8.命令行创作指南"
# 脚本方式
./new-article.sh rustpress "3.8.命令行创作指南"
执行结果:
- 自动在
source/columns/rustpress/下创建3.8.命令行创作指南.md; - 自动读取并更新
source/columns/rustpress/README.md,将该文章追加至catalog列表末尾。
3. 发布碎片化短动态闲言 (new-tweet)
随手记录灵感或技术碎碎念:
# 指令方式
rustpress new-tweet "今天完成了 CLI 指令扩展,写作体验越来越轻快了!"
# 脚本方式
./new-tweet.sh "今天完成了 CLI 指令扩展,写作体验越来越轻快了!"
执行结果:
- 自动按当下的「年份 / 月份」存放到
source/tweets/YYYY/MM/目录中; - 自动以时间戳命名并写入
layout: tweet元数据。
4. 专栏目录索引整理与重构 (make-catalog)
扫描专栏目录下的所有 Markdown 文件,进行自然排序(Natural Sort),自动补齐 README.md 中缺失的文章,同时完好保留你手动排好的次序与分组分类标题:
# 整理指定专栏
rustpress make-catalog rustpress
# 一键扫描整理全站所有专栏
rustpress make-catalog --all
5. 专栏高清封面图自动绘制 (make-cover)
基于专栏标题与作者名,自动绘制 900×500 标准专栏封面图片并绑定:
# 生成默认浅色高雅封面
rustpress make-cover rustpress
# 一键为全站所有专栏批量生成封面
rustpress make-cover --all
四、CLI 核心指令速查清单
1. 内容新建指令
- 新建日常博客
- RustPress 指令:
rustpress new-blog [标题] - 快捷脚本:
./new-blog.sh [标题] - 核心动作:自动在
source/YYYY/下按数字自增编号创建 Markdown 文章。
- RustPress 指令:
- 新建专栏文章
- RustPress 指令:
rustpress new-article <专栏> [标题] - 快捷脚本:
./new-article.sh <专栏> [标题] - 核心动作:自动创建专栏子文章,并同步将文件挂载入 README.md 的
catalog目录。
- RustPress 指令:
- 新建闲言动态
- RustPress 指令:
rustpress new-tweet [内容] - 快捷脚本:
./new-tweet.sh [内容] - 核心动作:自动在
source/tweets/YYYY/MM/下以时间戳生成微动态文件。
- RustPress 指令:
2. 专栏辅助与自动化工具
- 重构专栏目录
- RustPress 指令:
rustpress make-catalog [专栏名 / --all] - 快捷脚本:
./make-catalog.sh [专栏名] - 核心动作:扫描专栏目录下的所有文章,按文件名自然排序比对并自动补齐
catalog。
- RustPress 指令:
- 生成专栏高清封面
- RustPress 指令:
rustpress make-cover [专栏名 / --all] - 快捷脚本:
./make-cover.sh [专栏名] - 核心动作:根据专栏标题自动渲染生成 900×500 高清封面图并写入
assets/cover.png。
- RustPress 指令:
3. 本地服务与站点构建
- 启动本地预览服务
- RustPress 指令:
rustpress serve - 快捷脚本:
./start-dev.sh - 核心动作:启动带 SSE 实时热重载的本地预览开发服务器(默认端口
:1111)。
- RustPress 指令:
- 停止开发服务器
- 快捷脚本:
./stop-dev.sh - 核心动作:优雅停止在后台常驻运行的开发服务器进程。
- 快捷脚本:
- 查看服务运行状态
- 快捷脚本:
./status-dev.sh - 核心动作:检测开发服务器 PID、端口占用与运行状态。
- 快捷脚本:
- 全站静态生产构建
- RustPress 指令:
rustpress build - 快捷脚本:
./prod.sh - 核心动作:毫秒级增量/全量编译,生成生产就绪的
public/静态产物。
- RustPress 指令:
到这里,第三部分「内容创作」全部涵盖完毕。第四部分,我们将深入主题定制与开发,看看如何通过 Tera 模板和 Tailwind CSS 打造属于自己的独家视觉主题。