前言

在极客时间中看到第454期|没有输出的学习与消遣无异一文觉得挺不错。里面提到

首先,不管是做事还是学习,都要做生产者。在他看来,技术人大都很忙碌,忙于工作,甚至忙于学习,但人们在做事情的时候其实有两种角色:生产者和消费者。以学习为例,学习本身其实是一种消费,每天忙着去读书,看起来是在学习,但是学完以后你的生活和工作因此改变了吗?或者说有产出和输出吗?如果没有,每天的日子还是老样子,工作和生活也没有改变,那这样的学习其实和玩一会手机、看一会抖音,在本质上并没有太大的区别。

因此我们不管是工作还是学习,一定需要及时输出。博客是一个不错的输出方式,既可以用于自己记录,也可以让有兴趣的人看到,或者还可以对自己的输出进行一些指正。

静态博客是个不错的方式,我们可以将其托管在 github/gitee 这样的平台上,免去自己买服务器搭建博客的过程。静态博客中 Hexo/Hugo 都是不错的选择。Hugo 使用 golang 编写,处理速度会比较快。

Hugo 博客创建流程

本地安装

参考官方文档,mac 下我们可以直接采用

1
brew install hugo 

验证是否安装成功

1
2
➜  guixian-blog git:(master) ✗ hugo version
hugo v0.87.0+extended darwin/arm64 BuildDate=unknown

创建一个博客

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
➜  Dev hugo new site guixian-blog
Congratulations! Your new Hugo site is created in /Users/chenguixian/Desktop/Dev/guixian-blog.

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.

安装主题

默认是没有任何主题的,可以参考主题仓库选择自己喜欢的主题。这款移植自 hexo-theme-even 的主题 even不错。

1
2
git clone https://github.com/olOwOlo/hugo-theme-even themes/even

在主题的 exampleSite 目录下有一个 config.toml 文件,将这个 config.toml 文件复制到你的站点目录下,根据自己的需求更改即可。

可以参考配置说明,进行修改。

创建 markdown

1
hugo new post/test.md

随意输入一些内容,这样就完成了。

本地预览

1
hugo server -D

-D选项表示将处于草稿状态(draft:true)的post 也进行构建预览。

1
-D, --buildDrafts                include content marked as draft

托管在github/gitee

可以使用两个 git repo,一个保存源文件,一个保存构建生成 html 之后的 public 文件。

gitee 创建 private repo

在 gitee 新建 guixian-blog。

然后在本地初始话 git,并且添加远端地址。

1
2
git init
git remote add gitee git@gitee.com:guixian/guixian-blog.git

子模块管理 public 文件

新建一个名称为自己用户名的 repo(gitee pages 允许 repo 是private 类型的)

比如我新建 guixian 这个 repo。

1
git submodule add git@gitee.com:guixian/guixian.git

部署

在本地进行构建生成静态文件 hugo,生成的静态文件位于 public。进入 public 将静态文件 push 到远端即可。

Gitee pages

目前 gitee 需要审核才可以开通 pages 服务,准备好身份证和手持身份证的照片提交之后一天审核通过。

image-20210902232840122

gitee pages 服务有个比较特殊的地方,就是每次你文件更新了需要到 pages 这里点击一下更新。

使用 github 部署这里也是类似。同样可以建两个 repo,使用 github pages 服务的 repo 必须设置为 public。但是有一点不同的是 github pages 那里不需要手动点击更新,repo 的文件更新站点也就变成最新的内容了。

Hugo 常用命令

记录几个常见的命令,以免很久不写之后每次都需要去找文档回顾用法。

  • hugo 直接输入 hugo,生成静态文件,生成的文件位于 public 目录中
  • hugo -D 生成的静态文件包含 draft 状态的文档
  • hugo new [path] 新的文章 比如 hugo new post/testdir/test.md 会在 content 目录下新增按照参数的文档
  • hugo server hugo 自带的一个 web 服务器,运行之后可以在 localhost:1313 端口进本地预览博客。

参考文档

hugo搭建博客

Hugo 主题 Even 的自定义配置

其他不错的 hugo 教程

Hugo Tutorial

Hugo 静态网站构建手册