我正在尝试使用代码在html中呈现特定的md文件:
{% assign subheader = site.pages | where: "title", "subheader" | first %}
{{ subheader.content }}
它有效,但我的布局不受尊重。它是否按预期工作?有没有办法应用这种布局?
答案 0 :(得分:2)
布局在上下文中应用于当前页面"。
在您的示例中,如果已插入{{ subheader.content }}
,那么 base.md
会在前面的内容中定义 layout: base
,然后{{ subheader.content }}
呈现为作为" base.md
" 的一部分,因此将成为其布局的一部分({ {1}})。
没有开箱即用的方法来渲染使用多个布局呈现的页面的各个部分。
唯一可能的路线是继承另一种布局。
例如, 说我有一个"基地"布局如下:
_layouts/base.html
和另一个布局[...]
<header>
<div id="parent-element">
<div class="btn">foo</div>
{{ content }}
</div>
</header>
[...]
:
subheader
最后是&#34; page.md&#34; 使用子标题布局:
---
layout: base
---
<ul id="greek">
<li><a href="#">alpha</a></li>
<li><a href="#">beta</a></li>
<li><a href="#">gamma</a></li>
</ul>
{{ content }}
然后,生成的&#34; page.html&#34;将是:
---
layout: subheader
---
<ul id="fruits">
<li><a href="#">apples</a></li>
<li><a href="#">oranges</a></li>
<li><a href="#">bananas</a></li>
</ul>