如果您提供布局,有没有办法从 json/yaml 生成页面?我认为这是可能的,但在文档中找不到。
目前正在 GitHub 中进行跟踪:http ://webb.li/QjTX
如果您提供布局,有没有办法从 json/yaml 生成页面?我认为这是可能的,但在文档中找不到。
目前正在 GitHub 中进行跟踪:http ://webb.li/QjTX
由于该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
files src 数组中指定的页面构建一个页面。现在,文件 dest/src 是必需的,因此 Assemble 知道在哪里写入文件,但我认为我们会将其添加到选项或页面对象中,这样它就可以在没有文件对象的情况下运行。