无法预览Github页面

3
我正在尝试构建一个github-pages网站,并离线预览它。然而,我只取得了部分成功,虽然我获取的页面来自我的离线源,但其所有资源(css/img)和链接都指向该站点的github位置。
我使用{{ site.github.url }},按照此处所述安装了jekyll。
我尝试过bundle exec jekyll clean,并尝试删除git remote remove origin和取消设置github_username。但是,没有远程站点,该站点将无法构建;而有了远程站点(没有用户名),它仍然知道我的用户名,因为它仍然生成到<username>.github.io/repo/的链接,而不是127.0.0.1:3000(我更改了端口)。
如何正确离线测试我的github页面(即使链接指向本地的jekyll实例)?
重要提示:当我启动bundle exec jekyll serve时,我会收到以下警告:

GitHub元数据:未找到GitHub API身份验证。某些字段可能缺失或具有不正确的数据。

据我所知,这来自于填充site.github的。因此(我假设)site.github.url。但是,我没有找到它是否缓存数据,以及如何清除这些数据。由于我正在尝试构建离线测试,因此希望此url为空/指向localhost。

===============================

标题布局摘录:

<head>
<title>A title</a>
<link rel="stylesheet" href="{{ site.github.url }}/css/bootstrap.min.css">
</head>

作为页面层次结构中不同部分都使用的<head>部分/布局,我需要一个绝对路径来链接到CSS文件。

{{ site.github.url }} 是指您的 Github 存储库 URL,与您的文件夹层次结构无关。它不应该用于描述链接 URL。请提供一个存储库 URL。 - David Jacquel
@DavidJacquel:根据我提供的示例(https://jekyllrb.com/docs/github-pages/),我理解文档的意思是我应该完全按照那个示例来使用,以确保如果我需要使用绝对路径包含“myfancy.css”,它始终指向基础路径。由于我将我的布局用于博客文章等,我不知道如何使用相对路径。 - ted
@DavidJacquel:如果可能的话,我目前更愿意将我的Github和Stackoverflow账户分开,但我很乐意发布摘录。我一会儿会添加我使用的标题。 - ted
2个回答

2

替换:{{ site.github.url }}/css/bootstrap.min.css

使用:{{ site.baseurl }}/css/bootstrap.min.css

Github元数据插件提供常见的存储库信息,不应用于生成资源URL。我甚至没有在您引用的文档中看到它被提及。

您无需使用它即可在本地使用Jekyll。


谢谢,我会尝试并回复/接受。供参考,我是在谈论 https://jekyllrb.com/docs/github-pages/#project-page-url-structure。 - ted
很遗憾,那不起作用。Github添加了一个存储库路径,而这个路径被省略了。虽然离线测试可以使用它,但当我将其放到Github上时,它就会出现问题。 - ted
这对我解决了问题。 - YourEconProf

-1

如果你仍然遇到这个问题,我有一篇博客文章和一个视频,展示如何解决它。其核心是:

  1. 在GitHub中创建个人访问令牌。这只需要一秒钟,参见GitHub文档。在选择要授予令牌的范围时,只需选择repo复选框。
  2. 在您的计算机上添加一个名为JEKYLL_GITHUB_TOKEN的新系统环境变量,并将其值设置为您生成的个人访问令牌。
  3. 点击此处,复制页面中的所有文本,并将其保存为名为cacert.pem的文件,放在本地计算机的某个位置。
  4. 在您的计算机上添加一个名为SSL_CERT_FILE的新系统环境变量,并将其值设置为您保存cacert.pem文件的完整文件路径。
  5. 重新启动您的计算机(这是必须的

此博客文章假定您使用的是Windows计算机,但同样的步骤也适用于Mac。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接