Hugo Quickstart


这篇文章主要记录一下:1、如何用hugo来写文章;2、如何借助netlify做到自动发布。


一、写文章

创建新文章

hugo new post/xxxx.md

设置文前预先定义的参数

参数说明,详见https://gohugo.io/content-management/front-matter/

本地预览

hugo server -D -v
打开URL:http://localhost:1313/

给文章加tag和category标签

eg.

tags: ["tools"]  
categories: ["tools"] 

二、hugo简介

hugo工具的基本用法

https://gohugo.io/getting-started/usage/

hugo生成的工程目录结构

https://gohugo.io/getting-started/directory-structure/

├── archetypes
├── config.toml
├── content
    └── post
├── data
├── layouts
├── static
└── themes

archetypes
用来存放新建文章的模板, 自定义模板https://gohugo.io/content-management/archetypes/

config.toml
site的配置文件, https://gohugo.io/getting-started/configuration/#all-variables-yaml

content
直接在下面新建一个文件,会生成一个page。

content/post
文章目录, 新建的md文件都会存放在这个下面。

static
在下面存放一些静态文件,比如图片。

三、配置theme

我这里是fork了olOwOlo/hugo-theme-even这个主题,放到了自己的github上,后期可能会自己进行一些修改。

下载这个主题,并且作为我这个website的submodule。

git submodule add --name "themes/even" git@github.com:yew1eb/hugo-theme-even.git themes/even

theme维护

如果需要调整更改主题,需要在 themes/even 目录下重新 build

cd themes/even/src && npm install  && npm run build

git **** push

merge - even主题作者的更新

git remote add upstream https://github.com/olOwOlo/hugo-theme-even.git
git fetch upstream
git merge upstream/master

四、自动发布配置

我这里是借助netlify去做自动发布的。具体配置参考详情https://gohugo.io/hosting-and-deployment/hosting-on-netlify/
netlify页面:https://app.netlify.com/sites/yew1eb
注意: Deploy settings里面”Build command”和”Publish directory”都不需要配置,让它读取”netlify.toml”里面的配置去deploy就可以了.

文章发布

将website推到github上,就会自动触发netlify去执行deploy了。

五、域名配置

在域名的DNS解析服务提供方平台上,配置两个A记录就行了。详情https://www.netlify.com/docs/custom-domains/

A   www     104.198.14.52	
A   @       104.198.14.52

HTTPS证书

netlify提供了免费的Let’s Encrypt证书,直接用就可以了。。。