1

こんにちは、新しいレイアウトを定義する必要があるアプリケーションを作成します。今のところ、私のうなり声ファイルでこのコードを使用します

assemble: {
  pages: {
    options: {
      flatten: true,
      assets: '<%= config.dist %>/assets',
      layout: '<%= config.src %>/templates/layouts/default.hbs',
      data: '<%= config.src %>/data/*.{json,yml}',
      partials: '<%= config.src %>/templates/partials/{,*/}*.hbs'
    },
    files: {
      '<%= config.dist %>/': ['<%= config.src %>/templates/pages/*.hbs']
    }
  }
},

今、私はドキュメントhttp://assembly.io/docs/Layouts.htmlを読んで、このような必要なコードを入れました。

assemble: {
  pages: {
    options: {
      flatten: true,
      assets: '<%= config.dist %>/assets',
      layout: '<%= config.src %>/templates/layouts/default.hbs',
      data: '<%= config.src %>/data/*.{json,yml}',
      partials: '<%= config.src %>/templates/partials/{,*/}*.hbs'
    },
    files: {
      '<%= config.dist %>/': ['<%= config.src %>/templates/pages/*.hbs']
    }
  },
  simple: {
    options: {
      assets: '<%= config.dist %>/assets',
      layout: '<%= config.src %>/templates/layouts/simple.hbs',
      data: '<%= config.src %>/data/*.{json,yml}',
      partials: '<%= config.src %>/templates/partials/{,}*.hbs'
    },
    files: {
      '<%= config.dist %>/': ['<%= config.src %>/templates/pages/simple/*.hbs']
    }
  }
},

基本的に、新しいレイアウトをシンプルに宣言し、生成されたテンプレートを同じディレクトリに強制しようとしましたが、結果は - dist/src/templates/pages/simple/name_of_file.html このコードはデフォルトでは機能しますが、他のレイアウトでは機能しません。

助けはありますか?これは可能ですか?回避策はありますが、これを完了するといいでしょう。

気にしないで解決策を見つけた

assemble: {
  pages: {
    options: {
      flatten: false,
      expand: true,
      assets: '<%= config.dist %>/assets',
      layout: '<%= config.src %>/templates/layouts/default.hbs',
      data: '<%= config.src %>/data/*.{json,yml}',
      partials: '<%= config.src %>/templates/partials/{,*/}*.hbs'
    },
    files: [
      {expand: true, cwd: '<%= config.src %>/templates/pages/', src: '**/*.hbs', dest: '<%= config.dist %>/', ext: '.html'}
    ]
  },
  simple: {
    options: {
      assets: '<%= config.dist %>/assets',
      layout: '<%= config.src %>/templates/layouts/simple.hbs'
    },
    files: [
      {expand: true, cwd: '<%= config.src %>/templates/pages/simple/', src: '**/*.hbs', dest: '<%= config.dist %>/', ext: '.html'}
    ]
  }
},
4

1 に答える 1

1

私は解決策を見つけましたここに答えがあります

assemble: {
  pages: {
    options: {
      flatten: false,
      expand: true,
      assets: '<%= config.dist %>/assets',
      layout: '<%= config.src %>/templates/layouts/default.hbs',
      data: '<%= config.src %>/data/*.{json,yml}',
      partials: '<%= config.src %>/templates/partials/{,*/}*.hbs'
    },
    files: [
      {expand: true, cwd: '<%= config.src %>/templates/pages/', src: '**/*.hbs', dest: '<%= config.dist %>/', ext: '.html'}
    ]
  },
  error: {
    options: {
      flatten: false,
      assets: '<%= config.dist %>/assets',
      data: '<%= config.src %>/data/*.{json,yml}',
      layout: '<%= config.src %>/templates/layouts/error.hbs'
    },
    files: [
      {expand: true, cwd: '<%= config.src %>/templates/error-pages/', src: '**/*.hbs', dest: '<%= config.dist %>/', ext: '.html'}
    ]
  },
  login: {
    options: {
      flatten: false,
      assets: '<%= config.dist %>/assets',
      data: '<%= config.src %>/data/*.{json,yml}',
      layout: '<%= config.src %>/templates/layouts/login.hbs'
    },
    files: [
      {expand: true, cwd: '<%= config.src %>/templates/login-pages/', src: '**/*.hbs', dest: '<%= config.dist %>/', ext: '.html'}
    ]
  }

エラーページ用とログインページ用に2つの新しいレイアウトを作成します。すべてのページは同じディレクトリに生成されます。

于 2014-05-06T20:02:15.807 に答える