基于hexo搭建博客基础(二)
1.前言
- 这个系列是关于如何基于hexo框架以及GitHub Pages搭建自己的博客网站。
- ❗创建本系列博客的初衷也只是为了记录一下自己的学习过程,以防之后健忘❗。
- 虽说如此,但是本系列博客已经写的很详细了,可能后面的内容会比较简略,就算是零基础也能懂大部分。
- 配置文件参数含义在官方处都有讲解,这里只讲述自己修改了的部分。
2.Site信息修改
1 | title: AnA. |
language常用参数:
- en(英文)
- zh-CN(中文简体(中国大陆))
- zh-HK(中文繁体(中国香港))
- zh-TW(中文繁体(中国台湾))
3.URL信息修改
1 | url: https://ana-0823.github.io |
url:站内链接的前缀地址,将其改为自己站点的地址
permalink:站内文章的地址(:code是我自定义的参数,在post的markdown文档的front-matter
中加上就好)
4.标签页
- 在博客根目录下打开终端输入以下命令:
1
npx hexo new page tags
- 会在博客根目录中的
\source\
生成一个含有index.md
文件的tags
文件夹。 - 修改
index.md
,添加type: "tags"
。1
2
3
4
5---
title: tags
date: 2024-05-02 03:31:43
type: "tags"
--- - 安装以上步骤生成
categories
还有link
标签页。
5.友链
在博客根目录下的\source\_data
中创建一个link.yml文件,在这里按以下格式填写需要的链接:
1 | - class_name: 1.技术支持 |
6.子页面
子页面就是普通的页面,通过npx hexo page <page name>
创建就好
然后就可以在对应的index.md
中编写页面内容
7.关于markdown文档的front-matter
front-matter
就是markdown文档最上方以---
分割的区域,作为页面和文章metadata
- page front-matter用于配置页面
- post front-matter用于配置文章
page front-matter
1 | --- |
参数 | 含义 |
---|---|
title | 【必需】页面标题 |
date | 【必需】页面创建日期 |
type | 【必需】标签、分类和友链页面需要配置 |
updated | 【可选】页面更新日期 |
description | 【可选】页面描述 |
keywords | 【可选】页面关键字 |
comments | 【可选】显示页面评论模块(默认 true) |
top_img | 【可选】页面顶部图片 |
mathjax | 【可选】显示mathjax(当设置mathjax的per_page: false时,才需要配置,默认 false) |
kates | 【可选】显示katex(当设置katex的per_page: false时,才需要配置,默认 false) |
aside | 【可选】显示侧边栏 (默认 true) |
aplayer | 【可选】在需要的页面加载aplayer的js和css,请参考文章下面的音乐 配置 |
highlight_shrink | 【可选】配置代码框是否展开(true/false)(默认为设置中highlight_shrink的配置) |
post front-matter
1 | --- |
参数 | 含义 |
---|---|
title | 【必需】文章标题 |
date | 【必需】文章创建日期 |
updated | 【可选】文章更新日期 |
tags | 【可选】文章标签 |
categories | 【可选】文章分类 |
keywords | 【可选】文章关键字 |
description | 【可选】文章描述 |
top_img | 【可选】文章顶部图片 |
cover | 【可选】文章缩略图(如果没有设置top_img,文章页顶部将显示缩略图,可设为false/图片地址/留空) |
comments | 【可选】显示文章评论模块(默认 true) |
toc | 【可选】显示文章TOC(默认为设置中toc的enable配置) |
toc_number | 【可选】显示toc_number(默认为设置中toc的number配置) |
toc_style_simple | 【可选】显示 toc 简洁模式 |
copyright | 【可选】显示文章版权模块(默认为设置中post_copyright的enable配置) |
copyright_author | 【可选】文章版权模块的文章作者 |
copyright_author_href | 【可选】文章版权模块的文章作者链接 |
copyright_url | 【可选】文章版权模块的文章连结链接 |
copyright_info | 【可选】文章版权模块的版权声明文字 |
mathjax | 【可选】显示mathjax(当设置mathjax的per_page: false时,才需要配置,默认 false) |
katex | 【可选】显示katex(当设置katex的per_page: false时,才需要配置,默认 false) |
aplayer | 【可选】在需要的页面加载aplayer的js和css,请参考文章下面的音乐 配置 |
highlight_shrink | 【可选】配置代码框是否展开(true/false)(默认为设置中highlight_shrink的配置) |
aside | 【可选】显示侧边栏 (默认 true) |
8.安装主题
推荐🦋hexo-theme-butterfly主题(当然也可以安装其他的主题),输入以下命令安装:
1 | npm install hexo-theme-butterfly |
9.应用主题
- 修改网站配置文件
_config.yml
,将主题更改为butterfly
1
theme: butterfly
- 安装
pug
和stylus
渲染器,这两个渲染器都是butterfly
生成页面的依赖包:1
npm install hexo-renderer-pug hexo-renderer-stylus --save
- 为了后续修改方便,将butterfly的配置文件
_config.yml
复制到项目根目录底下,并改名为_config.butterfly.yml
。
10.标签外挂
❗❗❗标签外挂是hexo特有的功能,并不是markdown的标准格式,以下的写法仅限于butterfly主题,将其应用于其他主题可能会导致报错❗❗❗
10.1.note (Bootstrap Callout)
详细介绍看官方链接🛫
使用方法有两种,语法格式:
1 | {% note [class] [no-icon] [style] %} |
样例:
1 | {% note flat %} |
默认 提示块标签
default 提示块标签
primary 提示块标签
success 提示块标签
info 提示块标签
warning 提示块标签
danger 提示块标签
1 | {% note [color] [icon] [style] %} |
样例:
1 | {% note 'fab fa-cc-visa' flat %} |
你是刷 Visa 还是 UnionPay
2021年快到了….
小心开车 安全至上
这是三片呢?还是四片?
你是刷 Visa 还是 UnionPay
剪刀石头布
前端最讨厌的浏览器
当style缺省时启用配置文件中的设置
10.2.Gallery相册图库
详细介绍看官方链接🛫
图库集合,语法格式:
1 | <div class="gallery-group-main"> |
- name:图库名字
- description:图库描述
- link:跳转链接
- img-url:封面图片
样例:
1 | <div class="gallery-group-main"> |
10.3.Gallery相册
详细介绍看官方链接🛫
图库,语法格式
1 | {% gallery [lazyload],[rowHeight],[limit] %} |
样例:
1 | {% gallery %} |
10.4.tag-hide
详细介绍看官方链接🛫
这个标签可以隐藏一些内容🧐,有三种可选:
可以在文本中的按钮后隐藏一些东西,仅限文字
1 | {% hideInline content,display,bg,color %} |
- content: 文本内容
- display: 按钮显示的文字(可选)
- bg: 按钮的背景颜色(可选)
- color: 按钮文字的颜色(可选)
样例:
1 | 🤣👉{% hideInline 🤡,你是谁?,#66CCCC,#fff %} |
🤣👉
🤣👉
可以在一个独立的按钮后隐藏很多内容,包括图片,代码块等
1 | {% hideBlock display,bg,color %} |
- content: 文本内容
- display: 按钮显示的文字(可选)
- bg: 按钮的背景颜色(可选)
- color: 按钮文字的颜色(可选)
样例:
1 | {% hideBlock 猜猜这里有什么?,#66CCCC,#fff %} |
折叠的收缩栏
1 | {% hideToggle display,bg,color %} |
- content: 文本内容
- display: 按钮显示的文字(可选)
- bg: 按钮的背景颜色(可选)
- color: 按钮文字的颜色(可选)
样例:
1 | {% hideToggle 还要再来一次吗😲,#1f1f1f,#fff %} |
还要再来一次吗😲
10.5.mermaid
使用mermaid标签可以绘制Flowchart(流程图)、Sequence diagram(时序图 )、Class Diagram(类别图)、State Diagram(状态图)、Gantt(甘特图)和Pie Chart(圆形图),具体可以查看mermaid文档🛫以及butterfly官方🛫
1 | {% mermaid %} |
样例:
1 | {% mermaid %} |
pie title 一个样例图 "一部分" : 33 "二部分" : 17 "三部分" : 45 "四部分" : 5
10.6.tabs
详细介绍看官方链接🛫
页面中的分栏
1 | {% tabs Unique name, [index] %} |
样例:
1 | {% tabs %} |
😎
😍
🤩
10.7.button
详细介绍看官方链接🛫
按钮
1 | {% btn [url],[text],[icon],[color] [style] [layout] [position] [size] %} |
样例:
1 | {% btn 'https://ana-0823.github.io/',回到主页,fas fa-home,block %} |
10.8.inlineImg
详细介绍看官方链接🛫
以内联元素
显示的图片,使用此标签
1 | {% inlineImg [src] [height] %} |
样例:
1 | 🤣👉{% inlineImg /img/jocker.gif 100px %} |
🤣👉
10.9.label
详细介绍看官方链接🛫
高亮标签
1 | {% label text color %} |
样例:
1 | 这是一个{% label 高亮 red %},这是另一个{% label 高亮 pink %} |
这是一个高亮 ,这是另一个高亮
10.10.timeline
详细介绍看官方链接🛫
时间线
1 | {% timeline title,color %} |
样例:
1 | {% timeline 2024 %} |
2024
05-01
test1
05-02
test2
10.11.flink
详细介绍看官方链接🛫
添加友链
1 | {% flink %} |
样例:
1 | {% flink %} |
10.12.abcjs乐谱
详细介绍看官方链接🛫
在页面上渲染乐谱
在主题配置中设置如下:
1 | abcjs: |
格式:
1 | {% score %} |
样例:
1 | {% score %} |
10.13.series系列文章
详细介绍看官方链接🛫
在页面上显示系列文章
修改主题配置文件如下:
1 | series: |
写法:
1 | {% series %} |
要在文章的front-matter
上添加参数series,给一个标识
样例:
1 | {% series hexo %} |
10.14.aplayer播放器
详细介绍看官方文档
通过命令npm install --save hexo-tag-aplayer
安装插件
要在配置文件中修改如下:
1 | aplayer: |
主题配置中修改如下:
1 | aplayerInject: |
per_page为false时须在要使用的页面的front-matter
中添加aplayer参数
为了使切换页面时音乐不中断,要打开pjax
1 | pjax: |
写法:
1 | {% meting id server type %} |
样例:
1 | {% meting "9992949674" "netease" "playlist"%} |