Hexo 踩坑合集
Drunkbaby Lv6

Hexo 踩坑合集

Hexo 踩坑合集

1. hexo s,hexo g,hexo d 时候的报错 err: TypeError: Prism.languages.typescript.keyword.push is not a function

报错如图所示

此时可以选择关闭 prism 插件,问题可以得到临时解决。

2. hexo matery 代码块高亮渲染问题

终于解决了,累死了……………… 参考闪烁之狐大佬的说法就可以了

从 Hexo5.0 版本开始自带了 prismjs 代码语法高亮的支持,本主题对此进行了改造支持。

如果你的博客中曾经安装过 hexo-prism-plugin 的插件,那么你须要执行 npm uninstall hexo-prism-plugin 来卸载掉它,否则生成的代码中会有 {} 的转义字符。

然后,修改 Hexo 根目录下 _config.yml 文件中 highlight.enable 的值为 false,并将 prismjs.enable 的值设置为 true,主要配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
highlight:
enable: false
line_number: true
auto_detect: false
tab_replace: ''
wrap: true
hljs: false
prismjs:
enable: true
preprocess: true
line_number: true
tab_replace: ''

主题中默认的 prismjs 主题是 Tomorrow Night,如果你想定制自己的主题,可以前往 prismjs 下载页面 定制下载自己喜欢的主题 css 文件,然后将此 css 主题文件取名为 prism.css,替换掉 hexo-theme-matery 主题文件夹中的 source/libs/prism/prism.css 文件即可。

  • 这里网上搜集了很多的方法,比如什么用 sudo 权限打开 cmd 什么的,我个人这里不是这些原因。

早在之前写的文章里面有一篇叫 “Python Flask模板注入的文章”,在那里面加入了 disableNunjucks: true;所以后续我有一篇文章 “从0到1 完全掌握 SSTI” 中没有加入这一判断,就报错了。

如果还是无法解决的话可以删除 ./deploy.git,再等待一段时间后再进行 hexo 的部署即可。

  • 还有一种情况是因为 hexo matery 不支持文章中存在相同密码的,对文章加密之后每篇都必须是不同的密码。

总而言之,我认为这些类型的报错都是由于操作不当引起的

4. 当删除完已经发布的文章

当删除完已经发布的文章之后要 hexo clean,再 hexo g,hexo d
否则会报错。

5. hexo d 时 remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.

  • 这就是 GitHub 的新验证方式,用 token 即可。

点击头像,进入 Settings,有个 Developer Setting,里面有一个 Token 的,全选 generate 即可。

6. 文章给多个分类,多标签

  • 一篇文章肯定是有可能是既是 Java 的,又是漏洞复现的
1
categories: [Sports,Baseball]

这个方法有点问题,还在思考。

7. hexo 版本降级

npm i hexo@4.1.1更换版本

8. fatal: Out of memory, malloc failed (tried to allocate 947912704 bytes)

查看git 的配置 。猜想是“http.postbuffer”太大。

1
git config --global  http.postbuffer 128m
 评论