记设置hexo支持mermaid与部署GitHub报错的问题

hexo支持mermaid

前段时间写了流程图,但是发现hexo渲染并没有成功,记一下方法。
mermaid官方文档

如果主题本身自带了mermaid,只需要在config里改mermaid: true即可,以下方法针对没有mermaid的主题。

安装hexo插件

1
npm i hexo-filter-mermaid-diagrams

npm安装插件的时候会出现以下语句:

1
2
3
4
up to date in 943ms

24 packages are looking for funding
run `npm fund` for details

这不是报错,如果不想出现这个可以输入

1
npm install --no-fund

配置

在config文件里加入以下代码

1
2
3
4
5
6
# mermaid chart
mermaid: ## mermaid url https://github.com/knsv/mermaid
enable: true # default true
version: "8.13.8" # default v7.1.2
options: # find more api options from https://github.com/knsv/mermaid/blob/master/src/mermaidAPI.js
#startOnload: true // default true

主题配置

找到themes\你的主题名字\layout\_partials\footer.pug文件,加入这一行代码即可

1
script(src="https://cdn.bootcdn.net/ajax/libs/mermaid/8.13.8/mermaid.min.js")

如果footer文件是用别的语言写的,可以参考这篇博客,里面有其他语言的方法。

遇到的问题

第一步安装包很关键,第一次配置没有成功,应该下载的时候出现了问题,可以尝试去原GitHub下载,放到node_modules里面,也可以多试几次。
第二步我这里好像没设置也可以照样渲染成功。

GitHub部署报错的问题

前段时间用hexo d部署的时候总是报错 我遇到的问题是

1
2
3
4
5
6
7
fatal: unable to access 'https://github.com/wxhxyyzm/wxhxyyzm.github.io.git/': OpenSSL SSL_read: Connection was reset, errno 10054
FATAL Something's wrong. Maybe you can find the solution here: https://hexo.io/docs/troubleshooting.html
Error: Spawn failed
at ChildProcess.<anonymous> (D:\Ahh\node_modules\hexo-util\lib\spawn.js:51:21)
at ChildProcess.emit (node:events:513:28)
at ChildProcess.cp.emit (D:\Ahh\node_modules\cross-spawn\lib\enoent.js:34:29)
at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12)

不过这个是时好时坏,有的时候可以成功,有的时候不行。

后来看了帖子,找到一种最简单的方法
把config里deploy中repo的形式改掉 注释掉的是之前用的 改成git@…之后再也没有报错过了

1
2
3
4
5
deploy:
type : git
## repo : https://github.com/wxhxyyzm/wxhxyyzm.github.io.git
repo: git@github.com:wxhxyyzm/wxhxyyzm.github.io.git
branch : master