0

マークダウンから 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ソース コードから削除されました。

4

0 に答える 0