BlueFeather マニュアル

BlueClothとの主な違い

記法の拡張

PHP Markdown Extraから多くの拡張(定義リスト、表組み、など)を取り込み、さらに目次生成や強制ブロック区切りなどの独自拡張を実装しています。 詳しくはMarkdown記法の拡張を参照してください。

インターフェースの変更

BlueCloth では、文字列を継承した BlueCloth クラスのオブジェクトを生成し、そのオブジェクトに対して to_html を呼ぶことで変換を行います。

require 'bluecloth'

puts BlueCloth.new(str).to_html

対して BlueFeather では、 BlueFeather モジュールのメソッドを直接呼んで変換を行うのが、もっとも一般的な方法です。

require 'bluefeather'

puts BlueFeather.parse(str)

また、parse_fileparse_document など、いくつかのメソッドが新設されています。 詳しくは基本的な使い方を参照してください。

完全なHTML文書の生成

Maruku から取り込んだ機能として、部分的なhtml片だけではなく、DTD宣言やhead要素まで含んだ完全なhtml文書を生成できる機能があります。 また、メタデータを記述することにより、出力されるhtml文書のタイトルや、CSSファイルのURLも指定することが可能です。

詳しくは基本的な使い方、及びメタデータリファレンスを参照してください。

BlueCloth 1.0.0 における既知のバグの修正

以下のバグの修正を行いました。

  1. 一部の正規表現に、文字コード Shift-JIS が指定されている(= Shift-JIS 以外のマルチバイト文字列を正しく扱えない)
  2. 一部の文字が含まれていると、<mailaddress@example.com> 形式の記述が mailto: リンクとして変換されない(GMailのエイリアス文字 + など)
  3. リンクID定義を、4つ以上のスペースやタブでインデントしてもコードブロックにできない
  4. 水平線(<hr />)タグを、4つ以上のスペースやタブでインデントしてもコードブロックにできない

空要素タグの閉じ方を変更

BlueCloth で <tag/> となっていた空要素タグの終端を、<tag /> に変更しました。