1

目前我无法使用 assemble 生成两个不同的页面集合。一方面我想生成我的页面,这些页面显示在主导航中 - 另一方面我想生成我的博客文章,带有类别和标签 - 我该如何解决这个问题?

提前致谢。

我的 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}'
            }]
        }
    },
4

1 回答 1

1

在 v0.4.x 中,集合指定了您想要从经过的页面及其前端生成的集合类型。您必须在您的posts喜欢中添加前端事项:

---
posts:
 - true
posted: 10-SEP-2014
---

但是,集合排序不够聪明,无法知道如何对日期属性进行排序。您也许可以添加一个实际的日期对象,posted或者只是按照您想要的顺序。

然后要使用该posts系列,您可以{{#each this.posts}}在车把中进行操作。这将为您提供posts前面定义的所有页面。模板中可能还需要添加其他一些东西,但我并没有想到它们。

如果您有我可以查看的回购协议,那么提供帮助可能会更容易。

于 2014-09-10T17:49:31.890 回答