定制Fluid主题

安装完毕后的Fluid主题,就可以定制主题了。

更新主题图片,图标

安装完毕后的Fluid主题,使用的是默认图片,可以根据自己喜好进行定制。主题的配置文件保存在_config.fluid.yml文件中。对应的图片资源等位于themes/fluid/source/img内, 替换即可。

修改高亮显示设置

Fluid里默认使用highlight.js来进行代码高亮操作,这个Demo 链接的网页提供了各种主题的预览,可以根据各人喜好定制。我这里使用了vsvs2015两个主题来对应light和dark两种模式。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 代码高亮
# Code highlight
highlight:
enable: true

# 代码块是否显示行号
# If true, the code block display line numbers
line_number: true

# 实现高亮的库,对应下面的设置
# Highlight library
# Options: highlightjs | prismjs
lib: "highlightjs"

highlightjs:
# 在链接中挑选 style 填入
# Select a style in the link
# See: https://highlightjs.org/static/demo/
style: "vs"
style_dark: "vs2015"

同时,这个hightlight配置和根目录下_config.yml里的相同配置冲突,导致我选择的style无效,解决办法就是把根目录下_config.yml里的相同配置删掉或注释掉就可以了:

1
2
3
4
5
6
7
# highlight:
# enable: true
# line_number: true
# auto_detect: false
# tab_replace: ''
# wrap: true
# hljs: true

修改URL链接形式

使用hexo new post "新文章"在创建新的文章时如果习惯使用汉语作为标题,则Hexo会使用默认的URL定义方式来生成此文章的URL:

1
permalink: :year/:month/:day/:title/

最终的URL里就会是2024/03/25/%xx%xx%xx.html这种含有一堆%xx的转义字符组成的URL,比较难看。搜索了一下,有hexo-abbrlink 这种Node.js工具包提供类似功能,把所有的文章URL都用类似CRC编码的方式转换成了一堆字符串。这篇文章里讲了具体做法。虽然避免了这种%xx的转义字符,但是一堆任意字符组合形成的url对搜索引擎并不友好,我觉得这篇文章里的方法更好,所以复制在这里并略做修改。

编辑主配置文件_config.yml

1
2
3
permalink: :year:month:day/:urlname.html
permalink_defaults:
urlname: :title

上述改动首先将url的层级减少(从原来的年/月/日3层文件夹变成了1层),但是最好不要减完,减少是因为这样对于搜索引擎比较友好,不减完是为了让文章不至于全部在一个层级里面,这样会很难维护,我这里改成了只有两级。
但是有没有发现,上面我的配置里面有个urlname,这个参数就是自定义的一个参数,这里是允许我们自定义参数的,就放在我们写博客的头部就可以。 例如我的一篇文章的头部内容是:

1
2
3
4
5
6
---
title: 基于hexo构建博客
date: 2024-03-25 17:27:15
tags: 博客搭建
urlname: blog_init_2
---

那么对应的博客的uri就是/20240325/blog_init_2.html

这个文件头部模板是在博客的scaffold/post.md配置的,我们可以直接将这个自定义参数加在里面,这样每次新建文章的时候就会自动生成了。这里我添加了一行urlname: {{ title }},默认新的文章里都自动使用title的值。

1
2
3
4
5
6
---
title: {{ title }}
date: {{ date }}
tags:
urlname: {{ title }}
---

这样呢,用户即可以什么也不做,用默认的URL,也可以自己修改这个字段,使每一篇文章有自己的URL,增加了可读性。

配置支持Google Analytics

找到web_analytics项,修改enable为true,然后添加上从Google Analytics里获取的MEASUREMENT_ID就可以了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
web_analytics:  # 网页访问统计
enable: true

# 遵循访客浏览器"请勿追踪"的设置,如果开启则不统计其访问
# Follow the "Do Not Track" setting of the visitor's browser
# See: https://www.w3.org/TR/tracking-dnt/
follow_dnt: true

# Google Analytics 4 的媒体资源 ID
# Google Analytics 4 MEASUREMENT_ID
# See: https://support.google.com/analytics/answer/9744165#zippy=%2Cin-this-article
google:
measurement_id: G-2F...


定制Fluid主题
https://pub.zangchuantao.com/20240325/customize_fluid_theme.html
作者
Chuantao
发布于
2024年3月25日
许可协议