Hugo—fixlt主题建站的记录
文章中图片的路径问题
图片的存放位置
需要把图片放到static
文件夹下面,才会编译到public
中。
如:博客文件的名称为:test.md
,其中包含图片有:pic_1.jpg
、pic_2.jpg
。
我们需要把图片放到和博客同名的文件夹test
中,并将test
文件夹放到static
目录中。
MD中的引用地址
在markdown文件中,我们只需要指定图片的名称即可,不需要指定文件的路径。因为按照上面这样存放图片之后,生成的public目录中,图片和html文件都在同一个目录test下面。
在typora中,可以设置插入图像时,将图片复制到指定目录,把目录名称设置为:
./${filename}
,即表示将图片插入到和当前文件同名的文件夹中。![]()
这样MD文件引用的图片路径为:
./test/pic_1.jpg
,在发布MD文件到,我们需要把content/posts
目录时,我们需要把./test/
部分路径批量删除掉,只保留图片名称部分。
案例
文件层级结构如下:
|
|
hugo编译后,public目录中文件层级结构如下:
|
|
test.md中引用的图片路径如下:
|
|
创建多级菜单
想要实现的效果:

先创建一个“合辑”,然后合辑中有多种不同的知识领域,如:“Golang”、“Linux命令”等。
只需要在主配置文件hugo.toml
中使用taxonomies
标签自定义标签collections
即可,如下:
也可能是
yaml
或json
格式,需要按照对应格式进行修改。
|
|
然后再使用menu.main
标签,定义菜单栏的层级结构,如:
|
|
-
identifier
参数:唯一标识每个菜单栏的,名字不能重复。 -
name
参数:当前菜单栏在网页上显示的名称。 -
parent
参数:定义当前菜单的父级菜单,第一级菜单无需指定该参数。 -
url
参数:单击该菜单栏时,访问的url
,可以使用相对路径(相对于根目录),也可以使用绝对路径。 -
weight
参数:在同级目录中的优先级,值小的显示在前面。
上面的配置中,二级菜单golang
指定了其父级菜单为collections
,这样当鼠标悬停在菜单“合辑”上时,就会自动显示出其子菜单“Golang”了,和图片中的效果相同。
参考:
创建合辑
上面创建了一个多级菜单,现在我们要向“Golang”合辑添加内容。
我们只需要在博客md文件的前言部分加上collections
标签即可,也就是指定该文章属于哪个合辑。
|
|
因为我们前面自定义了菜单“collections”,则编译生成public
时,会在pubilic
中生成一个collections
的目录,目录中会存放所有的合辑内容,每个合辑单元会单独存放在一个文件夹中。
public
中的文件层级结构:
|
|
collections文件夹中会有一个html用来存放所有的合辑单元列表和各自的前5篇文章,方便直接查看。 内容格式如下:
所以,前面“合辑”菜单的url
我们要设置为: "/collections"
;Golang
菜单(合辑单元)的url
我们要设置为:"/collections/golang"
。
图标
fixlt主题使用的是Font Awesome图标,这是一个流行的图标库,通常用于增强网页的可视化效果。
github: https://github.com/FortAwesome/Font-Awesome。
只能使用free的图标,其他图标是需要付费购买的。
可以在这里面找到想要的图标,然后复制。
粘贴到menu.main
标签的pre
中,或者menu.main.params
标签的icon
中(不加i
标签)。
示例:
|
|
效果:

设置友链
效果图:

使用下面的命令,生成友链模板文件。
|
|
得到的文件层级结构如下:
|
|
得到的内容为英文,可以根据需要自己修改,修改后的内容如下:
|
|
然后在blog/data
目录下新建friends.yml
文件,在这个文件中添加友链信息。
示例:
|
|
可以添加多个这样的标签,添加多个友链信息。
短代码
生成像下面这种,多样式的提示,可以参考:警告短代码

文章的前置参数
参考:前置参数