metalsmith系列'路径'无法从Handlebars模板访问键
metalsmith-collections 'path' key not accessible from Handlebars template?
我的模板:
{{#each collections }}
<span class="Category__Title">{{ @key }}</span>
{{#each this }}
<a href="{{ this.path }}">{{ this.title }}</a>
{{/each}}
{{/each}}
渲染器(this.path未定义):
<span class="Category__Title">French</span>
<a href="">Braised vegetables</a>
<span class="Category__Title">Thai</span>
<a href="">Rice noodles</a>
我正在使用金属史密斯:
metalsmith
.use(collections())
.use(markdown())
.use(templates({
engine: 'handlebars',
directory: 'templates'
}))
.use(permalinks({
pattern: ':title'
}))
.destination('./public')
在编译时,我控制台日志以收集
var m = metalsmith.metadata();
console.log(m.collections);
我可以看到每个集合都有一个文件数组,每个文件都包含密钥"路径"。控制台日志->
{ title: 'Braised vegetables',
date: '10/12/1923',
tags: [ 'braise', 'old world' ],
collection: [ 'french' ],
template: 'recipe.hbt',
contents: <Buffer 3...>,
mode: '0644',
stats: { },
path: 'women-s-liberation-1906' }
奇怪吗?我可以通过节点以编程方式访问file.path。此外,Handlebars还可以访问file.title和其他所有密钥。提前感谢您的帮助。
谢谢——在发布我的问题时,我意识到我试图在永久链接有机会将该属性添加到文件树之前访问"path"键——只需将永久链接移动到模板上方就解决了这个问题。
.use(permalinks({
pattern: ':title',
relative: false
}))
.use(templates({
engine: 'handlebars',
directory: 'templates'
}))
相关文章:
- 访问布局信息是否也会导致浏览器重排
- Javascript,访问一个主要对象模块模式中的每个对象
- 如何访问声音管理器2创建的声音对象
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- JavaScript Pub/Sub属性访问问题
- 从JavaScript访问struts操作中的属性
- 是否可以从父类访问子类的属性
- 如何访问fastOpt.js
- 访问JSON对象内部的数组元素
- 从模块内部访问Express装载路径
- Handlebars访问第一个项目,然后访问后面的每个项目(在每个循环中)
- metalsmith系列'路径'无法从Handlebars模板访问键
- 如何使用 Handlebars.js 访问 JSON 对象
- Handlebars模板,使用字符串键访问上下文变量
- 访问Handlebars[object object]中的JSON对象时出错
- Handlebars作用域问题:不能从嵌入的' each '访问模板变量
- 如何在Handlebars模板中访问if语句中的数据
- 在handlebars模板中访问javascript变量
- Handlebars模板访问DOM中的元素
- Handlebars.js:如何访问嵌套的每个中的父索引