マークダウンから HTML への変換のために node.js モジュールを拡張しようとしています。現在、マークダウン文字列を前処理するためにこれを行いますdata
:
md = require('marked');
/**
* Preprocesses a markdown string before it gets parsed by the 'marked' module
**/
exports.markdownToHTML = function(data) {
data = data.replace(/(\[youtube\]\(.*\))/gi, youtubeProcessor);
data = md.parse(data);
return data;
};
/**
* Looks for substring [youtube](videoid) and returns the iframe tag
**/
exports.youtubeProcessor = function(match) {
var regexp = /\[youtube\]\((.*)\)/;
var id = regexp.exec(match)[1];
var youtube = "<iframe width='420' height='315' src='http://www.youtube.com/embed/_{id}' frameborder='0' allowfullscreen></iframe>";
youtube = youtube.replace("{id}",id);
return youtube;
}
これはよく考えられたものではなく、見苦しいものです。拡張可能なモジュラー プリプロセッサを設計する最良の方法は何ですか? 関数型プログラミングと JavaScript は初めてなので、デザイン パターンを探しています。
私の考えでは、拡張性を備えたメソッドをどのように実装しますかmarkdownToHtml
(さらに「プロセッサ」)?
編集:this
ソース コードから削除されました。