https 禁用 jekyll 主题

问题描述

我使用 github 页面创建了我的主页,并将域自定义http://www.namespace-pt.com。如下图所示,当我使用 http protocal 时,一切都很好。

enter image description here

然而,当我尝试在 github 页面设置中检查 example.com/coming-soon 选项并访问 https://www.namespace-pt.com 时,jekyll 主题 cayman-blog 被禁用,一切都一团糟。

有人可以帮我吗?

enter image description here

解决方法

这可能是因为of mixed content

如果您为 GitHub Pages 站点启用了 HTTPS,但站点的 HTML 仍然通过 HTTP 引用图像、CSS 或 JavaScript,则您的站点正在提供混合内容。提供混合内容可能会降低您网站的安全性,并导致无法加载资产。

要删除您网站的混合内容,请通过将您网站的 HTML 中的 http:// 更改为 https:// 来确保您的所有资产都通过 HTTPS 提供服务。

就您而言,lorepirri/cayman-blog/_layouts/default.html 确实包括:

<link rel="stylesheet" href="{{ '/assets/css/style.css?v=' | \
                               append: site.github.build_revision | absolute_url }}">

如果 absolute_url 生成一个 http:// URL,那么在您强制执行 HTTPS 时就会出现问题。


OP namespace-Pt 中的 the comments 引用 jekyll/jekyll issue 5590

虽然对于带有 absolute_url 的资产,它可能仍然是 http:// 调用,但我们建议无论如何使用 relative_url

所以 OP 补充说:

我尝试将 absolute_url 更改为 relative_url,因为我的所有资产都存储在本地。它有效。