技术人每天都会蹦出许多零碎的想法:刚调通一个 Bug 的兴奋、读到一段精彩代码的摘录、一张工位的随拍……
如果每条碎碎念都要大动干戈写成一篇千字长文,心理负担太重;但如果全发在公域社交平台,又怕被熟人说装腔作势。
RustPress 内置了去中心化的「短动态系统(Tweets / 闲言)」。就像在自己的独立博客里搭了一个专属微动态广场,数据归自己,支持多图九宫格排版,而且本地敲一行命令或者在首页输入框直接发布。
一、Tweets 目录组织规范
短动态存放在 source/tweets/ 目录下,按「年份 / 月份」自动分层归档:
source/tweets/
└── 2026/
└── 08/
├── assets/ # 当月配图目录
│ ├── 20260828143000_0.jpg
│ └── 20260828143000_1.jpg
└── 20260828143000.md # 动态文件(以时间戳自动命名)
二、单条动态 Markdown 格式规范
每条动态是一个轻巧的 Markdown 文件:
---
date: 2026-08-28 14:30:00
layout: tweet
images:
- "/tweets/2026/08/assets/20260828143000_0.jpg"
- "/tweets/2026/08/assets/20260828143000_1.jpg"
---
今天把 RustPress 的增量编译逻辑梳理了一遍,响应速度确实干净利落。静态博客的终局,就该是极简、快速与彻底的数据掌控。
date:发布时间戳,用于时间轴精准倒序;layout: tweet:指示模板采用微动态卡片渲染;images:可选配图列表(支持多图,相对路径或外部图床均可)。
三、多图自适应九宫格排版
主题模板针对 images 列表提供了自动适配呈现:
- 1 张图片:自适应单张大图展示,保持原始宽高比;
- 2 张图片:双列对称并排;
- 3 张及以上(3 / 4 / 9 图):自动排列为正方形九宫格网格,点击支持呼出 Lightbox 灯箱查看高清原图。
四、三种极速发布姿势
RustPress 为发布微动态提供了三种不同的操作方式:
1. 终端命令行快速发布(最常用)
# 指令方式
rustpress new-tweet "今天完成了 CLI 指令扩展,日常记录越来越顺手了!"
# 脚本方式
./new-tweet.sh "今天完成了 CLI 指令扩展,日常记录越来越顺手了!"
底层动作:程序自动创建当前年月的子目录(source/tweets/YYYY/MM/),以当前时间戳生成文件名,自动填入 layout: tweet 并写入闲言内容。
2. 本地 Web 发布框随手发(带配图上传)
当你在本地运行 rustpress serve(或通过 dev.yishulun.com / localhost 测试域名访问)时,首页顶部会自动展现一个轻量发布框:

直接输入文字、选择图片,点击发布,后台接口会实时在 source/tweets/ 下生成 Markdown 和图片文件,并立即触发页面热刷新。测试满意后,直接一次 git push 同步到线上。
3. HTTP API 端点调用
本地开发服务提供了标准的 multipart/form-data 上传接口:
curl -X POST http://localhost:1111/api/tweets \
-F "text=刚在 Rust 项目中完成了编译优化,响应非常快!" \
-F "images=@/Users/jsmn/Pictures/screenshot.png"
五、闲言聚合主页(/t/)与无限流滚动
在 config.toml 中配置 [taxonomies] tweets = "/t" 后,访问 /t/ 即可进入专属微动态广场:
- Markdown 完整解析:支持行内代码高亮、外链与强调语法;
- 倒分页与触底加载:最新动态固定在
/t/index.html,历史分页依次后移,页面滚动到底部时自动无感异步加载下一页; - 私密与安全:线上正式域名访问时,发布框会自动隐藏,纯静态呈现,无任何数据库和安全漏洞隐患。
下一篇,我们来看如何管理「友情链接」,搭建独立博主之间的互联桥梁。