f-dong / hexo-theme-minimalism

hexo 极简主题
https://minimalism.codeover.cn
MIT License
323 stars 59 forks source link

[BUG]代码高亮功能开关方式与教程不符 #43

Closed K4N114 closed 1 month ago

K4N114 commented 1 month ago

Bug 描述 按照教程https://minimalism.codeover.cn/docs/config/info#%E4%BB%A3%E7%A0%81%E9%AB%98%E4%BA%AE 操作后,代码高亮并不生效

从默认状态开始,将highlight项中添加enable: true子项后,代码高亮功能生效。 (除了添加enable: true外没有进行任何改动)

syntax_highlighter: highlight.js
highlight:
  enable: true
  line_number: true
  auto_detect: false
  tab_replace: ''
  wrap: true
  hljs: false
prismjs:
  preprocess: true
  line_number: true
  tab_replace: ''

电脑:

其他 很喜欢主题,谢谢分享! 可以给个捐赠通道~

f-dong commented 1 month ago

因为 HEXO 7.0 以上版本配置文件发生了改变导致了这个问题,我尝试对此更改进行了兼容,麻烦尝试将主题更新至 1.4.0 版本再尝试一下

K4N114 commented 1 month ago

代码高亮问题

遗憾的是,本次更新并没有解决问题,问题和之前一样,没有发生任何变化。 但我查到了官方文档中的相关说明,并将这一段替换您原本写的代码,即可正常使用prismjs。 简单分析了一下,还是因为版本更替代码不同导致的不生效。 如果您认为该改动合理的话,可以考虑纳入教程中。

https://hexo.io/zh-cn/docs/syntax-highlight#PrismJS

_config.yml

//版本低于 ver 7.0.0
highlight:
  enable: false
prismjs:
  enable: true
  preprocess: true
  line_number: true
  line_threshold: 0
  tab_replace: ""
//版本高于 ver 7.0.0
syntax_highlighter: prismjs
prismjs:
  preprocess: true
  line_number: true
  line_threshold: 0
  tab_replace: ""

其他问题

另外目前代码块之间不会有间隔,不知道是否是有意为之的? 使用heightlight模式下是有间隔的。(和大部分网站默认的显示效果相同) image

public float f1;

void Test()
{
    Debug.Log(f1);
}
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: ''
f-dong commented 1 month ago

是的,造成此问题的原因就是因为 Hexo 7.0 版本开始,新增了一个 syntax_highlighter 配置项并废弃了旧的配置方案,我在上次主题的更新中兼容了这个变更,代码间隔问题我会再发布一个新版本,稍后更新主题版本至 1.4.1即可

K4N114 commented 1 month ago

昨天可能是我本地有其他问题,导致高亮失效。 现在更新后验证已经修复,间隔问题也已修复,谢谢回复~