通过修改hexo配置文件将代码块中出现的tab制表符改成4个空格。

问题

最近发现本站部分代码块中缩进过于离谱,比如python uv这篇博客。

image.png

检查了此处的md源码之后发现,代码块中的缩进是tab而不是空格,所以导致采用了html默认的8个空格来展示tab,导致缩进过长。

解决

参考:https://blog.csdn.net/qq_41948288/article/details/138728709

hexo中代码块的渲染是由hexo本身负责的,绝大部分主题并没有引入独立的代码块渲染机制。所以代码块的配置项是在hexo自己的_config.yaml配置文件中。

配置文件如下,第50行的highlight就是代码块的配置

1
2
3
4
5
6
7
8
highlight:
enable: true
line_number: true
auto_detect: false
tab_replace: ''
wrap: true
hljs: false
exclude_languages: ['mermaid'] # 渲染的时候忽略代码语言

其中有一个选项是tab_replace,默认是空,不会做任何替换操作。将其修改为4个空格即可。

1
tab_replace: '    '

修改后,重新进行hexo cl和hexo g,就可以观察到生效后的代码块,不再出现过长的缩进了

image.png