如何使用车把#每个助手都有YAML正面的问题

如何使用车把#每个助手都有YAML正面的问题,yaml,handlebars.js,assemble,Yaml,Handlebars.js,Assemble,我正在使用Assembly.io自动化我的前端开发,并希望使用YAML front matter创建一个简单的导航菜单 我想要实现的HTML是: <li><a href="#link1">Link1</a></li> <li><a href="#link2">Link2</a></li> 对于这样的模板: {{#each sublinks}} <li><a href="#{{sec

我正在使用Assembly.io自动化我的前端开发,并希望使用YAML front matter创建一个简单的导航菜单

我想要实现的HTML是:

<li><a href="#link1">Link1</a></li>
<li><a href="#link2">Link2</a></li>

对于这样的模板:

{{#each sublinks}}
<li><a href="#{{section}}">{{section}}</li>
{{/each}}
sublinks = [
    { section: 'link1' },
    { section: 'link2' },
    //...
]
sublinks = [
    { section: 'link1, link2' }
]
{{#each sublinks}}
  <li><a href="#{{href}}">{{text}}</a></li>
{{/each}}
在YAML中,这看起来像:

sublinks:
  - section: link1
  - section: link2
您还应该能够使用此YAML:

sublinks:
  - link1
  - link2
使用此模板:

{{#each sublinks}}
<li><a href="#{{.}}">{{.}}</li>
{{/each}}

除非您想使用把手助手拆分
'link1,link2'
字符串,否则这并不是非常有用。

除了@mu的好答案之外,您还可以这样做:

{{#each sublinks}}
<li><a href="#{{section}}">{{section}}</li>
{{/each}}
sublinks = [
    { section: 'link1' },
    { section: 'link2' },
    //...
]
sublinks = [
    { section: 'link1, link2' }
]
{{#each sublinks}}
  <li><a href="#{{href}}">{{text}}</a></li>
{{/each}}
鉴于这一YAML前沿问题:

---
sublinks:
  - href: link/to/foo
    text: Foo Text
  - href: link/to/bar
    text: Bar Text
  - href: link/to/baz
    text: Baz Text
---
您的模板如下所示:

{{#each sublinks}}
<li><a href="#{{section}}">{{section}}</li>
{{/each}}
sublinks = [
    { section: 'link1' },
    { section: 'link2' },
    //...
]
sublinks = [
    { section: 'link1, link2' }
]
{{#each sublinks}}
  <li><a href="#{{href}}">{{text}}</a></li>
{{/each}}

嗨,Jon,是必须在破折号后面的一行中写入json格式(
-{href:link/to/foo,text:foo text}
),还是我们可以在更多行中拆分它?我习惯于将每个键/值写在自己的行上,以提高可读性;)YAML 1.2是JSON的超集。您可以期望有效的JSON被识别为有效的YAML。因此,可以通过使YAML看起来更像JSON;)来降低其可读性,但只有遵循YAML的空白格式规则,谢谢@jonschlinkert,我想我还是会继续使用YAML语法;)