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

Jul*_*opa 9 yaml ruby-on-rails jekyll

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

我把它作为YAML前面的事情放在_layouts/template1.html中

---
layout: default 
---
{{page.content}}
Run Code Online (Sandbox Code Playgroud)

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

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

jdh*_*dh8 10

你的意思很简单{{ content }}.

是的,布局可以通过管道传输.在你的情况,如果一个页面使用了template1的布局,它是内容模板1.然后,结果template1的内容默认值.


mik*_*ike 5

Jekyll 的 Liquid 模板很容易扩展,你只需要确保你正在扩展而不是覆盖你想要的模板。

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

因此,在您的模板 Front Matter 中:

---
layout:page
---
Run Code Online (Sandbox Code Playgroud)