/ をページ名先頭にしたアンカーが正常に動作していない?
- 投稿者: 名無しさん
- カテゴリ: 本体
- 優先度: 普通
- 状態: リリース済
- 日時: 2004年09月18日 18時02分49秒
内容
BugTrack-wiki/120 に関連した問題かも知れないのですが、オートリンクを避ける意味合いで / をページ名に含めて作成していたところ、先頭に / が入るページはURIに誤認識されるようです。
Ex.
半角英数のみ
- Test?
*[[Test|/Test]]
2バイト含む
- テストページ?
*[[テストページ|/てst]]
半角スペース有り
- テストページ?
*[[テストページ|/ Test]]
補足
- リンク用の名前側は問題なさそうです
- 外部リンク用ブラケット [ ] は名前によっての変化はないようです(正常動作なのかはわかりませんが)。
コメント
- ブラケットでURLリンクを行う場合に相対パスを受けつけるようにしているのが原因ですね。ページの別名リンクをURL別名リンクよりも優先度を高くすることで解消できます。 - たけぞう (2004年09月23日 22時58分31秒)
diff -r1.13 Parser.pm 268c268,278 < # 別名リンク --- > # ページ別名リンク > } elsif($source =~ /\[\[([^\[]+?)\|(.+?)\]\]/){ > my $pre = $`; > my $post = $'; > my $label = $1; > my $page = $2; > if($pre ne ""){ push(@array,$self->parse_line($pre)); } > push @array,$self->wiki_anchor($page,$label); > if($post ne ""){ push(@array,$self->parse_line($post)); } > > # URL別名リンク 308,318c318 < < # ページ別名リンク < } elsif($source =~ /\[\[([^\[]+?)\|(.+?)\]\]/){ < my $pre = $`; < my $post = $'; < my $label = $1; < my $page = $2; < if($pre ne ""){ push(@array,$self->parse_line($pre)); } < push @array,$self->wiki_anchor($page,$label); < if($post ne ""){ push(@array,$self->parse_line($post)); } < --- >
- 上記の修正をCVSにコミットしました。 - たけぞう (2004年09月23日 23時01分02秒)
- この修正でこれまで有効だった Farm への別名リンクがおかしくなってしまいました。別の解決策はないですか?リリースに修正を反映されると困る人も多いのでは? - gyo (2004年10月12日 14時45分13秒)
[[別名|Farm:FrontPage]]
が
修正前のFarmのURL) http://saba/wiki.cgi/Farm?page=FrontPage 修正後のFarmのURL) http://saba/wiki.cgi?page=Farm%3AFrontPage
になります。修正後のものもリンク先は表示されますが、親のコンテンツの一部としてありえないページ名に解釈され、そのページからのリンク等は正しくなくなってしまいます。
- 実際に試していないのですが上記のパッチに加えてInterWikiをページ別名リンクより優先度を高く(InterWiki > ページリンク > URLリンク の順)すればいいんじゃないかと思います。 - たけぞう (2004年10月12日 15時43分25秒)
- そんな風に順序を入れ替えたら、どちらの問題も解決されたようです。ありがとうございます。念のためご確認ください。 - gyo (2004年10月12日 18時57分07秒)
- 適当に入れ替えたからなんですが、今度は paragraph プラグインで書いた見出しが outline プラグインの出力に含まれてしまうようです。。。素敵な順番な修正をお願いしたいです。。。 - gyo (2004年10月15日 11時57分58秒)
- どうもこの件とは関係なさげですね。お騒がせしました。 - gyo (2004年10月15日 12時20分45秒)
- 3.5.7正式版をリリースしました。 - たけぞう (2005年02月12日 00時04分43秒)
最終更新時間:2005年02月12日 00時04分43秒