组装:如何从 json/yaml 生成页面?

2024-04-25

如果提供布局,有没有办法从 json/yaml 生成页面?我认为这是可能的,但在文档中找不到。

目前正在 GitHub 中对此进行跟踪:http://webb.li/QjTX 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在文件 src 数组中指定。现在,需要文件 dest/src,以便 Assemble 知道在哪里写入文件,但我认为我们会将其添加到选项或页面对象中,以便它可以在没有文件对象的情况下运行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

组装:如何从 json/yaml 生成页面? 的相关文章

随机推荐