目录

Hugo - 如何一键发布新文章?

你还在为使用 hugo 发布文章时的繁琐步骤烦恼吗?

本文默认你已经掌握了 hugo + Github Pages 的博客搭建。

我会以 Windows 平台作为演示,其它系统可参照思路,大同小异。

一、安装 Git

先安装 git bash ,官网:https://git-scm.com/downloads

二、使 public 目录成为一个 git repository

博客源码存放目录:D:\blog\src

D:\blog\src
│  config.toml
├─archetypes 
├─assets
├─content
├─data
├─layouts
├─public    
├─resources
├─static
└─themes

接下来将 git 仓库(xxx.github.io)的 .git 文件夹和 CNAME 文件复制一份到博客根目录的 public 文件夹中,使 public 目录成为一个 git 仓库(repository)。

这样 hugo 在 public 文件夹中生成的文件就可以直接使用 git 命令推送到 Github 了。

如果配合 Github Webhook 使用,就可以把 xxx.github.io 当做源站了。在此基础上,你可以自行购买域名做 CDN 或者在自己的服务器上部署一个镜像站。

三、配置一键命令

我决定将 git blog 这个命令作为以后日常一键部署的命令。输入以下命令即可完成配置:

git config --global alias.blog '!cd D:\\blog\\src;hugo;cd D:\\blog\\src\\public;git add .;git commit -m 'update';git push'

使用 alias 即可为一系列命令配置一个别名

四、一键部署

当你写好文章之后,就可以在任意目录执行这个命令:

git blog

此时系统会自动执行下面的命令:

cd D:\\blog\\src
hugo
cd D:\\blog\\src\\public
git add .
git commit -m 'update'
git push

这样就达到了我们的目的:通过一个命令就可以更新博客文件,并自动推送到 github 上。

补充

如果你同时使用了 Github PagesGitee Pages 服务,并且还希望能一条命令同时推送到 Github 和 Gitee,那么你可以参考 https://zhuanlan.zhihu.com/p/341272233,修改 git blog 对应的命令即可。

给你提个醒:git push githubgit push gitee

希望本文能帮到正在使用 hugo 的你。