如何在Jekyll中处理模板(布局)继承?

时间:2012-05-02 21:43:17

标签: ruby-on-rails yaml jekyll

我想要一个模板“_layouts / template1.html”扩展(Django风格)模板_layouts / default.html。

我在_layouts / template1.html

中将此作为YAML的前提
---
layout: default 
---
{{page.content}}

但显然它不能像我希望的那样工作(template1.html中存在的所有附加标记,但不是在default.html中不呈现)。看起来使用template1布局的文件纯粹扩展了default.html。

在Jekyll中有没有办法进行布局继承?

4 个答案:

答案 0 :(得分:10)

你的意思只是{{ content }}

是的,布局可以管道。在您的情况下,如果页面使用 template1 布局,则 template1 内容。然后, template1 的结果是默认内容

答案 1 :(得分:4)

答案 2 :(得分:3)

Jekyll的Liquid模板非常容易扩展,您必须确保扩展而不是覆盖您想要的模板。

您可能实际上想要扩展页面而不是默认。

所以,在你的模板Front Matter:

---
layout:page
---

答案 3 :(得分:1)

只要后者包含template1.html块,示例中的

default.html将扩展{{ content }}。例如,请参阅here。它不会做的是它不会覆盖default.html已经包含的任何内容。为此,你需要液体继承宝石,正如@juddlyon所提到的那样。