我目前正在使用数据文件来指定网站上的作者,我需要将所有这些文章的列表拉到“关于”页面。
以下是我的_data/authors.yml
文件
# Authors
one:
name: One
display_name: Person One
avatar: /img/avatar1.jpg
permalink: author/personone/
two:
name: Two
display_name: Person Two
avatar: /img/avatar2.jpg
permalink: author/persontwo/
如果是类别页面,我会使用它来列出指定帖子的人:
{% for post in site.categories.[page.category] %}
{% assign author = site.data.authors[post.author] %}
{{ author.display_name }}
{% endfor %}
但我希望向所有作者展示,而不必指定他们与之相关的帖子(某些作者尚未在该网站上发帖)。
想法?
编辑:
将我的代码从Jekyll docs示例转换为:
<ul>
{% for author in site.data.authors %}
<li>
<a href="{{ author.permalink }}">
{{ author.display_name }}
</a>
</li>
{% endfor %}
</ul>
重建后没有显示......
答案 0 :(得分:1)
您没有正确的YML结构。
_data/authors.yml
中的:
- name: One
display_name: Person One
avatar: /img/avatar1.jpg
permalink: author/personone/
- name: Two
display_name: Person Two
avatar: /img/avatar2.jpg
permalink: author/persontwo/
(注意破折号)
然后:
<ul>
{% for author in site.data.authors %}
<li>
{{ author.display_name }}
</li>
{% endfor %}
</ul>
此外以防您想要保留原始的YAML结构。 您可以使用它来访问作者(使用索引1)。
<ul>
{% for author in site.data.authors %}
<li>
{{ author[1].name }}
</li>
{% endfor %}
</ul>
答案 1 :(得分:0)
这对我有用,as suggested here:
在_config.yml中:
authors:
hanzou:
name: Hanzou Hattori
display_name: Hanzou
gravatar: c66919cb194f96c696c1da0c47354a6a
email: hanzou@company.com
web: http://company.com
twitter: company
github: hhattori
jorgen:
name: Jörgen Mortensen
display_name: Jörgen
gravatar: 12e480a364a5c19214f99b4dfe9a11d5
email: jorgen@company.com
web: http://company.com
twitter: company
github: jorgenm
在模板中列出作者:
{% for author in site.authors %}
{{ author[1].name }} -- {{ author[1].email }}
{% endfor %}