[前][次][番号順一覧][スレッド一覧]

hikidoc:81

From: ありくい <arikui@m...>
Date: Sun, 30 Sep 2007 22:34:08 +0900
Subject: [hikidoc:81] Syntaxライブラリ周り--compile_block_pre()

参加すぐの投稿で少し緊張してます、ありくいです。

/lib/hikidoc.rbのcompile_block_pre()内でtypoを発見しました。


  def compile_block_pre(f)
    m = BLOCK_PRE_OPEN_RE.match(f.gets) or raise "must not happen"
    syntax = m[1] ? m[1].downcase : nil
    str = restore_plugin_block(f.break(BLOCK_PRE_CLOSE_RE).join)
    f.gets
    if syntax
      begin
        convertor = Syntax::Convertors::HTML.for_syntax(syntax)
        @outupt.preformatted convertor.convert(str)
         ^^^^^^
      rescue
        @output.preformatted @output.text(str)
      end
    else
      @output.preformatted @output.text(str)
    end
  end


nilにpreformattedを送ってますが、rescueでNoMethodErrorが顕在化しなかった
ようです。
このため、必ずrescue節のほうが実行され、syntaxライブラリが効いていないよ
うです。


でもって、ここを直して出力のHTMLを見ると、syntaxも<pre>を付けて寄越すよ
うで、二重の<pre>で囲われている状態になっていました。

syntaxをよく知らないので、String#slice!かなにかで<pre>、</pre>を削るぐら
いしか思いつかないのですが :-)


いきなりの投稿で長くなりましたが、この辺りで失礼します。



----
arikui@m...
ありくい

--
ML: hikidoc@m...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

->      81 2007-09-30 15:34 [arikui@m...         ] Syntaxライブラリ周り--compile_block_pre()
        83 2007-10-03 10:59 ┗[kazuhiko@f...       ]