読者です 読者をやめる 読者になる 読者になる

PHPで書いたはてな記法パーサ&レンダラをopenpearで公開しています

HatenaSyntax \ Package \ Openpear
はてな記法パーサ&レンダラをopenpearで公開しています。現在beta版です。
CodeReposに置いていたはてな記法パーサの後継ですが、コードは全て書き直されています。使い方も違います。
CodeRepos版とopenpear版との違いは以下の通りです。

  • pearを通してインストールする
  • 構文木を取り出すことができる
  • いくつか細かな部分に対応できるようになった
  • パーサの実装が変わった

pearを通じてインストールする

CodeRepos版の様にファイルを一つ保存してインストール終わり、という風にはいかず、openpear版の場合はpearを通じてインストールしてもらうことになります。
インストールする方法はOpenpear :: Open PEAR Repository ChannelHatenaSyntax \ Package \ Openpearのページを参照してください。

構文木を取り出すことができる

CodeRepos版では、はてな記法で書かれたテキストをhtmlに変換することしかできませんが、openpear版では、はてな記法で書かれたテキストから構文木のみを取得することができます。
この取得した構文木を用いて、他のWiki記法への変換なども可能となります。
はてな記法で書かれたテキストから構文木を取り出すサンプルはこちらを参照して下さい。

いくつか細かな部分に対応できるようになった

はてな記法の細かな仕様にもいくつか対応できるようになりました。
例えばスーパーpre記法や、行末に置かれたpre記法の閉じタグ等(「|<」や「||<」)も解釈できるようになりました。

パーサの実装が変わった

openpear版ではPEGパッケージを用いてパーサが構築されるようになりました。
PEGパッケージとは、openpearで公開されているパーサコンビネータライブラリです。

最後に

CodeRepos版とopenpear版との違いは以上です。
はてな記法で書かれたテキストをhtmlに変換するサンプルはこちらです。
バグレポートや要望、感想などお待ちしています。