hexo主题高亮不生效问题解决

查看是否安装了highlight.js

查看 _config.yml(是根目录那个,不是主题的)

正确为

1
2
highlight:
enable: true

如果依然不生效
themes/cactus/layout/_partials/head.ejs 或对应模板里,确保引入:

1
2
3
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/highlight.js/styles/github.min.css">
<script src="https://cdn.jsdelivr.net/npm/highlight.js/lib/highlight.js"></script>
<script>hljs.highlightAll();</script>

使用PrismJS

修改配置

1
2
3
4
5
6
7
syntax_highlighter: prismjs
highlight:
enable: false
prismjs:
enable: true
preprocess: true
line_number: true

themes/cactus/layout/_partial/head.ejs

(有的版本是 themes/cactus/layout/_partials/head.ejs)

在 之前添加以下代码:

1
2
3
4
<!-- PrismJS Syntax Highlighting -->
<link href="https://cdn.jsdelivr.net/npm/prismjs@1.29.0/themes/prism-tomorrow.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.29.0/prism.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/prismjs@1.29.0/plugins/line-numbers/prism-line-numbers.min.js"></script>

然后执行

hexo clean && hexo g