基础设置
这里主要涉及如何使用hugo在linux上进行简单设置,来制作一个相对精美的网站。
主要步骤在官网上也都有,这里主要做个记录。
下载Hugo
下载Hugo有很多方法,主要需要参考官网。鉴于Ubuntu更新速度较慢,一般情况下建议使用Snap安装。
建立项目
通过hugo new site [directory]
在指定的位置建立一个文件夹,内含大部分所需文件夹。
一般需要了解的文件布局只有以下几个:
- themes:存放主题
- static:存放照片
- content:存放文档
其他几个则不太常用,例如:
- archetypes:模板文件,通过
hugo new
新建文件时使用 - data:定义数据,主要供建立网站使用
- layouts:定义布局,包括模板等
在根目录下有一个config.toml,用于定义各类参数。但是具体需要定义哪些参数,取决于使用的主题(或是自行定义模板)。
下载主题
为了方便起见,我直接采用了教程中推荐的Ananke主题。
安装方式为:
cd quickstart
git init
git submodule add https://github.com/budparr/gohugo-theme-ananke.git themes/ananke
其中quickstart
为建立的网站的文件夹名称。
之后在config.toml
中添加一行:
theme = "ananke"
即可。
添加文章
通过 hugo new posts/my-first-post.md
命令,即可在contents文件夹中添加posts
这个文件夹及my-first-post.md
这个文件。
my-first-post.md
新建时自带title(标题)、date(时间)和draft(是否为草稿)。如果开启了字数统计,为了正确统计字数,需要设置isCJKLanguage: true
,否则统计会出现偏差。同时也可以加入tags
,来为文章添加标签,同时也会提供搜索时的关键词。
在"- - -“之后添加内容,即会出现在文章中。另外可在文件头,即两个”- - -“之间,加入summary: blablabla
来添加摘要,否则目录上会完整显示本文章内容。
接下来通过命令hugo server
启动hugo的服务器,即可在localhost:1313
看到网站。当draft: true
,即文章为草稿时,hugo server
不会显示,需要通过hugo server -D
来显示。
调整参数
接下来需要在config.toml
中进行一些调整。例如修改标题、语言码改为zh-cn
(如果你也是用中文写的话)。
另外可以添加一行SectionPagesMenu = "main"
,这样就可以看到在网页右上角出现目录。
组织文章
在这个主题中,我们可以组织自己的文章,放入不同文件夹下。在每个文件夹,包括contents这个文件夹中建立_index.md
,我们就会在网页右上角目录中看到对应的选项。
我们可以在文件头修改背景图片。将图片放入static中的某个位置,在文件头中加入featured_image: /path
其中path为static到文件的相对路径,即如果文件处于static/images/photo.jpg
,则featured_image: /images/photo.jpg
。
发布站点
发布站点有多种方式。其中一种是通过docker打包成镜像发布。所需的Dockerfile非常简单:
ARG HUGO_ENV_ARG=production
FROM klakegg/hugo:0.93.2-ext-onbuild AS hugo
FROM caddy:2.5.0-alpine
COPY --from=hugo /target /usr/share/caddy/
如此便会自动生成站点并将内容拷贝至服务器的镜像。之后在镜像的80端口便可访问。为了安全,再使用反向代理负责处理SSL即可。若是自己选择用命令行生成站点,一定要注意,通过环境参数HUGO_ENV="production"
设置为生成环境,否则搜索引擎爬取会设置为禁止爬取。
总结
到这里基础设置就完成了,至少有了个可以看的网站。接下来就要寻找自己喜欢的主题,并进行自定义修改,来达到最佳状态。