JavaScriptでWiki整形するライブラリ WikiRender

2006/05/05 Fri 17:59

先週から作っていたJavaScriptライブラリを公開します。Wikiライク、というよりもむしろはてなダイアリーライクな変換エンジンです。

wikirender.jsをロードし、wikiRender.render(String)にテキストデータを渡すと、ルールに従って整形した結果が返されます。整形ルール(記法)についてはデモページのフォームを参考にしてください。

  document.getElementById('preview').innerHTML
    = wikiRender.render( document.getElementById('input').value );

返されるのはDOMオブジェクトではなくHTMLタグを含んだ文字列なので、innerHTMLに入れてやる必要があります。ZEROBASEのDOMコードジェネレータなどと組み合わせればDOMエレメントとしても処理できるかもしれません。

wikiRender.interWikiNameオブジェクトにプロパティを追加することで、InterWikiNameを追加設定することができます。

  wikiRender.interWikiName.WikiName = [
    URI prefix, URI suffix, UTF8_encode_flag (boolean), encodeURIComponent_flag (boolean)
  ];

3番目の真偽値で値をUTF-8にエンコードするかどうか、4番目の真偽値ではそのエンコードにencodeURIComponent()関数を使うかどうかを選択します。4番目がfalseの場合はencodeURI()関数でエンコードされます。

デモページでは以下ようなInterWikiNameを設定しています。デモページで使用しているwikidemo.jsも参考にしてください。

  wikiRender.interWikiName.GoogleSrchJa = [
    "http://google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q", "", true
  ];
  wikiRender.interWikiName.AmazonJP = [
    'http://amazon.jp/exec/obidos/ASIN/', '/bdp-22/ref=nosim', false
  ];

また、wikiRender.headingBaseプロパティの数値を変更することにより、Hタグの開始値を変更することができます。見出しは2段階まで使えるようになっており、デフォルトでは*でH1、**でH2に変換されます。

  wikiRender.headingBase = 4;

デモページでは上のように設定しているので、*がH4、**がH5に変換されます。こちらもwikidemo.jsを参考にしてください。

Download: wikirender.js 0.0.1 (2006-05-05)
Download: wikirender.js 0.0.2 (2006-05-06)

ライセンスは、いわゆるMIT License (X11 License)とします。

Windows XP上のIE 6.0、Firefox1.5.0.2、Opera 8.54、Netscape 7.1で動作することを確認しました。

追記(05/06):いくつかのバグを修正した0.0.2を公開しました。

そして、ゆうすけさんがJavaScriptライブラリ検索 - JSAN Searchを公開されていたのを発見し、検索してみたら案の定Wikiwygを大発見。まぁ、あっても自分で作るんですけどね。Wikiwygのスタンドアロン・デモを触ってみましたが、超カッコイイ。

Posted at 17:59 | Diary | 0 writebacks | edit
Tagged as: , ,

writebacks

trackback URI

http://cu39.s57.xrea.com/diary/20060505_wikirender_js.trackback


SPAM ロボットを排除するため文字判読テストをお願いしています。画像に書いてある2つの単語を入力してください。単語の間には半角スペースを入れます。