Jekyll index.html使用3种不同的_layouts

时间:2012-11-21 05:32:40

标签: jekyll

我有3种不同的_layouts。

  • post-link.html
  • post-article.html
  • -photo.html交

我可以在index.html上显示我的所有帖子,但它们都具有相同的布局。我能以某种方式在同一页面上显示多个布局(index.html)吗?

2 个答案:

答案 0 :(得分:19)

一个页面只能有一个layout,但布局可以嵌套。

我有三个_layouts

  • master.html
  • default.html中
  • post.html

master布局具有我想要的任何页面所需的所有基本结构。它看起来 像这样的东西:

<html>
  <head>
    <title>{{ page.title }}</title>
  </head>
  <body>
    {{ content }}
  </body>
</html>

我对大多数非博客帖子的页面使用default布局。我做了大量的使用 页面'YAML前端内容中的一些page变量布局看起来像这样:

---
layout: master
---
<h1>
  {{ page.title }}
  {% if page.subtitle %}<small>{{ page.subtitle }}</small>{% endif %}
</h1>
{% if page.description %}<p>{{ page.description }}</p>{% endif %}
{{ content }}

我对post页面使用_posts布局。它看起来像这样:

---
layout: default
---
<p>Posted {{ page.date }}</p>
<ul>{% for tag in page.tags %}...{% endfor %}</ul>
{{ content }}

我制作的每篇博文都使用post布局,并且它们都是从这三种布局继承的。

如果您想获得可重复使用标记的代码段,那么我建议您使用 _includes

答案 1 :(得分:2)

一个页面只能有一个布局。你需要的是_includes,你可以在任何一个帖子显示的地方使用。