首页 > 解决方案 > 如何在 Eleventy 中使用 LiquidJS 布局块?

问题描述

根据https://liquidjs.com/tags/layout.html#Blocks LiquidJS 支持布局块,我可以从我的布局模板中调用。

我的默认模板包含该{{content}}块。

当我尝试使用{% %}or添加另一个名为“sidebar”的块 {{ }}并在我的 .md 文件中定义它时,它不会呈现。

11ty 是否支持开箱即用的布局块?

标签: eleventyssg

解决方案


所以我得到了这个工作,但我认为它有点乱。在谷歌搜索时,我发现人们说使用 Nunjucks,他们只有在不使用布局前端但明确告诉 Nunjucks 加载布局时才能使其工作(https://github.com/11ty/eleventy/issues /1467 )。所以我在 Markdown 中尝试了类似的东西(记住 Liquid 是默认处理器)。

这是test2.md:

---
title: Test
---

{% layout main %}

{% block content %}
## this is test
<p>
{{ title }}
</p>
{% endblock %}

{% block sidebar %}
my sidebar is awesome
{% endblock %}

请注意,我还必须包装我的主要内容。然后在我的布局中,我注意到:{{ content }}不再起作用。相反,我不得不使用这个:

{% block content %}{% endblock %}
{{ content }}

这在我的快速测试中似乎是安全的,因为其他不使用定义的内容块的模板似乎工作正常。只是……小心点。


推荐阅读