Jekyll中的导航栏链接工作有误

时间:2017-06-22 10:57:45

标签: twitter-bootstrap jekyll liquid

我在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>

enter image description here

  1. 在Life的页面上,当点击About时,它以某种方式请求下面的url并且它给出了404.当然是404但是为什么不直接在base url中的aboutme.html?关于页面在主页上单击时工作正常。
  2. https://yinkouya.github.io/category/life/aboutme.html

    1. 在Life的页面上,当再次点击Life时,它是404,就像这样:
    2. https://yinkouya.github.io/category/life/category/life/index.html

      显然有些事情是错的,但我找不到答案。

1 个答案:

答案 0 :(得分:1)

问题与Bootstrap无关,但与Jekyll如何生成URL有关。

关于链接适用于主页,因为它是相对路径,而主路径没有子级别。

生活页面有/category个子级别,因此关于相对页面会尝试访问/category/about,从而获得404.

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

        <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>