2016-11-01 9 views
0

私はMetalsmithを使ってマークダウンファイルから静的なサイトを生成しています。マークダウンファイルを編集メタルミスのカスタムハンドルバーヘルパー登録

の人が書きます:{{{link "docs/file.docs"}}}、彼らはそのファイル(相対リンク)とサイト上のリンクを期待し

ヘルパーはシンプルですが、私がテストし、それが働いている:

handlebars.registerHelper('link', function(path) { 
    var url = handlebars.escapeExpression(path); 

    return new handlebars.SafeString(
    "<a href='" + url + "'>" + url + "</a>" 
); 
}); 

しかし、このヘルパーを追加して、メタルスミスの設定で使用するにはどうすればいいですか?

ここに要約された例があります。
index.md:シンプルmake作成するHTMLの以下の部分で私が欲しい

etc etc link to the page is {{{link "docs/file.doc"}}} 

etc etc link to the page is <a href='docs/file.doc'>docs/file.doc</a> 

答えて

0

私はここで答えを見つけました:ここhttps://segment.com/blog/building-technical-documentation-with-metalsmith/

は私ですMetalsmithのindex.js設定:

var Metalsmith = require('metalsmith'); 
var markdown = require('metalsmith-markdown'); 
var permalinks = require('metalsmith-permalinks'); 
var handlebars = require('handlebars'); 
var inplace = require('metalsmith-in-place'); 

handlebars.registerHelper('link', function(path) { 
    var url = handlebars.escapeExpression(path); 

    return new handlebars.SafeString(
    "<a href='" + url + "'>" + url + "</a>" 
); 
}); 

Metalsmith(__dirname) 
    .metadata({ title: "Static Site" }) 
    .source('./src') 
    .destination('/var/www') 
    .use(inplace({ engine: 'handlebars', pattern: '**/*.md' })) 
    .use(markdown()) 
    .build(function(err, files) { 
    if (err) { throw err; } 
    });