soM*_*rio 10 html css github github-pages hugo
我正在尝试在 GitHub 上部署/托管我的Hugo网站。
当我使用该命令在本地 ( http://localhost:1313/)运行该网站时,该网站可以完美呈现hugo server,但当我将其托管在 GitHub 上时,该网站无法正确呈现。
最初,我认为问题在于 GitHub 上的部署,但后来我打开了文件夹中的命令index.html生成的文件,我发现它在那里也不起作用。所以我认为index.html文件中的css连接有问题:hugopublic
href=https://username.github.io/assets/css/stylesheet.min.06dcab22093156f8a08872c23ce7ee2a8234185d3c84741f7b0ce0c78df475b8.css
Run Code Online (Sandbox Code Playgroud)
但这似乎是正确的链接。
为了hugo首先创建该网站,我遵循了快速入门教程,为了应用我选择的主题,我遵循了此处描述的官方安装过程PaperMod。最后,为了将其托管在 GitHub 上,我遵循了推荐的说明。
我的config.yml文件具有官方存储库中提供的示例文件的推荐结构。
除了在主题开发者的 GitHub 存储库上提交一个问题(除了他指出的无效修正之外,我没有得到明确的答案)之外,我还查看了几篇类似这样的文章,这个和这个,但没有一个他们工作。
我使用的是 Windows 10,我的 Hugo 版本是v0.78.2/extended windows/amd64.
我检查了html文件的控制台,发现了以下三个错误:
(索引):1 无法在资源“https://username.github.io/assets/css/stylesheet.min.5846effdc39e688e1bf07acc7a47123f949ae43a8b0e776fa1a2a626406cc602.css”的“完整性”属性中找到有效的摘要,计算出的SHA-256完整性为“J6YEe5hj”库克/TENUR7jEMr6VNR4lwN8iVpSGj1g8MU4='。资源已被屏蔽。
DevTools 无法加载 SourceMap:无法加载 chrome-extension://fheoggkfdfchfphceeifdbepaooicaho/sourceMap/chrome/iframe_handler.map 的内容:HTTP 错误:状态代码 404,net::ERR_UNKNOWN_URL_SCHEME
DevTools 无法加载 SourceMap:无法加载 chrome-extension://fheoggkfdfchfphceeifdbepaooicaho/sourceMap/chrome/content.map 的内容:HTTP 错误:状态代码 404,net::ERR_UNKNOWN_URL_SCHEME
jef*_*f-h 15
感谢 @Samuel Three 的回答,我开始更仔细地查看我的 Cloudflare 配置。
我发现我为 JavaScript 和 CSS 打开了 Cloudflare 的“自动缩小”功能(在“速度/优化”下)。禁用这些(并刷新一次 Cloudflare 缓存)为我解决了这个问题,并且我能够从那时起启用 Cloudflare 的缓存。
当然,如果 Cloudflare 以任何方式修改 JS 或 CSS 文件,计算出的 SHA 完整性将不再正确。
我替换:
integrity="J6YEe5hjKuk/TENUR7jEMr6VNR4lwN8iVpSGj1g8MU4="
和:
integrity=""
在每个 文件的 css 标签中index.html。
尽管我找到了一种自动执行此操作并首先跳过错误的解决方案,但这确实有效。
看起来该文件夹head.html下的文件assets结构如下:
<!-- Styles -->
{{- $stylesheet := (resources.Match "css/*.css") | resources.Concat "assets/css/stylesheet.css" | minify | fingerprint -}}
<link href="{{ $stylesheet.Permalink }}" integrity="{{ $stylesheet.Data.Integrity }}" rel="preload stylesheet"
as="style">
Run Code Online (Sandbox Code Playgroud)
我替换integrity="{{ $stylesheet.Data.Integrity }}"为integrity=""并且它起作用了!它会自动生成index.html用空构建的文件integrity,因此没有错误并且运行完美。
小智 5
对于其他有相同完整性问题的人,将以下代码添加到我的config.yml文件中解决了问题。
params:
assets:
disableFingerprinting: true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8648 次 |
| 最近记录: |