hikidoc:146
From: Kazuhiko <kazuhiko@f...>
Date: Sun, 13 Dec 2009 09:39:15 +0100
Subject: [hikidoc:146] Re: ブラケットリンクのエスケープ処理
かずひこです。 TADA Tadashi wrote: > ブラケットによるリンクの指定( [[hoge|http://example.com]] )の中で、 > 「hoge」の部分に「|」を含めたい場合に「\|」とすることでエスケープ > できるように期待しているようですが、動作してない気がします。 '\|'でエスケープできるというのは、少なくともTextFormattingRulesと TextFormattingRules.jaには仕様として書かれていないのですが、これって単に 一番最後の'|'以降がリンクURIというのではだめな理由はあるのでしょうか。 以下の変更で、既存のテストも含めてすべて通るのは確認しました。 Index: test/test_hikidoc.rb =================================================================== --- test/test_hikidoc.rb (revision 125) +++ test/test_hikidoc.rb (working copy) @@ -246,6 +246,8 @@ "[[&]]") assert_convert(%Q|<p><a href="aa">aa</a>bb<a href="cc">cc</a></p>\n|, "[[aa]]bb[[cc]]") + assert_convert(%Q!<p><a href="aa">a|a</a></p>\n!, + "[[a|a|aa]]") end def test_inter_wiki_name Index: lib/hikidoc.rb =================================================================== --- lib/hikidoc.rb (revision 125) +++ lib/hikidoc.rb (working copy) @@ -437,7 +437,7 @@ end def compile_bracket_link(link) - if m = /\A(?>[^|\\]+|\\.)*\|/.match(link) + if m = /\A(.*)\|/.match(link) title = m[0].chop uri = m.post_match fixed_uri = fix_uri(uri) かずひこ -- ML: hikidoc@m... 使い方: http://QuickML.com/
145 2009-12-12 02:49 [t@t... ] ブラケットリンクのエスケープ処理 -> 146 2009-12-13 09:39 ┗[kazuhiko@f... ] 147 2009-12-13 15:55 ┣[t@t... ] 149 2010-01-05 09:45 ┗[kazuhiko@f... ] 150 2010-01-05 15:44 ┗[kimuraw@i... ]