hexo没有代码折叠,导致长代码在插入以后阅读体现非常糟糕,网站改版以后这个现象尤其明显。简单搜了以下,没有发现特别满意的解决方案,只好自己动手来解决。
实现思路
- 通过js来对页面dom操作,提取
figure.highlight
套上两个div容器
; - 使用js添加显示和隐藏按钮,并加入滚动;
- 对代码块和增加的按钮写个css
code-unfold.js
在主题/source/js/
创建code-unfold.js,内容如下:
1 | console.log('脚本启动'); |
highlight.css
在主题/source/css/
下创建highlight.css,具体内容入下,根据自己需要修改样式:
1 | .highlight-container { |
配置
需要将js和css文件引入到页面中,这里需要在主题/layout/paritial/
修改head.pug
和layout.pug
分别加入css和js的引用。