写博客这件事,卡住大多数人的从来不是「写」,而是「发布」:买服务器、装环境、配证书、折腾 CI,等这些都弄顺,当初想写的那点兴致也差不多没了。

墨推 MoPush 只为这一件事而做:你负责写,发布交给它。 写完点一次按钮,文章就会变成静态页面,推送到你自己的 GitHub 仓库,由 GitHub Pages 免费托管。

下面是我自己用它跑博客的完整过程,从注册到上线大概五分钟。

它是怎么工作的

一句话:在网页后台写 Markdown,系统生成静态站,再 git push 到你自己的仓库。

  1. 你在后台写文章,内容存在平台的数据库里,随时可以继续改
  2. 文章通过审核后,你点「生成并推送」
  3. 平台在服务端生成静态 HTML:首页、文章页、分类页、标签页、归档页、404 页,以及 sitemap.xml、feed.xml
  4. 用你账号专属的部署密钥,把生成结果推送到你绑定的仓库
  5. GitHub Pages 自动部署,大约一分钟后你的站点就更新了

这里有两个我认为最关键的设计:

  • 成品站完全属于你。仓库是你的,提交历史是你的,域名也是你的。哪天不想用这个平台了,把仓库拿走继续用就行——生成的是纯静态文件,不依赖任何后端。
  • 平台只在两种情况下写你的仓库:你自己点「生成并推送」,或者文章通过自动审核后按平台设置替你推一次。管理员的人工复核不会碰你的仓库。

五分钟上手

第 1 步 · 注册账号

打开 www.mopush.cn 注册,需要一个能收信的邮箱——注册要填邮箱验证码,这一步是为了挡住批量注册和垃圾内容。

第 2 步 · 生成部署密钥,加到你的仓库

还没有仓库的话,先在 GitHub 建一个空仓库(可见性选 Public,仓库名随便取,不要勾选 Add a README file),下面都用这个仓库。

然后回到墨推:平台会为你的账号生成一对专属 SSH 密钥,私钥留在服务端,公钥你复制走:

  1. 到「设置」页,点「生成我的部署密钥」
  2. 复制公钥内容
  3. 打开你的 GitHub 仓库,进入 Settings → Deploy keys → Add deploy key
  4. 把公钥粘进 Key 里,务必勾选 Allow write access(不勾,推送一定会失败)
  5. 点 Add key 保存

第 3 步 · 绑定仓库

在「设置 → 仓库地址」里填你的仓库,下面三种写法都认:

tianshu1321/my-blog
https://github.com/tianshu1321/my-blog
git@github.com:tianshu1321/my-blog.git

再填「站点访问地址」(你的 GitHub Pages 地址),点「保存并测试连接」——看到连接成功,就说明密钥配对了。

第 4 步 · 打开 GitHub Pages

仓库 → Settings → Pages → Source 选 Deploy from a branch → 分支选 main、目录保持 /(root) → Save。

想让博客用 https://你的用户名.github.io/ 这样的根地址,把仓库名取成 你的用户名.github.io 即可;普通仓库名的访问地址是 https://你的用户名.github.io/仓库名/。如果打开页面样式全丢(白底无样式),基本都是路径问题,改成前者就好。

第 5 步 · 写第一篇,然后发布

点左侧「写文章」:标题、分类、标签、封面、摘要、正文(支持 Markdown)。写完点「保存并提交审核」。

接下来会发生什么:

  • 系统先做关键词 + AI 自动审核。内容正常就直接通过,并按平台设置立即自动推送上线,你一个按钮都不用点
  • 命中关键词或 AI 判定可疑,会转人工复审,结果用站内通知告诉你;人工通过后,你回后台点一次「生成并推送」
  • 还想再改改?先存成草稿,它不会出现在站点上,也不会占着审核队列

我自己的博客就是这么发出来的:blog.mopush.cn,仓库和托管都在我自己名下。后台左侧还有一页带完整步骤的「使用教程」,忘了哪一步随时可以翻。

想先看看成品长什么样,直接点开 blog.mopush.cn 就行 —— 那上面的每一篇文章,都是在这里写完点一下发出去的。

除了发布,它还替你做了这些

  • SEO:每篇文章可以单独设置标题、描述、关键词;站点级能配标题模板、默认描述、社交分享图、搜索引擎验证;sitemap.xml、feed.xml、robots.txt 和 canonical 都是自动生成的
  • 主题:内置多套模板(default、dark、magazine、minimal、portal),整体风格和首页布局在「模板板块」里改
  • 内容组织:分类、标签、置顶、封面、摘要、归档页都齐了
  • 有反馈可追踪:审核结果、发布成功或失败都会用站内通知告诉你;推送失败时给的是能看懂的原因,而不是一屏 git 报错

关于审核,说清楚三件事

静态博客平台最容易被问到的就是这一条,我直接摊开讲:

  • 审核只决定能不能在这个平台上发布,不改变「内容归你」这件事
  • 内容正常是自动放行的,绝大多数文章根本不会进人工队列
  • 真有问题时处置是分级的:轻的限制发布(你照常登录、编辑、删除、申诉,只是暂时不能推送到仓库),重的才停用账号
  • 已通过的文章被撤回后,不会卡在审核队列里等着,而是直接回到你的草稿箱,文章列表里能看到撤回说明,改完重新提交就行
  • 平台处理违规时,只动自己服务器上那份预览;你的 GitHub 仓库平台不去改,也不会强制推送、不会重写历史

常见问题

推送失败怎么办?

按提示排查,多数是三种情况:Deploy key 没勾 Allow write access;仓库地址填错;GitHub 那边有过改动导致本地和远端分叉(平台会自动合并后再推,真有冲突会明确提示)。完整的 git 输出可以在文章管理页展开查看。

可以用自己的域名吗?

可以。在仓库里加一条 CNAME 并把域名解析过去,在 GitHub Pages 里绑定该域名,然后把「设置 → 站点访问地址」改成你的域名,之后生成的 canonical 和 sitemap 都会用新域名。

文章数据存在哪?

标题、正文、标签这些存在平台数据库里,方便你在后台继续编辑;生成的静态成品在你的仓库里。

以后想搬走呢?

把仓库拿走,就是一份完整可用的静态博客,迁移成本基本为零。

最后

如果你只是想找个地方安静写字,不想把时间花在服务器和部署上,这套流程应该合适:写完点一下,剩下的事交给它。

博客地址:blog.mopush.cn

注册地址:www.mopush.cn