从YAML数组创建Jekyll链接

时间:2018-02-01 05:08:35

标签: yaml jekyll github-pages

我在一个名为navigation.yml的文件中有一个YAML数组,如下所示:

docs:

- title: Home
  url: index.md
  id: index

- title: Support
  url: support.html
  id: support

- title: About
  url: about.md
  id: about

我正在创建一个导航栏,如下所示:

<section id="navigation" class="clearfix">
  {% for item in site.data.navigation.docs %}
  <a href="{{ site.baseurl }}{% link index.md %}" id="{{ item.id }}" class="navigationButton"><span>{{ item.title }}</span></a>
  {% endfor %}
</section>

我应该用什么来代替index.md来从YAML文件中获取我想要的item.url。

我对GitHub Pages,YAML和Jekyll都很陌生。

1 个答案:

答案 0 :(得分:0)

目前,SELECT ROW_NUMBER() OVER (PARTITION BY SolidLine ORDER BY isError DESC) [RowNumber], ID, isError, SolidLine, HighestError FROM SolidThreads ORDER BY HighestError desc, id 标记似乎不支持变量 有a pull request试图改变这个,但它尚未合并到主要的Jekyll回购中。

所以如果你现在想要这样做,你需要使用一些技巧。

flyx在his comment 中建议的解决方案(link替换{% link index.md %}基本上有效,但会显示在数据文件中写入的原始文件名。< / p>

⇒如果在呈现网站时{{ item.url }}自动重命名为index.md,则您的链接不再有效。
(或index.html成为support.html

这可能是您想要使用support/index.html代码的原因。

如果不使用link代码,您需要循环播放数据文件,遍历所有网页以查找相应的网页,并在您的网页上显示该网页的实际网址链接:

link

这甚至可以考虑明确设置永久链接(页面的前端内容<section id="navigation" class="clearfix"> {% for item in site.data.navigation.docs %} {% for page in site.pages %} {% if page.path == item.url %} <a href="{{ site.baseurl }}{{ page.url }}" id="{{ item.id }}" class="navigationButton"><span>{{ item.title }}</span></a> {% endif %} {% endfor %} {% endfor %} </section> 等内容。