如何为每个类别设置不同的布局?

时间:2015-09-04 00:26:39

标签: jekyll

如何为帖子类别设置不同的布局?

例如,如果我有"玩具"和"剑"作为我的帖子的类别,我喜欢页面列表"玩具"与页面列表"剑"具有不同的布局。更好的是拥有默认的"产品"如果帖子属于没有自己布局的类别,则布局。关于如何使用jekyll实现这个的任何想法?

1 个答案:

答案 0 :(得分:1)

由于文档的语义不会在不同类别之间发生变化,我认为你必须用CSS来解决这个问题。

<强> sword_list.html

---
category: sword
layout: product_listing
title: swords list
---
{% include product_listing_loop %}

<强> _includes / product_listing_loop.html

<div class="{{page.category}}">
<ul>
{% for post in categories[page.category] %}
  <li>{{ post.title }}</li>
{% endfor %}
</ul>
</div>

您甚至可以将page.category用作主模板中body元素的类。

编辑:如果你真的需要一个不同的标记,你可以尝试:

<强> sword_list.html

---
category: sword
layout: product_listing
title: swords list
---
{% assign include_name = 'category_' | append: {{page.category}} %} 
{% include {{include_name}} %}

这将调用_includes/category_sword.html