【问题标题】:Assemble.io - is it possible to use lodash in the YAML front matter of partialsAssemble.io - 是否可以在部分的 YAML 前端使用 lodash
【发布时间】:2013-09-18 11:43:20
【问题描述】:

虽然这样的东西在 assemble.io 页面中有效:

---
title: "My title"
woo: <%= title %>
---

(即 {{woo}} 将“我的标题”输出到页面),如果我在部分内容中有相同的内容,则“woo”中没有任何内容。有谁知道这是设计使然,还是我做错了什么?

谢谢!

【问题讨论】:

    标签: yaml handlebars.js gruntjs lodash assemble


    【解决方案1】:

    Assemble 中,约定是使用 YAML 前端作为“this”的值,并且部分的上下文应该使用部分名称作为上下文中的第一个路径来命名。

    因此,在页面中,您可以按照您的说明进行操作,但是对于名为 alert.hbs 的部分内容,您必须执行 {{alert.title}} 之类的操作,或者:

    {{#alert}}
      {{title}}
    {{/alert}}
    

    我们知道这可能有点令人困惑,而且 IMO 有点令人沮丧,因为 YAML 前端的工作方式与页面的部分工作方式不同,但在这个 Handlebars 问题得到解决之前,我们必须忍受它的限制图书馆:https://github.com/wycats/handlebars.js/issues/392 (Assemble 现在也支持 Swig 模板,但这并不能为您解决这个问题)。

    最后,您可以创建自定义助手来解决它。 assemble-yaml 库具有在模板中访问 YAML 前端的方法(yfm 项目显示了一些替代方案和示例,说明如何在模板中使用来自 YFM 的上下文),它们是用于创建 Handlebars 助手的grunt-init template

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多