最近更换了hexo主题后,生成的文章代码最后面显示了多个空白行,而前面代码中原本的空白行则被移除了,看起来比较别扭。

解决办法:
1.找到hexo-util/lib/highlight.js文件
一般的路径为${blog_path}/node_modules/hexo-util/lib/highlight.js
2.修改highlight.js文件中的代码
大概在35~38行
修改前:

1
2
3
4
numbers += '<div class="line">' + (firstLine + i) + '</div>';
content += '<div class="line';
content += (mark.indexOf(firstLine + i) !== -1) ? ' marked' : '';
content += '">' + line + '</div>';

修改后:

1
2
3
4
numbers += '<span class="line">' + (firstLine + i) + '</span>\n';
content += '<span class="line';
content += (mark.indexOf(firstLine + i) !== -1) ? ' marked' : '';
content += '">' + line + '</span>\n';

参考文章:https://blog.csdn.net/u014717036/article/details/79372461

另外一个问题,就是生成的代码前面的部分空白,如图:

解决办法:
这个跟具体使用的主题有关,比如BlueLake主题。
在highlight.styl文件中找到padding: 0.3em 15px 0.3em 1em,去掉即可。