网站结构
本站使用hugo+jane+自定义域名实现建站。
-
Hugo 是一个用Go 编写的静态网站生成器。
-
jane是其中一个相对洁净的theme
-
网站托管在github
- 官网见:https://gohugo.io mac版
安装git
要求:git version 2.0以上
安装hexo
建立项目
安装theme
|
|
注意,一个git仓库中的某个目录,依赖另一个仓库时,submodule是个好方法,可以独立更新。这时会在根目录下生成一个 .gitmodules
文件
配置文件
至此,看到#http://localhost:1313/ 界面
site_name目录为网站根目录,此后所有命令均在根目录下执行。
配置
按照注释配置config.toml即可,无难度。稍微注意:
meta约定
在md文件头上,两个—之间的部分,称为元数据。 以下为示例。在全局变量定义过后,依然可以在配置文件中重新定义并覆盖全局变量
|
|
发表文章
- 方法1
|
|
-
方法2
直接去content/post目录里新建文件,执行
hugo
生成静态页面
关联github
此处省去申请github个人网站流程,假设您打开calfen.github.io已经能看到页面。public为生成的静态网站,也就是github的个人页面。
自定义域名
修改域名:在github.com → setting → pages →custom domain
网站根目录CNAME.txt为github自动生成
💡 注意,一定要将CNAME放到content下面,这样每次生成静态页面时不会丢失。
自动化发布
以上发布比较繁琐,我们可以借用官方提供的 GitHub Action 进行 CI 自动发布。
回顾一下:这儿有三个库。
-
hugo_site网站项目库。我们的目的是提交项目库的时候,利用action,生成public目录自动发布到个人网站
-
hugo网站项目库的themes目录是git的submodule管理的你用的theme库,可以独立更新。
-
github个人页面库,也就是public对应的github的库 calfen/calfen.github.io
Hugo_site的public不需要同步,本地看看就行。remote的hugo_site会自动生成。加到.gitignore里
在本地Hugo_site库中增加文件。vi .github/workflows/blog_deploy.yml
格式如下。
|
|
需要特别注意
- personal_token: ${{ secrets.access_token }}
- personal_token不用改,指的是github -> settings -> developer settings -> persional access tokens中生成的令牌
- ${{ secrets.access_token }} access_token为项目库中 settings-> secrets and variables 导入的token,这个token的名字为access_token,如果用其他的名字,请修改对应名称
多终端使用
到现在为止,终端上所需的仅仅是content目录(如果不用hugo命令创建新贴),当content/post里的md文件新增或者改变,并push到远程库后,编译和发布都由github完成。
所以,您的多台电脑都可以安装git后,更新hugo_site(也许您是其它名字)库中的md文件。做到随便找到个终端就能发blog了。我甚至用ipad,iphone也能更新网站,只不过如果没有蓝牙键盘,敲字就是个很累的工作。正经干活,还得电脑。
🤔 啥时候ipad os能自带shell,就轻松了。
当然,如果需要本地查看效果,还是要安装hugo。
图床
blog自然少不了图,我采用typora + PicGo + 阿里云oss对象存储服务。实在没钱可以采用typora + PicGo + github。搭建方法网上大把,不做赘述。