PukiWiki で拡張子のない画像を表示するためのささやかな偽装 (はてブカウンター等)

最近,たとえばはてなブックマークカウンターなどのように,あるリクエスト URL に対して画像を返すサービスが増えているが,このリクエスト URL には拡張子がついてなかったり (例えばはてブカウンターの場合は http://b.hatena.ne.jp/bc/http://www.example.com/ みたいな感じ),拡張子の後に CGI に渡すクエリ文字列がついていたりすることがある.



通常の HTML 文書内なら,img タグを使ってやれば何の問題もないんだが,PukiWiki で表示させようとすると厄介なことになる.画像表示用の ref プラグインは URL 末尾の拡張子で対象が画像かどうかを判断しているため,上記のような変則的な URL を打ち込んでも画像を表示してくれない.



そんな場合は,URL の末尾に #.gif みたいにダミーアンカーをくっつけて,ref プラグインに「これは画像ですよー」みたいな雰囲気を醸し出してあげるとうまくいく場合がある.たとえばはてブカウンターを PukiWiki に設置したければ,

[[&ref(http://b.hatena.ne.jp/bc/http://www.example.com/wiki/#.gif);>http://b.hatena.ne.jp/entrylist?url=http://www.example.com/wiki/]]

みたいな感じでやるとよいらしい.



以下の PukiWiki 質問箱の議論では「?」を使ってクエリっぽく偽装する方法が提案されているが,はてなの場合は「#」でアンカ偽装のほうがうまくいくはず.ちなみに「#」をうっかり URL エンコードして 「%23」とかにしちゃったら全く意味がないので注意.