2017-08-29 9 views
0

私は現在、一口、ハンドルバーには次の形式を使用しています:一気ハンドル変数宣言の形式

私は次のフォーマットを使用して他の人を参照してください
{{#> layouts/main title="my title" pagename="my_page_name"}} 

:私は私の第二のフォーマットをしようとすると

--- 
layouts: main 
title: my title 
pagename: app-is-fixed 
--- 

をページがコンパイルに失敗したり、タイトルが変数としてではなくページの上にテキストとして追加されたりします。

テンプレートページに2番目のフォーマットを使用する方法を教えてもらえますか?

答えて

0

は一口アセンブルを使用して、それを解決するために管理され、彼らは誰も興味を持っている場合https://www.npmjs.com/package/gulp-assemble

を開始する方法にはかなり良い説明があり、これが使用される形式です:

var gulp = require('gulp'); 
var rename = require('gulp-rename'); 
var assemble = require('assemble'); 
var helpers = require('handlebars-helpers'); 
var app = assemble(); 
var prettify = require('gulp-prettify'); 
var config = require('../config'); 

gulp.task('init', function(cb) { 
    app.helper('compare', helpers.comparison()); 
    app.helper('markdown', require('helper-markdown')); 
    app.partials(config.paths.path_src + 'templates/includes/**/*.hbs'); 
    app.layouts(config.paths.path_src + 'templates/layouts/**/*.hbs'); 
    app.pages(config.paths.path_src + 'templates/content/**/*.hbs'); 
    cb(); 
}); 

gulp.task('assemble', ['init'], function() { 
    return app.toStream('pages') 
    .pipe(app.renderFile()) 
    .pipe(prettify({ 
     indent_inner_html: false, 
     preserve_newlines: true, 
     end_with_newline: true, 
     extra_liners: ['head', 'body'] 
    })) 
    .pipe(rename({ 
     extname: '.html' 
    })) 
    .pipe(rename({dirname: ''})) 
    .pipe(app.dest('site')); 
}); 

gulp.task('test', ['assemble']); 

そして、あなたのHBSページは次のようになります:

--- 
layout: default 
title: Blank 
heading: Blank 
pagedescription: blank desc 
--- 
{{#*inline "head-block"}}test-head{{/inline}} 
{{#*inline "scripts-block"}}test-foot{{/inline}} 

test file