refプラグインで参照ページのBracketNameにカンマが含まれているとファイルを参照できない。

  • ページ: BugTrack
  • 投稿者: bebebe?
  • 優先順位: 低
  • 状態: 完了
  • カテゴリー: プラグイン
  • 投稿日: 2004-02-03 (火) 01:21:22
  • バージョン: 1.4.2/refプラグイン(1.20)

メッセージ

refプラグインで

&ref(ファイル名,[[参照先]]);

と記述するときの参照先のBracketNameに「,」が含まれていると存在するファイルを参照していてもファイルが見つからないというメッセージが表示されます。

バージョンはPukiWiki 1.4.2、refプラグイン1.20です。

たとえば、たしかに存在するSandBox/test,testというページに添付されたtest.pngを他のページより

&ref(test.png,[[SandBox/test,test]]);

として参照しても、うまくいきません。


  • これはrefプラグインに限らず、PukiWIkiのプラグインの仕様のはず。以前、1.3.2時代にalignプラグインを作ったときに、この仕様を回避するために小細工をした記憶があります。 -- reimy 2004-02-03 (火) 04:01:16
  • 下記のいずれの書き方でもダメですね。 -- reimy 2004-02-03 (火) 07:02:17
&ref(favicon.png,[[Sandbox/test,test]]);

&ref(): The style ref(filename,pagename) is ambiguous and become obsolete. Please try ref(pagename/filename);

&ref(favicon.png,[[Sandbox/test,test]]);

&ref(): The style ref(filename,pagename) is ambiguous and become obsolete. Please try ref(pagename/filename);

&ref(Sandbox/test,test/favicon.png);

&ref(): File not found: "test" at page "Sandbox"; まあ、これは無理なのは当然ですが。

&ref(Sandbox/test,test/favicon.png);

&ref(): File not found: "favicon.png" at page "Sandbox/test,test";

  • 基本的にBracketNameに半角のカンマは使わないほうが無難です。 -- reimy 2004-02-03 (火) 07:17:36
  • 個々のプラグインで対処するのはちょっと厄介ですね。BugTrack/136BugTrack/138のときのようにBracketNameの側で制限するか、プラグインに引数を渡すときにエスケープ(たとえば\,)できるようにしたほうがいいかも。引数を引用符で囲んだ場合、一つの引数として扱うようにするとか。 -- reimy 2004-02-03 (火) 07:26:33
  • プラグインの引数を、いわゆる(?)Excel風CSVのように解釈するようにしてみました。以下のように、カンマを含む引数を"~"で囲むことで、ひとつの引数とみなすようになっています。 詳しくは こちら -- ぱんだ 2004-03-18 (木) 18:56:56
    &ref("SandBox/test,test/favicon.png",120%);
    &ref(): File not found: "favicon.png" at page "SandBox/test,test";

    基本的にコンマで区切った部分がスペースを含めて値である.
    値にコンマやダブルクウォートが含まれる場合は, 値全体をダブルクウォートで囲む.
    値に含まれるダブルクウォートは "" となる.

  • たぶん影響ないと思うんですけど。引数をダブルクオートで囲むプラグインってありましたっけ。 -- ぱんだ 2004-03-18 (木) 18:56:56
  • 引数にダブルクオーテーションで囲むプラグインは思いつかないですけど、引数にダブルクォーテーションを含めることのできるプラグインはいくつか存在します。ほとんど影響はないでしょう。 -- reimy 2004-03-19 (金) 14:23:40
    • すぐに思いつく例として、#ref(hoge.png,left,nowrap,around,20x20,"特別な"アイコン"hoge")というように文字列の一部にダブルクォーテーションを含めている場合。こんなの、稀でしょう。&ref(): File not found: "favicon.png" at page "SandBox/test,test";

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2004-03-19 (金) 18:12:34
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.197 sec.

OSDN