BlueFeather は、拡張 Markdown 記法で書かれたテキストを html に変換するソフトウェアです。 コマンドラインツールと、Ruby スクリプト内で変換を行うためのライブラリがセットになっています。 詳しくは BlueFeather マニュアルをご覧ください。
動作には ruby(バージョン 1.8.0 以降) が必要です。BlueFeather 0.20 から ruby 1.9.x 系列にも対応しました。
RubyGems が組み込まれた環境であれば、コマンドラインから次のように打ち込んでインストールすることも可能です。
gem install bluefeather
一度インストールした BlueFeather のバージョンアップは、次のコマンドで行ってください。
gem update bluefeather
Markdown記法でテキストを入力し、「変換する」ボタンを押すだけで、テキストをHTMLに変換することができます。
Launchpad 上のプロジェクトページで、開発レポジトリを公開しています。 Bazaar がインストールされた PC 上で、コマンドラインから次のように打ち込むことで、BlueFeather 最新版のブランチを取得可能です。
% bzr branch lp:bluefeather
なお、Launchpad には独自のブランチを作って、そのブランチに施した変更をメインブランチへマージ提案(Merge Propose)できる機能があります。 もしも機能の拡張やバグ修正などを独自に行った方がおられましたら、ぜひマージをご提案ください。
BlueFeather への要望、バグ報告、質問などがありましたら、こちらのフォームからお気軽にどうぞ。
ソースコードから「BlueCloth 1.0.0 における既知のバグの修正」関係の修正方法を拝見しました。役立ちました。(2009年4月23日)
お役に立てたようで幸いです。 とくに凝った修正はしていませんが、手元で BlueCloth 1.0.0 の修正を行いたいという方は、ぜひ参考にしてください。
なお、つい先日 BlueCloth 2.0.x がリリースされたようなので、 拡張ライブラリでも(pure rubyでなくても)よいという方はそちらへの移行もお奨めします。
~~~でつくるコードブロックのなかで
/^#/
な行が<h1>
になっちゃうのはうれしくないように思います(2009年5月9日)
手元の BlueFeather 0.20 で試してみたのですが、こちらでは再現できませんでした。実際に <h1>
に変換されてしまったテキストファイルを、tetradice@gmail.comかRubyForge のトラッカーまで送っていただけますか?
Launchpadの開発リポジトリが古いようです。BlueFeather::VERSION = '0.22'になってます。(2009年9月24日)
ご指摘ありがとうございます。改めてリポジトリを更新しました。
ディレクトリ内のファイルだと targets not found になるのですが仕様でしょうか? WindowsXP環境で仕様しています(2009年10月23日)
Windows環境で発生する、BlueFeatherの誤動作でした。0.32で修正いたしました。
TABLE内に改行を含む長文を記述する時、「
|hoge|auau<br>hoehoe<br>moemoe|
」のようになり、見やすさも書きやすさも失われてしまうのですが、何か良い方法はございますでしょうか?(2009年10月24日)
残念ながら今のBlueFeatherでは、その記述を使うか、tableタグを直書きするしかありません。
table中で改行を使えるような簡易記法を思いつけば実装したいのですが、今のところ何も良案がありません。 もし「こんな表記法があれば便利」という案があれば、ぜひメッセージフォームやtetradice@gmail.comまでお送りください。
BlueFeather 0.40 をリリース
エンコーディングを指定するとき、「shift_jis」と「shift-jis」のどちらでも受け付けるように変更
文書メタデータに「Header-ID-Type:」ヘッダを追加。 値に「escape」を指定すると、自動生成される見出しIDが変化する
Header-ID-Type: escape
リンク先アンカーの省略記法を追加。以下の2つの記述は同じ意味になる
[TargetHeader](#)
[TargetHeader](#TargetHeader)
不具合の修正
BlueFeather 0.34 をリリース
不具合の修正
コード片の中に、不正なHTMLタグのように見えるテキストが含まれていると、エラーで落ちる
~~~~
f<a < b>(a)
~~~~
BlueFeather 0.33 をリリース
不具合の修正
行の左端に空白のある表組みが、正しく変換されない
|td1|td2|td3|
その他、細かな修正
BlueFeather 0.32 をリリース
不具合・誤記の修正(北島雅博さん、多数のバグ報告とテストコード・パッチの送付ありがとうございました)
Windows環境で bluefeather
コマンドを実行するとき、読み込むファイルのパスに「\」マーク(バックスラッシュ)が含まれていると「targets not found」エラーになる
完全なHTML文書を出力し、その文書内のtitle要素にマルチバイト文字列が含まれていた場合、ブラウザから正しく読み込めないことがある(title要素がContent-Type宣言より前に出力されていたため)
二重backtick(``)に囲まれた部分が、本来のMarkdown記法であればコード片になるはずなのに、BlueFeatherではコード片にならない
コードブロック中の \ 記号が表示されない(\\ とすると表示される)
文書メタデータの「Description」「Keywords」が機能していない
完全なHTML文書を出力するとき、テキストの最初にある以下のような記述が、文書メタデータとして解釈されてしまう
<h1>header:level1</h1>
# markdown:syntax
マニュアル内、メタデータリファレンスの誤記
ダウンロードのリンクが、BlueFeather 0.30のままになっていたのを修正
BlueFeather 0.31 をリリース
不具合の修正
リスト中のコードブロック内で、1行の空行が2行になってしまう。 たとえば以下のような書き方のとき、「code a」と「code b」の間に2行の空行ができる
* example list
~~~
code a
code b
~~~
BlueFeather 0.30 をリリース
BlueFeather 0.22 をリリース
Parser#parse_document
がエラーで落ちる問題を修正
URLやメールアドレスのオートリンクが `(バッククォート)でエスケープできない問題を修正
BlueFeather 0.21 をリリース
bluefeather コマンドの表示をいくつか変更
-v (--verbose) オプション指定時、各ファイルをどのようなエンコーディングとして変換したかを出力
--version オプション指定時、そのバージョンのリリース日時も表示
2行以上の仕切り付きコードブロックで、最後の行の先頭に #
記号や :
記号があると誤って変換されてしまう問題を修正
BOM 付きの UTF-8 文書を正しく読めない問題を修正
「一言メッセージへの返信」を2件更新
BlueFeather 0.20 をリリース
Ruby 1.9.x 系列に対応
文書ファイルに変換するときのエンコーディングの扱いを変更。 詳細は、同梱マニュアルのエンコーディングの扱いを参照してください
目次での見出しレベルの指定記法を拡張。今まではできなかった、{toc:h3-h4}
や {toc:h3}
のような書き方が可能になりました
「一言メッセージへの返信」を追加
BlueFeather 0.20 fix1 をリリース
BlueFeather 0.11 をリリース
bluefeather
コマンドでは入力ファイルの更新日時を見て、更新日時が新しくなっていたときのみ変換するようにした。
この変更に合わせて --force
オプションを追加
URL自動リンクを解析するときに、uri.rb (標準添付)の URI.regexp
を使うように変更
その他、細かな修正&RSpec用検証コードの追加
BlueFeather 0.10 (初版)をリリース