2013-07-31 1 views
1

Я следующие посты в моем блоге:Динамические категории с DocPad

Src/документов/сообщений/foo.html.md

--- 
category: cooking 
--- 

Src/документы/сообщения/bar.html .md

--- 
category: programmation 
--- 

Я хотел бы произвести следующие маршруты:

http://example.org/cooking/ 
http://example.org/programmation/ 

Где каждый маршрут будет иметь коллекцию с только постов в выбранной категории. Эти должности будут по-прежнему находиться в стандартном месте:

http://example.org/posts/foo.html 
http://example.org/posts/bar.html 

Bonus точка: Я также хотел бы иметь возможность перечислить категории в моем макете. Что-то вроде:

<% for cat in @getCategories() %> 
    <a href="<%= cat.route %>"><%= cat.name %></a> 
<% endfor %> 

Есть ли плагин уже существующие, которые дают такого рода функциональности? Если нет, то каков наилучший способ начать его реализацию?

Я видел метод setFilter в this answer, но я все еще изо всех сил пытаюсь выяснить, как создавать новые страницы после разбора каждого сообщения для выбора категорий.

Если динамическая генерация страниц не может быть достигнута (что я мог бы понять, так как это потребовало бы разбора страниц в определенном порядке), будет ли иметь статический массив в конфигурации сделать это проще?

ответ

1

Посмотрите на это соответствующий плагин:

https://github.com/docpad/docpad-plugin-related

Насколько я знаю, это автоматически не генерировать теги страниц для вас, но это хорошее начало.

+0

Вы также можете создавать страницы тегов автоматически с помощью [тегов плагина] (https://github.com/docpad/docpad-plugin-tags) – balupton

0

Я был в состоянии сделать это же самое с бирками плагина: https://github.com/rantecki/docpad-plugin-tagging

Он автоматически создает виды для каждого тега вы используете. Список категорий довольно прост. Вот что у меня есть, используя поле выбора:

<select ONCHANGE="location = this.options[this.selectedIndex].value;"> 
<option value="">Choose</option> 
<% for tag, data of @getTagCloud(): %> 
<option value="<%= data.url %>"> 
<%= tag %> 
</option> 
<% end %> 
</select> 

 Смежные вопросы

  • Нет связанных вопросов^_^