Pinky:blogでは、ハイパーリンクや画像などのURLの指定に、ex:から始まる特殊な形式を使うことができます。


リソースディレクトリ内の画像参照 (ex:res:)

<img src="ex:res:pinkyblog/sticker.gif" width="80" height="15" alt="sample image">
リソースディレクトリ内の画像を、パス指定で貼り付けることができます。

sample image リソースディレクトリ内の画像を、パス指定で貼り付けることができます。

「リソースディレクトリ」とは、初期設定ではblog.cgiと同じ位置にあるresディレクトリのことです(設定ファイルpinkyblog_conf.rbを書き換えることで、ディレクトリの位置を変更することもできます)。

なお、画像以外のリソース(圧縮ファイルなど)を参照することもできます。

画像全てを<a href="ex:res:archive.zip">zip形式</a>でダウンロードできます。

画像全てをzip形式でダウンロードできます。


blog内記事へのリンク (ex:entry:)

blog内にある<a href="ex:entry:100000">IDが100000の記事</a>へのハイパーリンクです。

blog内にあるIDが100000の記事へのハイパーリンクです。

記事IDとは、記事のURLの末尾についている文字列のことです。通常の記事であれば1182398768-05e0のような形式になります。


GoogleやWikipediaへのリンク (ex:google, ex:wikipedia)

Googleで、<a href="ex:google:Blog">キーワード「Blog」を検索</a>するハイパーリンクです。
Wikipediaにある<a href="ex:wikipedia:Blog">「Blog」の項目</a>を表示するハイパーリンクです。

メニューコマンド (ex:menu:)

ver2.35以降でのみ使用可能です。

メニュー定義ファイルと同じ記法で、記事一覧、ログイン画面、記事執筆画面、管理者メニューなどへリンクすることができます。

<ul>
  <li><a href="ex:menu:recent">blog内の新着記事</a></li>
  <li><a href="ex:menu:mastermenu">管理者メニュー</a></li>
  <li><a href="ex:menu:view -n 5 ut:2009-04..2009-06">2009年4〜6月の記事(5件ごとに表示)</a></li>
</ul>

技術的な話

Pinky:blogでの特殊リンクは、出力されたHTMLタグの属性をすり替えることによって実現されている機能です。そのため、記事の書き方によらず使用することができます。

特殊リンクの対象になる属性は、HTML4.01の仕様で値にURLをとると定められている属性、つまりhref, src, action, cite, data, archive, codebase, background, classid, longdesk, usemapです。これらの属性値がex:から始まっていれば、Pinky:blogはそれを特殊リンクとみなし、出力時に属性値をすり替えます。