typo と ecto を組み合わせるとき、 ecto 内の markdown パーサが性能が悪いので、プリビューが上手く表示できないことがある。
「Markdown Extra for ecto」を使えば、対処が可能らしいが、ecto 3.0b49 では上手くいかなかった。 パッチの内容は、Perlスクリプトの markdown -> html コンバータを、PHP ベースの変えるものらしい。
ふーむ。
typo は Ruby の RedCloth モジュールの markdown パーサを利用してるので、こっちを使う物を変えれば、上手くいきそうである。
RedCloth インストール
MacOSX 10.5 では、rubygems が使えるので、
# sudo gem install RedCloth
で完了
ecto の markdown フォーマッタの変更
ファイル ecto.app/Contents/PlugIns/Markdown.formatter/Contents/Resources/markdown.perl
を名前を変えてバックアップを取り、
次のように変える。
#!/usr/bin/ruby
require 'rubygems'
require 'RedCloth'
text = ""
readlines.each { |line|
line.gsub!(%r{<typo:code>},"<pre><code>")
line.gsub!(%r{</typo:code>},"</code></pre>")
text += line
}
doc = RedCloth.new(text)
puts doc.to_html(:markdown)
めでたく、プリビューが上手く表示されるようになりましたっす。
「Writing your own formatter」 に従えば、独自のフォーマッタが結構簡単に作れるらしいので、、、余力があれば遊んでみるのも良いかも。
0 件のコメント:
コメントを投稿