之前用 Hugo 创建了博客,这里记录一下如何使用 GitHub Pages 部署网站。 部署静态网站的方法有很多,GitHub Pages 只是其中一个;GitHub Pages 的功能也很实用,部署博客只是一个小小的应用案例。
概要
首先简单确认一下使用 Hugo 生成的静态博客的目录结构
archetypes/
content/
data/
layouts/
public/
static/
themes/
config.toml
上面的 public
目录中就是我们将要发布的内容。
将 public
提交到 GitHub 的姿势有很多,我的做法是
- 将
public
和themes
除外,也就是只有 markdown 的 Hugo 项目作为一个仓库提交到 GitHub - 将
public
提交到该仓库的另一个分支,作为 GitHub Pages 要发布的项目
而要做到部署博客,仅需第2步即可。
创建·同步 GitHub 仓库
创建仓库
假设你已经拥有一个 GitHub 账户 。
登录后,通过以下的 New repository
进入创建新仓库的页面
选择仓库所有者 Owner
,也就是你自己;填入你觉得简单明了的仓库名 Repository name
;其他的都不是必须的,且之后也能更改,按照自己意愿来就好。
Note: 关于许可 License
,博主们大多都用 CC BY-NC 4.0,但因为 GitHub 并没有提供给我们这个协议的模板,所以这里不选也罢,之后再上传一份 License.md
到仓库即可
Clone 仓库
打开新建的博客仓库页面,参考下面复制 HTTPS 链接。
Note: 为什么不使用 SSH 链接?因为 在国内 访问 GitHub 的 SSH 链接通常非常非常慢。
虽然相比 HTTPS 来说,使用 SSH
+ ssh_key
的方式提交代码不需要每次都手动输入 GitHub 的账号、密码,但 clone 代码时其实并不需要账号、密码。
所以我的做法是:clone 代码时使用 HTTPS,clone 完成后将仓库地址修改为 SSH 链接。
Note: 接下来的操作需要事先 安装 git 。 另外,如果你想要图形化操作界面,你也可以顺便 安装 TortoiseGit 。
参考以下命令将仓库 clone 下来
|
|
或者使用 TortoiseGit
不出意外,执行命令的所在目录下就会创建一个和仓库同名的目录。
提交网站代码
将 public
目录下的文件复制到该目录下,执行以下命令
|
|
或者使用 TortoiseGit。 GUI的操作因为太过基础,这里仅以操作过程的截图用于参考
add
commit
push
启用 GitHub Pages
打开 GitHub 仓库页面,切换到 Settings
标签
向下翻,找到 GitHub Pages
。
选择要部署的分支,如果你的操作是按照上述进行的,那就是 master
。
然后点 Save
。
之后,如果能看到下面红框这样的提示,就说明网站已在运转中,点进去就可以看到了。