Поскольку функция options.pages
была реализована, вы можете добавлять страницы, как это:
options: {
pages: {
"about": {
"data": {
"title": "About"
},
"content": "Content for {{title}}"
},
...
}
}
Мы не поддерживаем автоматическую загрузку в формате JSON/YML файл, но вы можете сделать это в вашем Gruntfile и добавить объект options.pages
этак ...
module.exports = function(grunt) {
grunt.initConfig({
// package.json
pkg: grunt.file.readJSON('package.json'),
assemble: {
options: {
flatten: true,
layoutdir: 'src/layouts',
assets: 'dest/assets'
},
blog: {
options: {
engine: 'handlebars',
layout: 'post.hbs',
site: {
title: 'This is my Blog'
},
pages: grunt.file.readJSON('pages.json')
},
files: { 'dest/': ['src/index.hbs'] }
}
}
});
// Load npm plugins to provide necessary tasks.
grunt.loadNpmTasks('assemble');
// Default task.
grunt.registerTask('default', ['assemble']);
};
В этом примере файл post.hbs
используется как макет для любых страниц, определенных в файле pages.json
. Он также построит страницу для index.hbs
, указанную в массиве src. Прямо сейчас файлы dest/src требуются, так что Assemble знает, где писать файлы, но я думаю, мы добавим это к параметрам или объекту страницы, чтобы его можно было запустить без объекта files.
Обратите внимание, что это относится к [grunt-assemble] (https://github.com/assemble/grunt-assemble), плагин grunt для [собрать] (https://github.com/assemble/assemble), который теперь имеет совершенно другой API – jonschlinkert