hexo-fluid 初体验
hexo-fluid 主题的一些配置
1. hexo 基础
1.1. 写作命令
- 新建分页:
hexo new page 名称
- 新建文章:
hexo new 名称
或hexo n 名称
- 新建草稿:
hexo new draft 名称
或hexo n draft 名称
- 草稿生成文章:
hexo publish 名称
或hexo p 名称
- 草稿生成分页:
hexo publish page 名称
或hexo p page 名称
1.2. 操作命令
- 清除已生成文件:
hexo clean
- 运行本地服务器(预览):
hexo s
- 运行本地服务器(预览草稿):
hexo s --drafts
- 生成静态文件:
hexo g
- 部署到服务器:
hexo d
- 生成并部署文件:
hexo g -d
或hexo d -g
1.3. 常见事项
多标签:
1
2
3tags:
- 标签1
- 标签二或者
tags: [标签1, 标签2]
阅读全文:
在需要添加的位置手动使用
<!-- more -->
进行截断,这是 hexo 提供的方式,推荐使用这种;本人使用的是下面这种方式,自定义 post.md 文件,手动添加描述,然后截断,顺便可以加一个这个标签:
<meta http-equiv="refresh" content="20">
20 秒刷新一次,可以做到边写边更新,做到类似于 Live Server 的效果1
2
3<p class="note note-info">hexo-fluid 主题的一些配置</p>
<!--more-->
<meta http-equiv="refresh" content="20">在文章的 front-matter 中添加 description,并提供文章摘录;
在主题配置文件中修改对应配置项(不同主题不太一样,参考对应主题的文档)
2. fluid 配置
2.1. Tag 插件
2.1.1. 便签
有多种彩色便签可以选择,采用如下方式来使用便签:
1 |
|
或者使用 HTML 形式:
1 |
|
可选便签:
success
primary
secondary
danger
warning
info
light
2.1.2. 行内标签
在 markdown 中加入如下的代码来使用 Label;
1 |
|
或者使用 HTML 形式:
1 |
|
可选 Label:
primary,default,info,success,warning,danger2.1.3. 勾选框
在 markdown 中加入如下的代码来使用 Checkbox:
1 |
|
示例:
- 这是默认示例的代码
1
{% cb "这是默认示例的代码" %}
- 勾选框选中
1
{% cb "勾选框选中", true %}
- 勾选框自带的文字 紧跟其后的文字不换行
1
{% cb "勾选框自带的文字", false, true %} <span class="label label-success">紧跟其后的文字不换行</span>
- 文字写在后边(这样不支持外联)
1
{% cb false %} 文字卸载后面(这样不支持外联)
2.1.4. 按钮
可以在 markdown 中加入如下的代码来使用 Button:
1 |
|
或者使用 HTML 形式:
1 |
|
示例:
text2.1.5. 组图
如果想要把多张图片按照一定布局组合显示,可以在 markdown 中按如下格式:
1 |
|
示例:gi 5 3-2
,代表共 5 张图,第一行 3 张图,第二行 2 张图。





2.2. 页面美化
可以引入一些别人的 css、js 样式来美化自己的博客页面;
在主题的配置文件 _config.yml 中找到 custom_js、custom_css,添加自定义的 css 文件的位置(相对路径 / 网络路径)
2.2.1. css 美化
示例:
1 |
|
在本地主题文件夹下的 source/css/ 新建 macpanel.styl 文件并写入如下代码:
1 |
|
2.2.2. js 动态效果
示例:
1 |
|
2.2.3. 首行缩进
在本地主题文件夹下的 source/css/ 文件夹内新建或找到任意一个 styl 文件,加入如代码样式即可;
1 |
|
2.3. LaTeX 数学公式
hexo 默认的渲染器不支持 mathjax,而 kramed 支持 mathjax,需要重新安装渲染器
2.3.1. 重新安装渲染器
1 |
|
2.3.2. 修改配置文件
1 |
|
2.3.3. 开启使用
开启配置如上后需要再 front-matter 中手动开启数学工具支持:
1 |
|
2.3.4. 数学公式示例
详细公式可以参考这篇博客:https://blog.csdn.net/ViatorSun/article/details/82826664
心型函数:
2.4. Mermaid 流程图
2.4.1. 开启 Mermaid 支持
1 |
|
2.4.2. 绘图
可以借助 Mermaid 绘制如下类型的图:参考知乎
- 饼状图:关键字
pie
关键字 - 流程图:使用
graph
关键字 - 序列图:使用
sequenceDiagram
关键字 - 甘特图:使用
gantt
关键字 - 类图:使用
classDiagram
关键字 - 状态图:使用
stateDiagram
关键字 - 用户流程图:使用
journey
关键字
详细文档建议搜索引擎,官方文档:https://mermaid-js.github.io/mermaid/#/
pie
title 个人能力图
"技术": 50
"生活": 10
"社交": 10
"探索": 30
"情感": 5
3. plugins 拓展
3.1. 加密文章
3.1.1. 安装搭建
需要安装拓展:
1 |
|
在博客根目录的配置文件 _config.yml
加入如下配置项:
1 |
|
3.1.2. 使用
只需要在需要加密的文章的头文件中加入:password: xxx
的字段即可,或者使用统一标签密码,给需要加密的文章加上上面配置的文件标签:Private
等;
3.2. 压缩文件
3.2.1. 安装搭建
需要安装拓展:
1 |
|
3.2.2. 使用
在博客根目录的配置文件 _config.yml
加入如下配置项:
1 |
|
也可以细分对哪些文件进行优化:
HTML 优化
1
2
3
4
5html_minifier:
enable: true
ignore_error: false # 忽略 HTML 优化时遇到的错误
silent: false # 禁止日志优化,默认为 false
exclude: # 排除文件CSS 优化
1
2
3
4
5css_minifier:
enable: true
silent: false
exclude:
- '*.min.css'JS 优化
1
2
3
4
5
6
7
8js_minifier:
enable: true
mangle: true
silent: false
output: # 输出选项。如果为空,请从 .yml 文件中将其删除!否则,它将被设置为 null,null 不同于 undefined。
compress: # 压缩选项
exclude:
- '*.min.js'图片优化
1
2
3
4
5
6
7
8image_minifier:
enable: true
interlaced: false
multipass: false # 多次优化 svg 图片,直到完全优化
optimizationLevel: 2 # 图片优化等级:0 - 7
pngquant: false # 开启 imagemin-pngquant 插件,默认为 false
progressive: false
silent: false
3.3. 引擎收录
主动推送 Hexo 博客新链接至谷歌、必应、百度搜索引擎站长平台以 提升网站收录质量和速度
3.3.1. 安装搭建
需要安装拓展:
1 |
|
在博客根目录的配置文件 _config.yml
加入如下配置项:
1 |
|
3.4. 文章永久链
3.4.1. 安装搭建
1 |
|
在博客根目录的配置文件 _config.yml
加入如下配置项:
1 |
|
4. 自动部署
使用 Github Action 自动部署,简化开发,参考博文:https://www.biubiubiu.ml/autodeploy/
5. 部署至七牛云
目前是部署在 vercel + github pages,但是随着花里胡哨的插件、拓展的安装,加载速度明显跟不上了,自己的小破站访问量很小,所以可以使用七牛云的免费空间,基本上用不完,以下是部署步骤;
5.1. 注册七牛云
点击注册:七牛云
5.2. 配置 qshell
qshell 是七牛云提供的命令行管理工具,下载地址:qshell 下载,下载后是一个 exe 的可执行文件(windows),将其存储在适当位置然后配置环境变量;
注意:配置文件书写的时候 windows 下要使用 \\
来进行路径分隔,然后使用 ""
双引号不能使用单引号;
5.2.1. 配置密钥
在七牛云官网,个人中心 -> 密钥管理 中可以创建、查看密钥;
在 CMD 内配置密钥:
1 |
|
5.2.2. 创建存储空间
在 home 页找到存储空间,选择新建存储空间,命名,选择地域(根据访问用户多的区域选择地域)然后设为公开即可;
5.3. 搭建
在 hexo 根目录创建 upload.conf
文件:
1 |
|
5.3.1. 上传
之后只需要在写好博客之后,使用下面的命令:
1 |
|
5.4. 一键部署
在 hexo 根目录下的 package.json
文件中找到 scripts
(没有就自己添加),在里面加入如下配置:
1 |
|
之后只需要在博客写好后使用 npm run publish
即可实现一键打包部署到七牛云。
6. 奇淫技巧⭐
6.1. 文章头
文章头 front-matter 中有许多可以配置的字段,目前使用的到字段如下
字段 | 描述 |
---|---|
title | 博客标题 |
date | 发布时间,若无则以文件创建时间为准 2020-12-28 21:40:59 |
abbrlink | 文章永久链 |
math | 开启 LaTex 数学公式支持 |
mermain | 开启 Mermain 流程图支持 |
index_img | 博客预览图 URL |
banner_img | 博客详情页 banner 图 URL |
tags | 博客标签,可以根据标签快速找到同标签博客,可以设置多个标签[tag1,tag2] |
category | 博客分类,可以根据分类快速找到同类博客,建议每篇博客只归属于一个分类 |
hide | 博客是否隐藏 |
password | 为文章设置密码 |
6.2. 写作篇
6.2.1. 自动刷新
写博客时可以自动更新,做到类似于 live server 的效果
1 |
|
完成博文撰写后记得将该行代码注释掉或者删除掉,否则会给博客阅读者造成较差的观看体验。
6.2.2. 文章摘要
通过注释配合 fluid 的标签优雅的完成文章摘要
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!