写在前面

这两天鼓捣Hexo,想让边栏一直显示,并且不在点击空白处的时候关闭。网上找到的资料都是说用dimmer配置项来控制,但官方文档里没这个配置项,在配置文件里直接加上也没有任何作用(难道是我操作不对🤔)。

所以只能自己动手改造了。

需要注意: 如果使用Github Action部署或者Cloudflare Pages的Import from Github部署的话,不能用npm install来安装主题。需要把主题文件放到themes文件夹里。

需要注意: 仅对Muse生效。

环境版本

1
2
3
hexo: 6.3.0

hexo-theme-next: 8.17.1

配置(非必须)

在Next的配置文件中配置sidebar总是显示

1
2
sidebar:
display: always

代码

source\js\schemes\muse.js

1
2
3
if (clickingBlankPart || event.target.matches('img.medium-zoom-image')) {
//this.hideSidebar(); //注释这一行
}

其他的问题

如果配置了 mediumzoom: true ,在窄屏的时候放大的图片会被边栏遮挡。

配置 fancybox: true 可以解决这个问题。