2015-09-22 6 views
2

Я работаю над сайтом Jekyll, и я хочу иметь страницу для каждого человека в группе. Я знаю, что я могу использовать коллекции для генерации страниц, если файлы в коллекции являются уценкой. Я хочу иметь файлы yaml в коллекции, а затем генерировать страницы после передачи каждого файла yaml в шаблон.Создайте несколько страниц jekyll из yaml без использования плагина

Люди файлы могут выглядеть следующим образом:

# person-1.yaml 
name: thingy m. bob 
position: coffee fetcher 
bio: no bio needed 

# person-2.yaml 
name: mars e. pan 
position: head honcho 
bio: expert in everything 

Затем файл шаблона, как это (people-template.md):

# {{ page.name }} - {{ page.position }} 
{{ page.bio }} 

И выход был бы отдельный файл под /people/, т.е. , /people/person-1, /people/person-2, которые отформатированы как в шаблоне, но с использованием файлов .yaml.

Я использую страницы GitHub, поэтому я не хочу использовать любые плагины, которые не поддерживаются.

ответ

1

Я реализовал что-то подобное ... это установка я создал:

- _Layouts 
    - person.html 
... 
people 
    - index.md (list of people - see code below) 
    - _posts 
    - 2015-01-01-person-one.md (ordering defined by date which is thrown away) 
    - 2015-01-02-person-two.md 
    - 2015-01-03-person-three.md 
    ... 

Тогда для списка людей, которых вы можете использовать что-то вроде:

<ul> 
{% for person in site.categories.people %} 
    <li><a href="{{ person.url }}>{{ person.name}}"></a></li> 
{% endfor %} 
</ul> 

с каждым человеком, находясь в форма

--- 
name: "thingy m. bob" 
# using quotes to avoid issues with non-alpha characters 
position: "coffee fetcher" 
bio: "no bio needed" 

layout: person 
--- 

any markdown if you want more of a description 

Я надеюсь, что это дало вам кое-что для начала ... Я думаю, что puttin g папка _posts под папкой people автоматически устанавливает категорию в people. Если я ошибаюсь, просто добавьте category: people в yaml.

Вы можете установить шаблон для почтовых URL-адресов в _config.yaml, если хотите удалить часть даты.

Успехов

+0

Ммм ... Вы могли бы также быть в состоянии решить эту проблему с использованием http://jekyllrb.com/docs/collections/ ... не использовал их раньше. – Ruskin