Description 现象
站点存在硬编码的绝对 URL。
_config.yml 第 8 行 url: "http://hibikilogy.github.io" —— 确为 HTTP ,会影响 canonical、RSS、Disqus 等生成的绝对链接,应改为 HTTPS。
来源.github/workflows/path2url.yml:该 CI 在 _posts/**/*.md 变更时执行
sed -i 's|\.\./images/|https://hibikilogy.github.io/images/|g',
把作者写的相对路径 ../images/ 批量改成写死域名 的绝对 URL,日积月累沉淀在文章里。
影响范围(master 实测)
_posts/**/*.md 中写死域名的自站链接共 454 处 ,涉及 40 个文件
front matter 字段(全部是 header-img)14 处
正文 440 处 :图片 .../images/ 425 处 、站内其它链接(指向其他文章等)15 处
模板中另有 1 处:_includes/nav.html 的搜索范围 site:hibikilogy.github.io
文章内未发现 http://hibikilogy.github.io(0 处),但站点 url 自身是 HTTP
影响
文章图片与站内链接写死域名,站点迁移或更换域名(CNAME)后会全部失效;
site.url 为 HTTP,canonical、feed.xml、Disqus 等输出的绝对地址是 HTTP,可能被浏览器 / 爬虫判为不安全内容。
修复方案
_config.yml:url 改为 https://hibikilogy.github.io。
文章正文:https://hibikilogy.github.io → {{ site.url }}{{ site.baseurl }}。
header-img 等 front matter 字段:改为站内根相对路径 /images/...。
⚠️ 实测 Jekyll 不会渲染 front matter 中的 Liquid :header-img: "{{ site.url }}..." 会原样输出为
background-image: url('{{ site.url }}...'),导致图片失效。因此 front matter 只能用根相对路径。
.github/workflows/path2url.yml:替换目标不再写死域名,并按位置区分
(正文 → {{ site.url }}{{ site.baseurl }}/images/;front matter → /images/),避免问题复发。
_includes/nav.html:搜索范围改由 site.url 推导。
验证
生产模式 jekyll build 通过,输出符合预期:
文章正文图片 → https://hibikilogy.github.io/images/...
header-img → /images/...
canonical / RSS → https://hibikilogy.github.io/...
导航搜索 → site:hibikilogy.github.io
源文件中不再出现写死域名的自站链接(cdn.jsdelivr.net、raw.githubusercontent.com 等第三方托管地址不在本次范围内)。
Reactions are currently unavailable
You can’t perform that action at this time.
现象
站点存在硬编码的绝对 URL。
_config.yml第 8 行url: "http://hibikilogy.github.io"—— 确为 HTTP,会影响 canonical、RSS、Disqus 等生成的绝对链接,应改为 HTTPS。.github/workflows/path2url.yml:该 CI 在_posts/**/*.md变更时执行sed -i 's|\.\./images/|https://hibikilogy.github.io/images/|g',把作者写的相对路径
../images/批量改成写死域名的绝对 URL,日积月累沉淀在文章里。影响范围(master 实测)
_posts/**/*.md中写死域名的自站链接共 454 处,涉及 40 个文件header-img)14 处.../images/425 处、站内其它链接(指向其他文章等)15 处_includes/nav.html的搜索范围site:hibikilogy.github.iohttp://hibikilogy.github.io(0 处),但站点url自身是 HTTP影响
site.url为 HTTP,canonical、feed.xml、Disqus 等输出的绝对地址是 HTTP,可能被浏览器 / 爬虫判为不安全内容。修复方案
_config.yml:url改为https://hibikilogy.github.io。https://hibikilogy.github.io→{{ site.url }}{{ site.baseurl }}。header-img等 front matter 字段:改为站内根相对路径/images/...。header-img: "{{ site.url }}..."会原样输出为background-image: url('{{ site.url }}...'),导致图片失效。因此 front matter 只能用根相对路径。.github/workflows/path2url.yml:替换目标不再写死域名,并按位置区分(正文 →
{{ site.url }}{{ site.baseurl }}/images/;front matter →/images/),避免问题复发。_includes/nav.html:搜索范围改由site.url推导。验证
jekyll build通过,输出符合预期:https://hibikilogy.github.io/images/...header-img→/images/...https://hibikilogy.github.io/...site:hibikilogy.github.iocdn.jsdelivr.net、raw.githubusercontent.com等第三方托管地址不在本次范围内)。