文書の過去の版を表示しています。
InterWiki リンク (Wiki 間リンク)
InterWiki リンク (Wiki 間リンク) のもともとの考えは、インターネット全体で 1 つの巨大な分散管理された Wiki を構築するというものでした。今日においては、その意味は「ある Wiki から他の Wiki へ簡単な記法でリンクする機能」へと変化しています。
DokuWiki においては、ショートカット作成用の文字列の後に >
を置き、その後に Wiki のページ名を置くと InterWiki リンクとなります。
以下に使用例を示します。
[[wp>Wiki]] は Wikipedia の Wiki の項目にリンクします。 [[Meatball>TourBusStop]] は MeatBall Wiki の TourBusStop のページにリンクします。 [[google>Wiki]] は Google で "Wiki" を検索するページにリンクします。 [[doku>ja:interwiki]] は DokuWiki 公式サイトの ja:interwiki (このページ) にリンクします。
出力結果は以下のようになります。
Wiki は Wikipedia の Wiki の項目にリンクします。TourBusStop は MeatBall Wiki の TourBusStop のページにリンクします。Wiki は Google で “Wiki” を検索するページにリンクします。ja:interwiki は DokuWiki 公式サイトの ja:interwiki (このページ) にリンクします。
また、特別な InterWiki ショートカットとして、this
というものがあります。これは常に DokuWiki がインストールされた Web サーバ上のディレクトリにリンクします。この仕組みは相対リンクを作成する場合に利用できます。例えば、以下の InterWiki リンクは常にその DokuWiki の XML フィードにリンクします (実際の例: feed.php)。
[[this>feed.php]]
InterWiki に関するより詳しい情報は、以下のページを参照してください。
- InterWiki (Wikipedia)
- InterWiki (MeatBall)
- InterWiki (c2.com Wiki)
InterWiki ショートカットの設定
InterWiki ショートカットは conf/interwiki.conf
ファイル内で定義されます。デフォルトの設定ファイルには http://usemod.com/intermap.txt で提案されているすべてのショートカットを収録しています。もし独自の InterWiki ショートカットを追加する場合は、まず conf/interwiki.local.conf
というファイルを作成してそこにショートカットの設定を追加するようにしてください。こうすることで DokuWiki をバージョンアップする際に独自の InterWiki ショートカットが上書きされるのを避けることができます。
conf/interwiki.conf
ファイルを直接編集して設定することもできますが、この方法では DokuWiki のバージョンアップ時に独自の設定が上書きされてしまいます。
InterWiki ショートカットと同じ名前の画像ファイルを lib/images/interwiki
ディレクトリに設置しておくと、デフォルトのリンクアイコンの代わりにその InterWiki ショートカット専用のリンクアイコンを使用することができます。この画像ファイルは 16×16 ピクセルの PNG もしくは GIF 画像である必要があります。画像ファイルを設置したのにリンクアイコンが変わらない場合は、まずキャッシュを削除してみてください。
InterWiki ショートカットに利用できる文字はページ名で利用できる文字と同じルールに従います。小文字である必要があります。
InterWiki の設定ファイルのフォーマットは以下のようになります。
<ショートカット> <URL>
上記の「ショートカット」が、設定後にリンク記法の中で利用する文字列となります。上記の「URL」の中では、より柔軟にリンクを行うためいくつかの置換文字列を利用することができます。もし「URL」内に置換文字列が含まれない場合、リンク先としては、設定ファイル内の「URL」の末尾に URL エンコード済みの Wiki ネーム (リンク記法で指定されたページ名) を追加したものが利用されます。利用可能な置換文字列は以下の通りです。
置換文字列 | 置換後 |
---|---|
{URL} | URL エンコードされた Wiki ネーム (置換文字列が指定されなかった場合に URL に追加されるのはこれです) |
{NAME} | 何もエンコードされていない Wiki ネーム |
{SCHEME} | Wiki ネームとして URL が与えられた場合のスキーム部分 |
{HOST} | Wiki ネームとして URL が与えられた場合のホスト部分 |
{PORT} | Wiki ネームとして URL が与えられた場合のポート部分 |
{PATH} | Wiki ネームとして URL が与えられた場合のパス部分 |
{QUERY} | Wiki ネームとして URL が与えられた場合のクエリ部分 |
下から 5 つの置換文字列は、インターネットアーカイブや Google キャッシュなどへの InterWiki リンクを作成する場合に便利です。DokuWiki に添付されている conf/interwiki.conf
ファイルの coral
というショートカットの設定を参照してください。その他の置換文字列の利用法についても、confi/interwiki.conf
ファイルが参考になります。
例えば Ubuntu Team Wiki の “LaptopTestingTeam/ToshibaPortegeM700” という、名前空間とページ名がスラッシュ (/) で区切られたページにリンクする場合、conf/interwiki.local.conf
ファイル内で置換文字列 {NAME}
を使用しないと、リンク先で Not Found エラーが出てしまいます。これはスラッシュが %2F
に URL エンコードされてしまうためです。対処策としては、conf/interwiki.local.conf
ファイルに以下のような {NAME}
を使用した設定を行うこととなります。
ubuntu https://wiki.ubuntu.com/{NAME}
こうしておくと、以下のようにして Ubuntu の Wiki への InterWiki リンクを作成することができます。
[[ubuntu>LaptopTestingTeam/ToshibaPortegeM700|Ubuntu Linux on Toshiba Portege M700 Tablet]]