之前用 Hugo 创建了博客,这里记录一下如何使用 GitHub Pages 部署网站。 部署静态网站的方法有很多,GitHub Pages 只是其中一个;GitHub Pages 的功能也很实用,部署博客只是一个小小的应用案例。


概要

首先简单确认一下使用 Hugo 生成的静态博客的目录结构

archetypes/
content/
data/
layouts/
public/
static/
themes/
config.toml

上面的 public 目录中就是我们将要发布的内容。

public 提交到 GitHub 的姿势有很多,我的做法是

  1. publicthemes 除外,也就是只有 markdown 的 Hugo 项目作为一个仓库提交到 GitHub
  2. 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 下来

1
git clone https://github.com/github_name/repo_name.git

或者使用 TortoiseGit

不出意外,执行命令的所在目录下就会创建一个和仓库同名的目录。

提交网站代码

public 目录下的文件复制到该目录下,执行以下命令

1
2
3
git add .
git commit -m "commit message: 简单写下这次提交做了什么。比如: blog init."
git push

或者使用 TortoiseGit。 GUI的操作因为太过基础,这里仅以操作过程的截图用于参考

add

commit

push

启用 GitHub Pages

打开 GitHub 仓库页面,切换到 Settings 标签

向下翻,找到 GitHub Pages。 选择要部署的分支,如果你的操作是按照上述进行的,那就是 master。 然后点 Save

之后,如果能看到下面红框这样的提示,就说明网站已在运转中,点进去就可以看到了。

相关文章