跳至主要内容

在 GitPage 上部署 Hugo 博客

缘起

之前一直尝试者在别的平台上写东西,可是有些文章莫名其妙的就被锁定,无法被其他人查看了,我并不反感这些平台锁定文章,只是它也不给你指明你到底犯了什么错,发邮件也没人回。所以我就想找个可以有一定自主权的文章发布地。
最终我选择了 Hugo + GitPage 的组合。
在 GitPage 上部署 Hugo 的教程五花八门,也没几个真正解决了我的问题,最后还是得靠 官方文档
下面就是整个部署过程。
PS:
 1. 请替换下面的 <your-github-id> 为你自己的 GitHub 用户名。
 2. 我在文中使用的主题目录为 temple,这个目录名根据你自己的情况进行修改
 3. 下面有些命令前的 $ 代表命令输入符,在复制代码时,请不要复制 $

本地搭建

先在 GitHub 上创建一个名为 your-github-id.github.io 的仓库
在你的电脑上安装 git 和 hugo
并且确保你已经把 本机的 ssh 公钥添加到了 GitPage。
安装好 hugo 之后,使用下面的命令创建一个新的站点目录:
$ hugo new site <your-github-id>.github.io
之后,如果你看到类似下面的信息,证明你创建成功了:
 Congratulations! Your new Hugo site is created in /home/wagoo/Documents/test/dianabnjiu.github.io.

Just a few more steps and you're ready to go:

1. Download a theme into the same-named folder.
   Choose a theme from https://themes.gohugo.io/, or
   create your own with the "hugo new theme <THEMENAME>" command.
2. Perhaps you want to add some content. You can add single files
   with "hugo new <SECTIONNAME>/<FILENAME>.<FORMAT>".
3. Start the built-in live server via "hugo server".

Visit https://gohugo.io/ for quickstart guide and full documentation.
你可以使用下面的命令看一下站点目录的基本结构:
$ tree <yur-github-id>.github.io
dianabnjiu.github.io
├── archetypes  # 存放你的文章之类的模板
│   └── default.md  # 默认模板
├── config.toml # 配置文件
├── content # 文章的存放位置
├── data
├── layouts
├── static
└── themes  # 主题的存放位置
了解了大概的目录结构之后,进入 themes 目录下,并 在这里 找一个你喜欢的主题,把它用 git 下载到本地,下面以 temple 为例:
$ cd themes
$ git clone https://github.com/aos/temple.git temple
在下载完毕之后,进入 temple 目录,其中有一个名为 exampleSite 的目录,用 exampleSite 下的 config.toml 和 content 替换掉你主站点目录下的 config.toml 文件和 content 目录。
把 config.toml 文件里根据注释修改一下(注意:一般把 baseURL 留空,也就是说 baseURL = “”)。
把主站点目录下的 content/posts 下的文章删掉,然后使用下面命令创建你的第一篇博客:
$ hugo new posts/helloworld.md
可以看到 content/posts 目录下多了一个 名为 helloworld.md 的文件,里面已经有了一些内容,这些内容就是在 archetypes/defaults.md 中预设的。你可以根据自己的需要修改这个文件。
然后向 helloworld.md 中添加一些文字,结束之后保存。
在主站点目录下执行下面的命令:
$ hugo server -D
在浏览器输入 http://localhost:1313/ 可以预览你的站点。

部署至 GitPage

预览完成后,如果你觉得可以的话,就可以开始把站点部署到 GitPage 了。
使用下面的命令将主站点目录初始化为一个仓库,并将该目录与你在 GitHub 上一开始创建的 your-github-id.github.io 连接。
$ git init
$ git remote add origin https://github.com/your-github-id/your-github-id.github.io.git
检查一下主站点目录下是否有一个名为 public 的目录,如果有的话,删除它,没有的话就可以执行下面的命令为站点创建一个子模块了(这一步必需):
$ git submodule add -b master git@github.com:your-github-id/your-github-id.github.io.git public
然后使用下面的命令编译所有的内容到 public 目录
$ hugo -t temple
结束之后,就可以进入 public 目录把它 push 到 GitHub 了:
$ git add .
$ git commit -m "new blog site"
$ git push origin master
稍等片刻,你就可以在浏览器输入 your-github-id.github.io 查看你的博客了。
如果你想使用自己的域名,先给你的域名添加一条 CNAME 记录指向 your-github-id.github.io,然后在你主站点目录下的 public 目录中新建一个名为 CNAME 的文件,文件里的内容就是你的域名,最后再一次把 public 目录 push 到 GitHub,稍等片刻就可以使用你自己的域名访问你的博客了。
之后每次在写完文章之后,要发布的时候都需要运行一遍下面的命令:
$ hugo -t temple
然后进入 public 目录把其中的内容 push 到 GitHub。
好了,就是这么多内容了。希望对你有所帮助。
:)

此博客中的热门博文

使用 Gimp 合并多张图片

缘起 我的 Arch Linux 的桌面环境是 KDE,KDE 自家的截屏软件 Spectacle 不支持截长屏。所以有时候截的图都是一段一段的。这时候就需要进行手动连接,我选择的是 Gimp。
可能是因为用 Gimp 拼接图片太简单了,我在网上没有找到什么相关比较合适的教程,所以就自己摸索了一番,以下就是大概的过程。 安装 Gimp 是一个非常强大的开源图像处理程序,现在很多 Linux 发行版都会默认安装它。一般在官方的标准库中都会有 Gimp,所以即便你的电脑上没有安装,使用你系统上的包管理软件也可以很快安装。 Arch Linux: sudo pacman -S gimp Debian/Ubuntu: sudo apt install gimp Fedora: sudo dnf install gimp Centos: sudo yum install gimp 使用 这里说的使用仅限于拼接多张图片,因为我 Gimp 使用的不多,这个拼接过程可能会比较粗糙。 底下的例子中我以三张图片作为例子,分别是 regex1.png(834x859),regex2.png(836x864),regex3.png(832x599)。使用的 Gimp 版本是 2.10.6 首先使用 Gimp 打开 regex1.png 然后把 regex2.png 和 regex3.png 作为图层打开(这时候三张图可能重叠在一起,不用担心,后面再移动。关键是限于画布尺寸,移动到画布外面的图是看不到的) 新建图层,名字随意设置,因为我接下来时把图向下拼接,所以宽设置为比最宽的图像稍大,我设置的是 850;高设置为最高图像的三倍左右,我设置的是 2400。 点击 图像 -> 画布适配图层 现在就可以使用使用 移动工具 把其余两张图拖放到合适的位置了
使用 裁剪工具 把多余的部分裁掉 在一开始创建的 regex 图层上点击右键,然后点击 平整图像。现在就只剩最开始打开的 regex1.png 了 最后 导出图像 就大功告成了。 阅读更多 Gimp 其实还是相当强大的,不过我平时也没有太多使用的场景,拼接多个图像算是使用之一吧,希望这篇教程能稍稍帮到你。 有关更多 Gimp 的使用,可以参阅 Gimp 官方教程,不过是英文的,需…

pandoc 简单使用

在之前的 常用网站推荐 中介绍过一个在线转换的网站 online-convert,支持相当多不同类型的转换,如果网络状况好的话,是相当好用的。但是网络状况不好的情况也是经常存在的,特别像我这种整天背着电脑,用手机开热点,还难以忍受网速差的人,自然得给自己找点活路。 我在转换文档方面的需求很简单,只要能把各种不同类型的文档转换成 PDF 文件就可以了。我的电脑系统是 Arch Linux,没有装 LibreOffice 或者 OpenOffice,因为这两个在格式方面的问题太多了,不如 PDF 来的痛快(关键是 Okular + PDF 真的很舒服),所以我大多数时候都是把 word 或者 markdown 之类的文件转换成 PDF 文件来看。鉴于我的这些需求,我想到了 pandoc。 下面就进行 pandoc 的简单安装以及使用吧。 安装 pandoc 在各个 Linux 发行版的仓库中都有,可以直接使用自己系统上的包管理进行安装即可。
除了 pandoc 之外,还需要安装 texlive 的相关组件,用于把文档转换为 PDF 格式。基于 Arch Linux 的系统下叫做 texlive-core,基于Debian 的系统下叫做 texlive-base。 Arch Linux $ sudo pacman -S pandoc texlive-core Debian/Ubuntu $ sudo apt install pandoc texlive-base 其他系统的安装操作可以看 这里,这是 pandoc 官方的安装指导。 快速上手 在 pandoc 的官方 Github 库的 README 列出了 pandoc 支持读取和转换成的各种类型。 pandoc 的使用很简单 $ pandoc test.md -o test.pdf
注意:一般如果转换比较成功,是不会在终端输出任何内容的

这样就可以把 markdown 转换成 pdf 类型了,其中的 -o 选项是指定转换后的文件名。 pandoc 还支持许多其他的选项,如果你有兴趣的话,可以使用 man pandoc 命令查看,或者可以参阅 pandoc 的在线 User Guide,也可以下载 PDF 版。 不过上面说到的那个例子只有在你的源文件是纯英文的时候才能正常工作,不过对于一个…