想在jekyll中创建另一个_post目录

时间:2016-02-16 17:43:33

标签: post jekyll podcast

我想创建一个作者_layout,我可以使用它来安装一个Jekyll供电网站的所有作者的列表(事实上,播客的主机列表)。我希望这个在

+ \
  + _posts
  + _includes
  + _layouts
  + _config.yml
  + authors <-- Here

在我的Jekyll网站上,我已经看到Jekyll在那里渲染markdown文件。

但是,我不能把作者带到那里并用它来建立一个列表。

我正在使用此代码

<ul>
    {% for post in site.categories.authors %}
    <li><a href="{{ site.url }}{{ post.url }}">{{ post.title }}</a></li>
    {% endfor %}
</ul>

关于我应该如何做我想要的任何建议?我希望生成页面以返回列表中主机的名称,并为每个主机添加链接,例如

<a href="/authors/foo">This guy</a>
<a href="/authors/bar">That guy</a>
<a href="/authors/baz">That other guy</a>

要呈现的文件位于:

+ \
  + _posts
  + _includes
  + _layouts
  + _config.yml
  + authors
    + foo.md
    + bar.md
    + baz.md

1 个答案:

答案 0 :(得分:2)

如果要使用集合,则需要正确配置它们。但是当您需要添加额外的降价文件并且在_posts中不需要它们时,集合非常有用。

如果你想去收集,请检查this answer

但我相信你所需要的是Jekyll _data,而不是收藏。

为此,请在网站_data中创建一个名为root的文件夹,并在其中添加名为authors.yml的文件。

然后,您将要调用的数据添加到authors.yml

- ref: 01
  name: Name Surname
  url: http://something.com

- ref: 02
  name: Name Surname 2
  url: http://somethingelse.com

然后通过液体打电话给他们:

{% for author in site.data.authors %}
<a href="{{ author.url }}">{{ author.name }}</a>
{% endfor %}

如果我误解了你的问题,我很抱歉......我真的希望能有所帮助!