2016-05-18 4 views
1

В настоящее время я использую файл данных для указания авторов на сайте, и мне нужно вывести список всех из них на страницу About.Список всех авторов на сайте в Jekyll

Вот формат моего _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 %} 

Но я хочу, чтобы показать ВСЕ авторы, и не нужно указывать сообщение, с которым они связаны (у некоторых авторов нет сообщений на сайте).

Идеи?

Edit:

Перевернуто моего кода из этого Джекил DOCS например, для:

<ul> 
    {% for author in site.data.authors %} 
     <li> 
      <a href="{{ author.permalink }}"> 
       {{ author.display_name }} 
      </a> 
     </li> 
    {% endfor %} 
</ul> 

не показано ничего после реконструкции ...

ответ

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> 

Отредактированный оригинальный ответ, поскольку он не отвечал на вопрос.

+0

Я просто пытаюсь показать все авторы на сайт, со ссылкой на страницу своего профиля. Я не хочу вставлять какие-либо сообщения/данные, только то, что уже указано (полное имя, аватар, URL-адрес страницы) из 'authors.yml'. Я уверен, что есть синтаксис, который мне не хватает, чтобы заставить его работать. – ff4500

+0

Ох. Ну, это [довольно легко] (https://jekyllrb.com/docs/datafiles/#example-list-of-members). – crowhill

+0

Пробовал это уже. Я думаю, что формат файла 'authors.yml' может отличаться от того, что показывает Jekyll docs, поэтому синтаксис не работает. Я пробовал то, что было в их примерах, как я мог думать уже безрезультатно. – ff4500

0

Это работает для меня, as suggested here:

В _config.yml:

authors: 
    hanzou: 
    name: Hanzou Hattori 
    display_name: Hanzou 
    gravatar: c66919cb194f96c696c1da0c47354a6a 
    email: [email protected] 
    web: http://company.com 
    twitter: company 
    github: hhattori 
    jorgen: 
    name: Jörgen Mortensen 
    display_name: Jörgen 
    gravatar: 12e480a364a5c19214f99b4dfe9a11d5 
    email: [email protected] 
    web: http://company.com 
    twitter: company 
    github: jorgenm 

Листинг авторов в шаблоне:

{% for author in site.authors %} 
    {{ author[1].name }} -- {{ author[1].email }} 
{% endfor %}