记录自己博客的发布流程,免得每次都要回去翻聊天记录。
三步发布
1. 把 .md 文件放进 source/_posts/
文件名跟标题保持一致即可,中文也行。文件最顶上必须有 front-matter:
1 | --- |
需要打标签时再加一行:
1 | --- |
2.(可选)本地预览
1 | cd ~/myblog |
浏览器打开 http://localhost:4000 看效果,Ctrl+C 退出。不预览也行。
3. 提交并推送
1 | cd ~/myblog |
push 完成后 1–2 分钟,文章自动出现在博客上。
front-matter 字段说明
| 字段 | 必填? | 说明 |
|---|---|---|
title |
强烈建议写 | 不写会拿文件名当标题,中文文件名容易出问题 |
date |
强烈建议写 | 不写会拿文件 mtime 当时间,git pull 后会乱 |
tags |
否 | 不需要就整行删掉,不要留空 tags: |
date 字段决定文章 URL(格式 年/月/日/标题/),发布后别改,否则链接会变。
date 怎么写
推荐写”实际发布那一刻”的真实时间,精确到分钟即可,秒一律写 00:
1 | date: 2026-05-21 22:37:00 |
不建议刻意凑整点——同一天发多篇会撞车导致排序乱。
懒得手写的话,用 hexo new 自动生成,连文件都不用自己建:
1 | cd ~/myblog |
会在 source/_posts/ 下自动创建文件,front-matter 已经填好当前时间。
其他常见操作
写多篇一起发
把多个 .md 都放进 source/_posts/,一次 commit 提交即可。
修改已发布的文章
直接编辑那个 .md 文件:
1 | git add source/_posts/ |
删除文章
1 | rm source/_posts/某文章.md |
从 Windows 复制过来的 .md 带 :Zone.Identifier
1 | rm source/_posts/*:Zone.Identifier |
置顶 / 推迟发布
把 date 写成未来时间(比如下周),文章会”等到”那个时间才出现在首页。
补发以前写的旧文
date 写成实际写作那天的时间,文章会按时间顺序插入到中间位置。
构建失败了怎么办
去 GitHub Actions 页面 看红色那次 run,点进去看日志最末几行的报错。
核心记住一句
只要 push 到 main,就会自动发布。 只需要管好 source/_posts/ 里的 .md,其他都是自动化的。