【问题标题】:Github Pages - trouble rendering a Page with JekyllGithub Pages - 使用 Jekyll 渲染页面时遇到问题
【发布时间】:2020-08-10 03:59:04
【问题描述】:

在使用 Github 页面时,我无法让 Jekyll 呈现联系人页面。 我正在使用以下模板:https://github.com/antonostrovsky/tale

如果我将模板克隆到本地存储库并运行bundle exec jekyll serve,我会得到一个页面,其中包含我可以成功关注的联系人链接。生成的 _site 文件夹包含一个子文件夹“contact”,其中包含 index.html。

然后我在 Github 上创建一个空存储库 (https://github.com/antonostrovsky/test_site) 并在 _config.yml 中指定此模板:

remote_theme: antonostrovsky/tale

模板渲染成功,在索引页(https://antonostrovsky.github.io/test_site/)可以看到模板,Contact链接不通,导致“Not Found”错误。

  1. 谁能帮助我了解如何解决此问题? Jekyll 是否有任何可以放在 github 页面上的调试输出?
  2. 有人知道出了什么问题吗?

提前谢谢你

【问题讨论】:

  • 根据github.com/antonostrovsky/tale#github-pages-method,我认为您的仓库缺少Gemfile
  • @midzer 感谢您的关注。你能解释一下你的意思吗? Gemfile 存在于主题存储库中。
  • 您的本地开发存储库需要通过 bundle 获取那些 (Gemfile) 依赖项。我不确定你是否应该指向原始主题 (remote_theme: chesterhow/tale),以防你没有修改它。
  • @midzer,谢谢。我打开了本地存储库,确保 Gemfile 存在并运行“捆绑”命令。然后将更改推送到托管主题的远程存储库。然后我通过 remote_theme 将我的网站指向我的主题。除了联系人链接之外,它还可以工作。

标签: jekyll github-pages


【解决方案1】:

我创建了一个diff between your repo and the template repo 并注意到在某个阶段您删除了_config.yml 文件中的baseurl 属性。

分叉您的回购并将baseurl: "/tale" 重新添加到_config.yml 文件为我修复了联系页面链接。

更新:

虽然上述内容使页面作为分叉工作,但它不能作为提问者所需要的远程模板工作。

test_site 有主题并且可以构建,但是它没有内容。 test_site repo 中没有页面。

如果您将您的contact.md 页面从主题模板存储库复制到测试站点存储库中的pages/contact.md,然后重新构建,那么您的链接现在应该可以工作了。

注意:在测试站点 repo 中,文件和文件夹都不能以 _ 开头,因为它会被 jekyll 跳过。

提示:打开开发控制台并禁用页面缓存,然后重新加载以更快地在 github 上查看您的更改。它还有助于添加更改某些页面内容,以便您知道您看到的是最新版本。

【讨论】:

  • 感谢您的建议!我会给你赏金,因为你是唯一一个努力分叉回购并看看的人。遗憾的是,这并不是我的问题所在:我正在尝试将此模板存储库用作其他 github 页面网站的 jekyll 模板。因此,例如,您将使用您的项目页面创建一个新的 repo,并将您从我那里分叉的 repo 指定为模板(这是我在问题中解释 remote_theme 的使用)。能否请您尝试一下,看看您是否有同样的问题?
  • 例如,我想使用我的 fork/modified 主题作为我项目的 Jekyll 模板:github.com/antonostrovsky/test_site。然后我按照描述添加 _config.yml 并添加 base_url 变量,匹配这个迷你站点 base_url: "/test_site" 的基本 url。结果网站仍然有错误的联系链接:antonostrovsky.github.io/test_site 那是问题:(
  • 感谢您的更新!添加页面解决了问题!我可以要求澄清吗?如果我的目标是保持项目存储库尽可能“干净”,并避免将 /pages/contact.md 页面放入每个存储库中,那么让这个联系页面成为我主题的一部分的最佳方法是什么?
  • 我对 jekyll 不是很熟悉,所以没有进一步挖掘我不太确定。 theme docs 似乎表明主题更多地用于样式、布局和共享资产。如果你问另一个问题,也许其他人会知道。祝你好运!
  • 再次感谢您的帮助。干得好!
【解决方案2】:

添加到接受的答案并解释这种奇怪的行为。设计中不包含来自远程主题的页面:

自定义主题文件可以放在:

assets/allposts.html

前题

---
permalink: allposts.html
---

导致

 _site/allposts.html

正在生成文件。

来源:https://github.com/benbalter/jekyll-remote-theme/issues/64

【讨论】:

    猜你喜欢
    • 2018-10-02
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    • 2023-01-24
    • 2015-06-03
    • 1970-01-01
    相关资源
    最近更新 更多