为通过 site.pages.content 访问的页面应用布局
Apply layout for pages accessed via site.pages.content
我正在尝试使用代码在 html 中呈现特定的 md 文件:
{% assign subheader = site.pages | where: "title", "subheader" | first %}
{{ subheader.content }}
它可以工作,但我的布局不符合要求。它是否按预期工作?有没有办法应用这个布局?
布局在 "current page" 的上下文中应用。
在您的示例中,如果 {{ subheader.content }}
已插入到 base.md
中,则定义了 layout: base
,然后 {{ subheader.content }}
呈现 作为“base.md
”的一部分“=43=],因此将成为 它的一部分布局(_layouts/base.html
).
没有 out-of-the-box 方法来呈现使用多个布局呈现的页面的各个部分。
唯一可能的途径是继承另一个布局。
例如,
假设我有一个 "base" 布局,其中包含以下内容:
[...]
<header>
<div id="parent-element">
<div class="btn">foo</div>
{{ content }}
</div>
</header>
[...]
和另一个布局 subheader
:
---
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 }}
最后是 使用 子标题布局的 "page.md":
---
layout: subheader
---
<ul id="fruits">
<li><a href="#">apples</a></li>
<li><a href="#">oranges</a></li>
<li><a href="#">bananas</a></li>
</ul>
那么,生成的"page.html"将是:
[...]
<header>
<div id="parent-element">
<div class="btn">foo</div>
<ul id="greek">
<li><a href="#">alpha</a></li>
<li><a href="#">beta</a></li>
<li><a href="#">gamma</a></li>
</ul>
<ul id="fruits">
<li><a href="#">apples</a></li>
<li><a href="#">oranges</a></li>
<li><a href="#">bananas</a></li>
</ul>
</div>
</header>
[...]
我正在尝试使用代码在 html 中呈现特定的 md 文件:
{% assign subheader = site.pages | where: "title", "subheader" | first %}
{{ subheader.content }}
它可以工作,但我的布局不符合要求。它是否按预期工作?有没有办法应用这个布局?
布局在 "current page" 的上下文中应用。
在您的示例中,如果 {{ subheader.content }}
已插入到 base.md
中,则定义了 layout: base
,然后 {{ subheader.content }}
呈现 作为“base.md
”的一部分“=43=],因此将成为 它的一部分布局(_layouts/base.html
).
没有 out-of-the-box 方法来呈现使用多个布局呈现的页面的各个部分。
唯一可能的途径是继承另一个布局。
例如, 假设我有一个 "base" 布局,其中包含以下内容:
[...]
<header>
<div id="parent-element">
<div class="btn">foo</div>
{{ content }}
</div>
</header>
[...]
和另一个布局 subheader
:
---
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 }}
最后是 使用 子标题布局的 "page.md":
---
layout: subheader
---
<ul id="fruits">
<li><a href="#">apples</a></li>
<li><a href="#">oranges</a></li>
<li><a href="#">bananas</a></li>
</ul>
那么,生成的"page.html"将是:
[...]
<header>
<div id="parent-element">
<div class="btn">foo</div>
<ul id="greek">
<li><a href="#">alpha</a></li>
<li><a href="#">beta</a></li>
<li><a href="#">gamma</a></li>
</ul>
<ul id="fruits">
<li><a href="#">apples</a></li>
<li><a href="#">oranges</a></li>
<li><a href="#">bananas</a></li>
</ul>
</div>
</header>
[...]