トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

BugTrack-wiki/120

ページの作成や編集にはユーザ登録が必要です。

ページ名に角括弧[ ]が含まれるとリンクできない

  • 投稿者: Lenoir
  • カテゴリ: 本体
  • 優先度: 普通
  • 状態: リリース済
  • 日時: 2003年09月15日 18時20分48秒

 内容

FSWiki 3.5.1dev2

ページ名に角括弧 [ ] が含まれると、

[[innocent? pagename with [square] brackets]]

この形式のリンクが正常に動作しません。

例1

  • innocent? pagename with [square] brackets?

次のような明示的なリンクは使用可能です。

[innocent? pagename with square brackets|http://fswiki.sourceforge.jp/cgi-bin/wiki.cgi?page=innocent%3F+pagename+with+%5Bsquare%5D+brackets]

innocent? pagename with square brackets

ですが、recent や accessdays をはじめとする多くのプラグインは 例1 の形式のリンクを生成するので問題になります。

ただし、この件に関しましては、ページ名に角括弧を入れる事自体が仕様に反していることなのかもしれません。それであれば、ページを新規作成する際にページ名に角括弧が含まれている場合に、エラーや警告が表示されると良いと思います。

 コメント-1

  • Wikiがマークアップに使用している文字の多くが普通の文字と重なってしまうので、根本的にはそれらを普通の文字として使う場合の記法を定義しなければならないと思います。たとえば、前にバックスラッシュをつけたらマークアップではなく普通の文字として扱うなど。 - 希 (2003年09月15日 19時29分08秒)
  • そうですね。エスケープ文字があれば解決です。 ただし、私自身 Wiki の流儀をあまりよく知らないので、この議題はバグ報告と言うよりは「こういう場合はどう対処すれば良いのだろうか?」というような質問に近いスタンスで提案しました。 - Lenoir (2003年09月15日 23時43分47秒)

 REOPEN - ページ名終端に ] が含まれるとリンクが記述できない

  • 投稿者: Lenoir

Naoki Takezoe さんにより 3.5.1dev3 にてこのバグに対する対応が為されました。それにより、エスケープ文字を要せずに、ページ名に角括弧(square bracket) [ ] を含めることができるようになりました。

そこで簡単に検証してみたところ、以下のような結果になりました。

1. ページ名の途中に角括弧が含まれる場合 - OK

ページ名 "テスト[ペ]ージ"
[[テスト[ペ]ージ]] 

2. ページ名の最初に角括弧が含まれる場合 - OK

ページ名 "[テストページ"
[[[テストページ]]

3. ページ名の終端に角括弧が含まれる場合 - NG

ページ名 "テストページ]"
[[テストページ]]]

上記 3. のように、ページ名の終端に ] が含まれるページは依然この形式でのリンクは不可能です。

 コメント

  • ブラケットは最短マッチせざるを得ないので、それはもうロジックではどうしようもないような気がします。エスケープ文字を用意すればよいという話ですが、実際にどう実装するかと考えるとかなり難しいと思います。ブラケットが含まれるページは作成できないようにしたほうがよいですか? - たけぞう (2003年09月19日 18時33分01秒)
  • PukiWikiではブラケットが含まれるページは作成できないようです。 - にらたま (2003年09月19日 18時48分28秒)
  • 関連する問題なのですが、ページ名の前後に半角スペースを入れて新規作成した場合、作成しようとするページはスペース込みのページ名なのですが、実際に作成されるページはスペースを取り除いたページ名になり、ページ作成後にもう一度編集画面になってしまいます。(3.5.0で確認、dev版では未検証) これで思ったんですが、ページ名前後の空白は無視という事にすれば、ブラケットがページ名の最後にくるパターンでも、ページ名の後ろに空白を入れることで対応できるかと。(実質エスケープですが。) - にらたま (2003年09月20日 01時39分48秒)
  • ちなみにPukiWikiでも試してみましたが、やはりページ作成はできませんでした。 - にらたま (2003年09月20日 01時41分04秒)
  • 重箱の隅をつつく発言ばかりでごめんなさいー(^-^;) 。それはもうロジックではどうしようもない -- そうですねぇ。]]] だけならまだしも、 ]]]]]] みたいなもの(通常使用上はあり得ないでしょうが)にも対応しようとすると、これはもうどうしようもないです。 上のコメントでにらたまさんが提案されているページ名の前後に空白を入れるという案、抜け道としてはけっこうスマートだと思います(1個だけならブラケット使えるようになりますね)。ブラケットが含まれるページを作成できないようにすると言うのも当然ありだと思います。 個人的にはブラケット使える方がちょっと嬉しいです。 ただ、そのために仕様がわかりにくくなるのであれば、それは考え物ですよね。 - Lenoir (2003年09月20日 13時12分08秒)
  • 3.5.1dev4でブラケットを含むページは作成できないようにしました。 - たけぞう (2003年09月28日 21時36分58秒)
  • ありがとうございます。つまらないことでお手数をお掛けしました! - Lenoir (2003年09月30日 19時15分49秒)
  • なんだか韓国のプロバイダ経由でこのページがはげしく更新されているので(しかもスパムじゃなくてバグレポートのステータスが変更されてるだけ…)、しばらくステータス変更プラグインを削除した上で凍結しておきます。 - たけぞう (2006年09月03日 23時19分07秒)
お名前: コメント:

最終更新時間:2014年02月03日 07時48分23秒