我使用Assemble和Handlebars生成静态网站。我有一些页面使用相同的总体布局,但有一些例外情况需要添加主{{> body}}
之外的内容。
鉴于此通用页面结构:
<html>
<body>
<section>{{> body}}</section>
<!-- global scripts -->
</body>
</html>
并且index.html
需要在<!-- global scripts -->
和</body>
之间添加标记,最好的方法是什么? < / p>
如果我在我的Grunt文件中包含部分内容,那么:
index: {
options: {
partials: ['source/partials/home/**/*.hbs'],
},
files: [{
expand: true,
cwd: 'source/pages/',
src: '**/index.hbs',
dest: 'output/'
}],
},
此部分可用于assemble
任务中的所有其他后续项目,我当然不想要。如果这只是一个变量,我可以在YML前端或类似的事情中做到这一点,但它是一个HTML和内联JS的块,因此比我想要放在前面的事情要多一点。我也无法通过JS加载这个标记,因为它需要阻塞。
答案 0 :(得分:2)
您可以将变量添加到需要包含部分的页面的前端,如下所示:
specialHTML: true
然后添加您的代码
{{#if specialHTML}}
{{> mypartial }}
{{/specialHTML}}
因此,只有在设置&#34; SpecialHTML&#34;在前线。