目前我无法使用汇编生成两个不同的页面集合。 一方面,我想生成我的页面,这些页面显示在主导航中 - 另一方面,我想生成我的博客帖子,包含类别和标签 - 我该如何解决这个问题?
提前致谢。
我的grunt配置如下所示
assemble: {
options: {
sitename: '<%= site.variables.sitename %>',
plugins: ['permalinks'],
assets: '<%= site.paths.src %>/assets',
partials: ['<%= site.paths.src %>/partials/*.hbs'],
helpers: ['<%= site.paths.src %>/helpers/helper-*.js'],
layout: 'default.hbs',
layoutdir: '<%= site.paths.src %>/layouts',
data: ['<%= site.paths.src %>/data/*.{json,yml}'],
collections: [{
name: 'post',
sortby: 'posted',
sortorder: 'descending'
}]
},
posts: {
files: [{
cwd: '<%= site.paths.src %>/content/',
dest: '<%= site.paths.dist %>',
expand: true,
src: ['**/*.{md,hbs}', '!_pages/**/*.{md,hbs}']
}, {
cwd: '<%= site.paths.src %>/content/_pages/',
dest: '<%= site.paths.dist %>',
expand: true,
src: '**/*.{md,hbs}'
}]
}
},
答案 0 :(得分:1)
在v0.4.x中,集合指定了要从通过的页面及其前端生成的集合类型。您必须在posts
添加前端内容,例如:
---
posts:
- true
posted: 10-SEP-2014
---
但是,集合排序不够智能,无法知道如何对日期属性进行排序。您可以将实际日期对象添加为posted
,或者只是按照您想要的顺序添加。
然后,要使用posts
集合,您可以在把手中执行{{#each this.posts}}
。这将为您提供在前端定义posts
的所有页面。在模板中可能还需要添加一些其他的东西,但我并没有想到它们。
如果您有回购我可以看看,可能更容易提供帮助。