1

使用 assemble-swig,这是我的模板:

<!doctype html><html lang="it">

<head>
{% include "src/templates/partials/html_header.swig" %}
</head>
<body>
{% include "src/templates/partials/body_header.swig" %}

<header class="articleHeader intro"><div class="inner">
{% block articleheader %}{% endblock %}
</div></header>

<div class="body"><div class="inner">

<article class="main{% if nosidebar %} noSideBarArticle{% endif %}">

{% block content %}{% endblock %}

</article>

{% block sidebar %}{% endblock %}
</div></div>

{% include "src/templates/partials/body_footer.swig" %}
{% block javascript %}{% endblock %}
 </body>
</html>

这是我的页面:

---
title: "test"
---

{% block articleheader %}

<h1>Article Header!</h1>

{% endblock %}

{% block content %}

<p>this is the content!</p>

{% endblock %}

结果:页面中没有数据显示

(content of html_header and body_header goes here...)

<header class="articleHeader intro"><div class="inner">

</div></header>


<div class="body"><div class="inner">

<article class="main">

</article>

(content of html_header and body_footer goes here...)

只有当我{{body}}在模板中使用标签时,页面的所有内容才会被插入,但不尊重block标签。

4

1 回答 1

1

是的,如果您不使用 Assemble 的布局,这似乎是可能的。

我让它在配置中设置layout属性false

assemble: {
  options: {
    engine: 'swig',
    ...
    layout: false,
    ...

然后在每个文件中添加:

 {% extends 'src/layouts/default.swig' %}

在内容的顶部。

于 2014-08-19T20:28:59.373 回答