author.name + URL Jekyll 问题

author.name + URL issue in Jekyll

我回到了一个 jekyll 项目上。当我第一次开始做这个项目时,我在这个页面上询问如何在 jekyll post 中提取作者姓名,并被建议使用此代码:

   {{ 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> 

我知道代码的第一部分是有效的,因为我有一个要点显示每个作者,即列表项。然而,列表项 return 是空的,没有作者的名字(最终我想从 yml 中提取更多信息,但由于我无法完成第一步...)

我尝试切换到这种结构,但没有成功:

   - name : john_doe 
   - email: john@email.com

第二个问题:我还使用 navigation.yml 文件设置了指向额外页面的链接,链接排序如下:

- title: A propos
  url: /about/
  excerpt: ""

这些 url 在本地运行良好,但在我将其推送到 repo 后就没有这样的运气了...

如果有人有任何想法...我被卡住了! 我的回购:https://github.com/piapandelakis/piapandelakis.github.io

创建一个包含以下内容的数据文件_data/authors.yml

john_doe:    
  name: John Doe    
  email: john@website.com
rms:
  name: Richard Stallman
  email: rms@gnu.org

这种结构的好处是,除了能够遍历所有作者之外,您还可以在需要时单独访问其中任何一个。

在与作者 rms 的 post 中,您可以显示其信息:

---
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 %}