【问题标题】:Navbar links are working wrong in Jekyll导航栏链接在 Jekyll 中工作错误
【发布时间】:2017-06-22 10:57:44
【问题描述】:

我在 Github 页面上使用 twitter bootstrap 添加了一个带有 3 个导航选项卡的简单导航栏,但我不知道为什么它的行为很奇怪。

<ul class="navbar-nav mr-auto">
  <li class="nav-item active">
  <a class="nav-link" href="#">Code<span class="sr-only">(current)</span></a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="category/life/index.html">Life</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="aboutme.html">About</a>
  </li>
</ul>

  1. 在 Life 页面上,单击 About 时,它以某种方式请求低于 url 并给出 404。当然是 404,但为什么不直接转到基本 url 中的 aboutme.html?在主页上单击“关于”页面可以正常工作。

https://yinkouya.github.io/category/life/aboutme.html

  1. 在生活页面,再次点击生活时,是这样的404:

https://yinkouya.github.io/category/life/category/life/index.html

显然有问题,但我找不到答案。

【问题讨论】:

  • 你的根目录是yinkouya.github.io/category/life。所以请相应地改变它。使用您上面提供的代码,我只能推断出这一点。谢谢
  • 谢谢,但我不认为这是问题所在。
  • 它将您从根目录重定向到href

标签: twitter-bootstrap jekyll liquid


【解决方案1】:

问题与 Bootstrap 无关,而与 Jekyll 生成 URL 的方式有关。

关于链接在Home有效,因为它是一个相对路径,并且home路径没有子层级。

Life 页面有一个/category 子级别,因此About 相关页面将尝试访问/category/about,得到404。

解决方法是将about页面和其他类别设置为完整路径,而不是相对路径:

        <li class="nav-item">
          <a class="nav-link" href="{{'category/life/index.html' | absolute_url }}">Life</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="{{'aboutme.html'|absolute_url}}">About</a>
        </li>

【讨论】:

  • 非常感谢,我以前看到别人的代码是这样的,但我不明白为什么......再次感谢。
猜你喜欢
  • 1970-01-01
  • 2013-05-20
  • 2017-08-31
  • 1970-01-01
  • 1970-01-01
  • 2021-10-18
  • 2021-03-12
  • 2016-08-11
  • 2018-03-25
相关资源
最近更新 更多