Naoki Takezoe
takez****@gmail*****
2005年 11月 8日 (火) 22:57:49 JST
竹添です。 05/11/08 に あき<attin****@kk*****> さんは書きました: > あきです。 > > プラグイン投稿のコーナーに、 > > リンク(アンカー)の開き方を少し拡張するパッチ > http://fswiki.poi.jp/wiki.cgi?page=BugTrack%2Dplugin%2F238 > > なるものを投稿しました。 > > > 簡単に説明しますと、アンカー(リンク)をクリックした際に、同じウィンドウ > 内でページを開くか、別ウィンドウでページを開くかの指定を少し拡張するだけ > のものです。 > > 以前何処かで、「指定URLの先頭に「http://」が書かれているかどうかで新しい > ウィンドウで開くか否かを判断するようなことはしていません。」とコメント > されていたのを拝見したことがあります。(何処だったかは忘れました) > > が、管理者メニューの環境設定画面に記載されている項目名は、あくまで > 「外部URLの処理」とあります。 > ブラケット1つで囲って指定できるリンクは、「URL直接指定」ではありますが > 「外部URL」とは限らないと思います。投稿したページにも書いてありますが、 > ログイン画面へのリンクや編集画面へのリンクは、どう考えても外部URLでは > ないと思います。 > ですが、こういったリンクを貼るには、どうしてもブラケット一つで囲む必要 > があるのです。 > 標準搭載のプラグインである投票プラグイン(vote)も、投票する度に新しい > ウィンドウが開いてしまいます。 > 意図した動作じゃ有りませんよね? まあ、フレームワークの意図としては正しいんですけどね。 > 個人的なサイトでは、lib/Wiki/HTMLParser.pmを直接編集してこれに対応して > いましたが、さすがにスマートではありません。 > そこで、既存の動きは変えずに、設定を拡張してこれに対応する手段を考えま > した。それが、冒頭で紹介したパッチです。 > > 『プラグイン』という提供の方法もあるかもしれませんが、これは是非コア側 > で取り込んで頂きたいパッチだと思い、ここに紹介させて頂きました。 > この程度でしたら、便利になるだけで悪影響は特に何も無いと思うのですが、 > いかがでしょうか? 拝見しましたが、これだとhttp(s)以外の場合や相対リンクはすべて内部リンク とみなされてしまいますよね。さすがにそのまま取り込むにはちょっと問題ある んじゃないでしょうか。 WikiFarm間での相対リンクなどに関しても考慮する必要はありますが、 アクションを指定する記法を用意することで対応しようかな、と考えてました。 例えばInterWiki形式でaction:LOGINと書くとwiki.cgi?action=LOGINに ディスパッチするような方法です。これならアクションの呼び出しをダブル ブラケットで記述できるようになります。 voteプラグインに関してはWiki形式のテキストを返すタイプではなく、 HTMLを返すタイプのプラグインとして実装すれば、対処は可能ですね。 4.0ではPDFサポートは二の次と考えているので、Wiki形式のプラグインは 廃止するのもありかな(代わりにテンプレートの使用を推奨する)と思います。 -- Naoki Takezoe <takez****@gmail*****>