是否可以在模板中定义区域,从页面中提取内容?
我们说我的模板中有以下结构:
<div class=sidebar></div>
<div class=content></div>
从页面内容来看,我想将一些html内容提取到侧边栏,将其他内容提取到内容div。
这可能吗?
答案 0 :(得分:2)
使用Swig作为引擎
是的,这是可能的。 Seehttps://github.com/assemble/boilerplate-swig,特别是this example,它展示了如何使用{% macro %}
标签来完成您所询问的内容。
如果您想使用Swig,请务必将自述文件视为assemble-swig回购。您必须将swig注册为汇编中的当前引擎:
assemble: {
options: {
engine: 'swig'
}
}
将把手作为引擎
如果侧边栏内容始终相同,则在每个页面上都可以使用部分内容。即使每个页面上的URL或活动类都发生了变化,这也应该有效。
但是,使用模板或“块”继承的动态内容,例如,使用Handlebars helpers可以实现extend
。
但由于layouts与assemble一起使用,这对于“开箱即用”的助手来说有点棘手。为了澄清,几乎任何我能想到的帮助器都可以很好地与开箱即用组装在一起,除此之外 - 特别是因为布局如何工作。
我的建议是你在汇编和/或把手助手项目中添加现有的功能请求,以添加你的用例和想要实现的想法:
答案 1 :(得分:1)
@jonschlinkert你应该更新汇编文档,因为汇编开始并不容易,很多事情都没有隐藏。
所以路易斯,你可以尝试这种方法,这对我来说也很有用!