一、前提:进入 WSL 环境
所有操作都在 WSL Ubuntu 终端中进行。
在 VS Code 终端中进入 WSL(三种方式)
方式 1:直接输入命令(最简单)
在 VS Code 中按 `Ctrl + `` 打开终端,输入:
1 | wsl |
回车后进入 Ubuntu,你会看到提示符变成 wsluser@...。
方式 2:新建 WSL 专用终端
点击终端右上角 + 旁边的 ˅ 下拉箭头 → 选择 “Ubuntu (WSL)”
方式 3:把 WSL 设为默认终端
按 Ctrl + Shift + P → 搜索 Terminal: Select Default Profile → 选择 Ubuntu (WSL),之后每次打开终端默认就是 Ubuntu。
进入博客目录
1 | cd ~/blog |
用 VS Code 打开文件
在 WSL 终端中可以用 code 命令直接在 VS Code 中打开任何文件:
1 | code ~/blog/source/_posts/文件名.md |
前提:VS Code 需安装 Remote - WSL 扩展(通常已预装)。
二、电脑端写作与发布
创建新文章
1 | cd ~/blog 或者直接cd ~/blog/source/_posts |
⚠️ 标题不要带
.md后缀,Hexo 会自动加上。
这会在 source/_posts/ 下生成 我的第一篇文章.md,然后可以用 VS Code 打开编辑:
1 | code source/_posts/我的第一篇文章.md |
Markdown 文章头部格式(Front Matter)
1 | --- |
本地预览
1 | cd ~/blog |
浏览器打开 http://localhost:4000 即可预览。
发布到线上
不使用 hexo deploy,而是用 Git 直接推送源码,让 Cloudflare Pages 自动构建:
1 | git add -A |
推送后 Cloudflare Pages 会自动检测变更,自己执行 hexo generate 并部署上线(约 1-2 分钟生效)。
为什么不用 hexo deploy 了?
Cloudflare Pages 需要的是源码,它在服务器上自己执行 hexo generate:
1 | 你的电脑 ──git push──→ GitHub(源码:.md、_config.yml、主题...) |
hexo generate 还要用吗?
发布上线不需要,Cloudflare Pages 会替你执行。
本地预览时需要:
1 | hexo generate # 生成 static 文件 |
或者直接 hexo server(它会自动生成后再启动)。
📱 手机 CMS 例外:CMS 因网络限制暂不可用,发布请使用电脑端 git push 或 Obsidian 同步脚本。
🖊️ Obsidian 写作(推荐)
如果你更喜欢用 Obsidian 编辑文章(支持所见即所得、图片直接粘贴等),可以使用同步脚本:
首次设置:
- 在 Windows 资源管理器双击
sync-obsidian.bat pull,将 WSL 中的source/内容同步到D:\obsidian\obsidian-vault\ - 打开 Obsidian → Open folder as vault → 选择
D:\obsidian\obsidian-vault
日常写作流程:
1 | 打开 Obsidian(Vault = D:\obsidian\obsidian-vault) |
sync-obsidian.bat 命令:
| 命令 | 作用 |
|---|---|
sync-obsidian.bat push |
推送改动到 WSL 并发布(默认 commit 信息”更新笔记”) |
sync-obsidian.bat pull |
从 WSL 拉取最新内容到 Obsidian Vault |
⚠️ 如果你在 VS Code 或 CMS 端编辑了文章,需要先
pull再继续 Obsidian 编辑。
三、📁 文章管理
重命名文章
1 | mv ~/blog/source/_posts/旧名称.md ~/blog/source/_posts/新名称.md |
删除文章
方式 1:命令行
1 | rm ~/blog/source/_posts/文件名.md |
方式 2:VS Code 中删除
在左侧文件资源管理器找到 source/_posts/,右键文件 → Delete,然后终端执行 git add -A && git commit -m "删除文章" && git push origin main。
方式 3:手机 CMS 删除
登录 https://mumutingyun.site/admin/,进入文章后点删除(自动 commit + push,Cloudflare Pages 自动构建)。
四、📱 手机端登录后台(Decap CMS)【⚠️ 目前不可用】
⚠️ 注意:由于网络限制(GFW),Decap CMS 的 GitHub OAuth 登录在国内无法正常使用,手机端和电脑端浏览器均无法完成授权。此功能暂时搁置,等有合适的网络环境或替代方案后再启用。
以下为原始配置说明,供日后参考:
- 打开手机浏览器,访问
https://mumutingyun.site/admin/ - 点击 “Login with GitHub” → “Continue with GitHub”
- 用 GitHub 账号授权登录后即可在线编辑文章、上传图片、发布
五、Git 远程仓库工作流
设置 Git 身份(首次执行):
1 | cd ~/blog |
设置远程仓库(使用 SSH):
1 | git remote add origin git@github.com:mumutingyun/mumutingyun.github.io.git |
如果已存在先删除:
1 | git remote remove origin |
六、📋 完整工作流速查表
| 场景 | 操作方式 |
|---|---|
| 🖊️ Obsidian 写文章(推荐) | Obsidian 编辑 → 双击 sync-obsidian.bat push 发布 |
| 💻 VS Code 写文章 | hexo new "标题" → 编辑 .md → git push origin main 发布 |
| 📱 手机写文章 | |
| ✏️ 重命名文章 | mv 改名 → code 修改 title → git push origin main |
| 🗑️ 删除文章 | rm 删除 → git push origin main(CMS 删除自动部署) |
| 🔍 本地预览 | hexo server → 访问 http://localhost:4000 |
| 🔄 拉取最新 | git pull origin main |
七、⚠️ 重要注意事项
手机端 CMS 发布后,电脑端需要先(CMS 暂不可用)git pull再写新文章- 电脑端
git push origin main后,其他端需要git pull才能看到最新内容 - 图片上传:VS Code 中用 Ctrl+Alt+V 粘贴图片(需安装 Paste Image 插件),Obsidian 中直接 Ctrl+V
- 不要同时在多端编辑同一篇文章,会产生 Git 冲突
CMS 登录需要 GitHub OAuth(CMS 暂不可用,相关配置见d:\WSL\client id和client secret.txt)
八、首次部署检查清单
- GitHub 仓库
mumutingyun.github.io已创建 - 代码已 push 到 GitHub
- Cloudflare Pages 已连接仓库,构建命令
hexo generate,发布目录public -
https://mumutingyun.site能正常访问 -
https://mumutingyun.site/admin/能打开 CMS 登录页
九、🖥️ 在新电脑上搭建写作环境
如果你换了电脑或想在另一台电脑上写文章,不需要重新走完整搭建流程,只需把 GitHub 上的代码拉下来即可。
前提:新电脑也需要 WSL + Node.js
在新电脑上先安装基础环境:
- 安装 WSL2 + Ubuntu
- 安装 nvm + Node.js:
1
2
3curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
node -v # 确认版本 >= 18
拉取博客代码
1 | # 克隆仓库 |
日常写作流程(在任何一台电脑上都一样)
1 | # 1. 开工前先拉取最新(防止另一台电脑或手机 CMS 有更新) |
⚠️ 跨电脑协作注意事项
- 写之前一定要
git pull,否则可能和另一台电脑或手机 CMS 的更新冲突 node_modules/已经被.gitignore忽略,不会上传到 GitHub。所以克隆后必须执行npm install才能运行package.json和package-lock.json会同步,如果你在其中一台电脑安装了新插件(npm install xxx --save),另一台电脑git pull后再npm install就能同步_config.yml中不要写 Token。用 HTTPS 推送时如果遇到认证问题,可以在 URL 中临时嵌入 Token,但不要 commit 包含 Token 的配置文件