我回到jekyll项目上工作。当我第一次开始这个项目时,我在这个页面上询问如何在jekyll帖子中提取作者姓名,并建议使用此代码:
{{ site.data.authors[page.author].name }}
......工作得很好。现在我的目标是创建一个作者页面来显示作者信息。 我有一个authors.yml文件(在_data文件中),其项目结构如下:
john_doe:
name: John Doe
email: john@website.com
我使用了Jekyll指南,我的代码在authors.md页面中是这样的:
<ul>
{% for author in site.data.authors %}
<li>
{{ author.name }}
</li>
{% endfor %}
</ul>
我知道代码的第一部分是有用的,因为我有一个子弹点显示每个作者,即列表项。然而,列表项在没有作者姓名的情况下返回空(最终我想从yml中提取更多信息,但因为我无法完成第一步......)
我尝试切换到这种结构,但没有成功:
- name : john_doe
- email: john@email.com
第二个问题:我还使用navigation.yml文件设置了额外页面的链接,链接的排序如下:
- title: A propos
url: /about/
excerpt: ""
这些网址在本地工作得很好,但是在把它推到回购后没有这么好运......
如果有人有任何想法......我被卡住了! 我的回购:https://github.com/piapandelakis/piapandelakis.github.io
答案 0 :(得分:1)
使用以下内容创建数据文件_data/authors.yml
:
john_doe:
name: John Doe
email: john@website.com
rms:
name: Richard Stallman
email: rms@gnu.org
除了能够遍历所有作者之外,这种结构还有一个好处,你可以随时随地访问它们中的任何一个。
在作者rms
的帖子中,您可以显示其信息:
---
author: rms
---
{% assign author = site.data.authors[page.author] %}
<div> Author: {{ author.name }}
</div>
显示所有作者的列表:
{% for author in site.data.authors %}
{{author[1].name}} <br>
{% endfor %}