我想创建一个作者_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
答案 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 %}
如果我误解了你的问题,我很抱歉......我真的希望能有所帮助!