使用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
标记。
答案 0 :(得分:1)
是的,如果你不使用Assemble的布局似乎是可能的。
我让它在配置中将layout
属性设置为false
:
assemble: {
options: {
engine: 'swig',
...
layout: false,
...
然后在每个文件中添加:
{% extends 'src/layouts/default.swig' %}
位于内容的顶部。