错误描述
在 Github Pages 上部署 Hugo 博客后,网站样式丢失,打开浏览器 F12 控制台可以发现错误:Failed to find a valid digest in the 'integrity' attribute for resource "xxx.css", The resource has been blocked.
。
解决办法
我用的是 PaperMod
主题,不知道是不是主题自身的原因,在网上搜了一大圈后,也没找到该主题官方对该错误的说明。但是有一点可以确定的是,页面上的 integrity
属性出了问题,至于这个属性是什么意思,我也不懂。
修改每个首页 html 文件
有人给出的解决办法是将网站中代表每个模块首页的 index.html
文件里面的 integrity
属性的值置空,我试着将网站首页的 index.html
文件改了一下,确实可以解决问题。但这么多 index.html
文件,一个个手改,工作量太大,也会容易遗漏。另外,即便这次改好了,后面再次重新发布文章的时候,就又会将其覆盖,所以这个方法并不可行。
修改基类 html 文件
后面倒是在 Satckoverflow 上发现了一个类似的问题。下面有人回复说是需要将 assets
文件夹下的 head.html
中的 integrity
的值置空,就可以一劳永逸了,以后每次发布文章也不用担心被覆盖。可是按照他的路径我并没找到该文件,经过一番试错,最后在 themes\PaperMod\layouts\partials
文件夹下找到一个 head.html
文件,发现里面确实有 integrity="{{ $stylesheet.Data.Integrity }}"
这么一句代码,把它改为 integrity=""
然后重新发布,发现效果杠杠的~
咱也不懂前端,就先这么照葫芦画瓢解决一下,后面有问题再说。