[Fswiki-dev] Re: リンク(アンカー)の開き方を少し拡張するパッチ

Back to archive index

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*****>



Fswiki-dev メーリングリストの案内
Back to archive index