Melody主题Slide的bug修复和魔改系列

今天刚好又碰到一个Melody主题Slide页面嵌入的bug,干脆就把之前碰到的做个集合好了。

页面未显示内容

[Issues] hljs is not defined, Reveal.initialize({dependencies:[]}) has been deprecated as of reveal.js 4.0.0. · Issue #320

明明这个issue关了但是主题的pug也没更新的= =

2021.05亲测有效

图片无法显示

前提:使用如何从无到有搭建属于你的hexo博客 | c10udlnk_Log中的方法来优雅嵌入图片,对一般文章来说使用一切正常,但Slide中的图片无法正常插入。

排查发现图链嵌入有问题:

理论上这里的src要应该是/p/blogsFor-ComSec-readingCodes/image-20211126164041910.png才能正常显示。

其余博客文章中的正常图链嵌入便是如此:

主页预览未更新

修改了该Slide的内容,但是主页的预览中并没有更新。

根据iframe的src指向的内容不刷新的解决办法之一可以知道,iframe只有在src的值发生改变时,才会刷新frame里的内容。Melody嵌入iframe时只用了url,而文章url一般是不会变的。

检查可以看到iframe被放在content类。

通过寻找字符串定位到关键布局文件.\node_modules\hexo-theme-melody\layout\includes\mixins\slide.pug,将20行按如下修改,使其传一个time参数来改变url的值。

1
2
3
mixin slideIframe(url)
.content
iframe(src=url_for(url)+"?time="+new Date().getTime() frameborder="0")

【施工ing】

本文作者: c10udlnk
本文链接: https://c10udlnk.top/p/blogsFor-hexo-fixedSlideBugsInMelody/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 c10udlnk_Log (https://c10udlnk.top)!