6

在我的_config.yml我有:

navigation:
- text: Home
  url: index.html
- text: About
  url: about.html
- text: Blog
  url: blog.html
- text: Portfolio
  url: portfolio.html

在我的default.html布局中,我有:

<ul class="nav-list">
  {% for link in site.navigation %}
    {% assign current = nil %}
    {% if page.url == link.url %}
      {% assign current = 'current' %}
    {% endif %}

    <li class="nav-list-item{% if forloop.first %}first{% endif %} {{ current }} {% if forloop.last %}nav-list-item-last{% endif %}">
      <a class="{{ current }}" href="{{ link.url }}">{{ link.text }}</a>
    </li>
  {% endfor %}
</ul>

由于某种原因,这不起作用。为什么会这样?

4

2 回答 2

4

我刚刚发现您必须重新启动服务器并jekyll --server再次运行,并且_config.yml可以访问变量。

然后在弄清楚之后回到这个页面并准备发布这个答案,点击add / show 4 more comments并看到这也被操作员发现了。所以发布它作为答案。

于 2012-12-21T22:13:50.397 回答
0

除了其他答案:您可以 - 正如您在答案中提到的 - 使用Ctrl+C结束当前正在运行的服务器(在您的 CLI 中)。但是,您也可以使用以下命令启动服务器

jekyll server -w

告诉 Jekyll 注意你的文件的变化。虽然这不适用于对 的更改_config.yml,但它适用于所有其他文件。请注意,这将不起作用,包括该--safe选项,因此您不会收到错误。为了捕捉它们,我仍然建议jekyll --safe build不时运行以查看是否有语法错误。在您的开发过程中运行jekyll doctor/有时也是如此。jekyll hyde

于 2013-07-14T12:29:52.773 回答