3

是否可以在模板中定义区域,从页面中提取内容?

假设我的模板中有以下结构:

<div class=sidebar></div>
<div class=content></div>

从页面内容中,我想将一些html内容拉到侧边栏,将其他内容拉到内容div。

这可能吗?

4

2 回答 2

2

以 Swig 作为引擎

是的,这是可能的。请参阅 https://github.com/assemble/boilerplate-swig,特别是这个示例,它展示了如何使用{% macro %}标签来完成您所询问的内容。

如果您想使用 Swig,请务必将自述文件也视为assemble-swig 存储库。您必须将 swig 注册为 assemble 中的当前引擎:

assemble: {
  options: {
    engine: 'swig'
  }
}

以车把为引擎

如果侧边栏内容始终相同,那么在每个页面上,您都可以使用部分内容。即使每个页面上的 URL 或活动类都发生了变化,这也应该有效。

然而,使用模板或“块”继承的动态内容,例如extend可以通过Handlebars 助手来实现。

但是由于布局assemble一起使用,因此对于“开箱即用”的帮助程序来说有点棘手。澄清一下,我能想到的几乎所有助手都可以很好地使用 assemble 开箱即用,除了这个 - 特别是因为布局的工作方式。

我的建议是您在 assemble 和/或 handlebars-helpers 项目中为此添加现有功能请求,以添加您的用例和对您想要实现的目标的想法:

于 2013-08-02T16:11:14.087 回答
1

@jonschlinkert 您应该更新 assemble 的文档,因为从 Assemble 开始并不那么容易,而且很多东西都很少隐藏。

所以 Luis,你可以试试这个方法,它目前对我也很有效!

组装:布局中的多个内容插入点?

于 2013-12-19T15:43:59.273 回答