2012-01-13 14 views
3

私はnode.jsアプリを持っています。私はユーザーに小さなマークダウンでメッセージを充実させたいと考えています。しかし、ほんの少しです。私はnode.js用のより簡単なマークダウンコンバーター

  • (**)太字サニタイズ
  • やイタリック(*)
  • リンク

そして、それはそれについてですが、何よりも欲しいです。しかし、メッセージングシステムを拡張すると、後でもっと必要になることがあります。

私はshowdown,markdown-jsPageDownを見ました。後者だけが衛生的であったが、それらのすべては構成可能ではない。 PageDownが最も有望でしたが、出力の周りに<p>を生成しないようにはできませんでした。

私はより多くのコントロールを可能にするいくつかの他の選択肢がありますか?

+0

@ThiefMaster:後でメッセージを拡張したいので、いくつかの追加機能が必要な場合があります。 – Lanbo

答えて

8

レクサーへの直接アクセスをサポートする新しいコンバータがあります。私はあなたが必要なものだと思う:https://github.com/chjj/marked

+0

それで、出力の周りに '

' ... '

'を生成しないように_marked_にどのくらい正確に言いますか? –

1

Rhoプロジェクトをチェックしてください。 InlineCompilerを使うことができます。基本的に必要なものがあります(&lt;&amp;のような基本的なエスケープが必要な場合)。

あなたはこのようなエクスプレス/ハンドルバーヘルパー内のRhoを使用することができます。messageはあなたが提供しているいくつかのJSONある

<div class="col-xs-12"> 
    <p class="body"> 
     {{#mdToHtml}}{{message.body}}{{/mdToHtml}} 
    </p> 
</div> 

のように、

var exphbs = require('express-handlebars'); 
var rho = require('rho'); 
var hbs = exphbs.create({ 
    helpers: { 
     mdToHtml: function(options) { 
      return new hbs.handlebars.SafeString(
       rho.toInlineHtml(options.fn(this)) 
      ); 
     } 
    } 
}); 

、その後、JSONの内側のテンプレートから値下げを読みますテンプレート。

関連する問題