"linkr" Plugin - へっぽこPukiWikiプラグイン by takayan

"linkr"プラグインについて。

 PukiWiki標準機能での他リソースへのリンクは、 [[リンク名:URL]] または [[アライアス名>URL]] といった形で、URL指定は http:// などから始める必要があります。しかし、実際に自サイト内の別の場所に関連コンテンツを置いているような場合、フルパス指定は面倒ですし、その上オフラインのとき、ローカルのバックアップ上のリソースにリンクできない……といった難点があります。
 そこで、この"linkr"プラグインの出番です。このプラグインを使うと、相対パスでリソースのアドレスを指定できますので、これらの問題を解決することができます。それと「おまけ」で(というより通常のリンク機能でできることはできるように、という配慮から)、リンク名またはアライアス名のかわりに、標準の"ref"プラグイン、またはへっぽこ"imgr"プラグインの出力(すなわち「イメージ」)を利用することもできるようにしました。
また、v1.01では、リンク名またはアライアス名のかわりに、へっぽこ"sizex"プラグインなど、<span>タグを出力するプラグインを指定して、文字サイズを変えたり、強調したりもできるようになりました。
 さらに、パラメーターの設定によっては、デッドリンクになる場合に、

……といったオプションの中から、好きな対応方法を選ぶことも出来ます。リンク先の拡張子の制限もできます。

更新履歴

2013/09/08 v2.01, v1.02
.shtm ならびに .htm にリンクできない問題を修正。
2006/07/06 v2.00
XHTMLでは文法上“target="_blank"”指定が正しくないため、onclick=パラメーターによる代替案を適用。
2006/01/28 v1.01
プラグインによる文字装飾もリンクのベースに指定できるよう拡張。
2005/12/19 v1.00
初版

パラメーターの指定方法について。

 ファイル名の指定方法にちょっとクセがありますので、注意してください。
 このプラグインのパラメーター指定方法は、以下の通りです。

 &linkr(ファイル名=相対パス表記[,_blank][,リンク名/アライアス名])
  [{標準&refプラグイン、へっぽこ&imgrプラグイン、
  またはへっぽこ&sizexプラグインなど<span>タグを出力するプラグイン の呼び出し}];
  ※「リンク名/アライアス名」と、
 「&ref・&imgr、または&sizexなど<span>タグを出力するプラグインの呼び出し」は、
 いずれか一方必須。二つともにあっても可(後者が優先されます)。
  ※ "{ }"なし、"&linkr(パラメーター);"形式での呼び出しも有効です。

 パラメーターの説明。

1. ファイル名=相対パス表記
 ファイル名は、相対パスで指定します。ただし、頭に"../"または"./"がついている必要があります。これらがないと、エラーとして受け付けません。
 ファイル名指定パラメーターに入れることができる文字は、半角英字(大文字・小文字)、半角数字のほか、半角記号の"="(イコール記号)、"#"(シャープ記号)、"&"(アンパーサント)、"%"(パーセント記号)、その他URIに含めることが認められている文字(ただし","[カンマ]と"~"[チルダ]は除く:" $ ! * ' ( ) ; : @ + ")です。
【注意】ファイル名にブランクやダブルバイト文字などが含まれる場合は、"%20"(半角ブランクの場合)などとエンコードして記述 してください。ただし、この場合、 ファイルの存在チェックはできません ので、 定数 'PLUGIN_IMGR_FILE_CHECK' を '0' としてください。

 ……すなわち、以下のようなディレクトリ構造のサイトがあるとした場合、

[(ルート・ディレクトリ)]
  |
  +--[related]
  |    |
  |    +-- special.html
  |
  +--[PukiWiki](PukiWikiの各種iniファイルがはいっているディレクトリ)
       |
       +-- index.rdf
       |
       +-- [secret]
       |     |
       |     +-- secret.cgi
       |
       +-- [plugin]
             |
             +-- linkr.inc.php (ここに設置します)

 special.html を参照する場合には、

&linkr(../related/special.html, ... );

 index.rdf を参照する場合には、

&linkr(./index.rdf, ... );

 secret.cgi を参照する場合には、

&linkr(./secret/secret.cgi, ... );

 などとそれぞれ指定すると、正しくリンクが生成されます。
 なお、&linkrプラグインは「インライン」専用です。「ブロック」(#linkr)では動きませんのでご注意ください。

2. _blank
このパラメーターの指定は完全に任意です。このパラメーターを指定することで、リンクをクリックしたとき、新しいウインドウ(ブラウザの設定によっては新しいタブ)にリンク先のリソースを表示させることができます。
※【2006/07/06追記】このパラメーターの表示方法をv2.00からXHTMLの文法に沿ったかたちに変更しました。ただし、この方法はJavaScriptを有効にしておく必要があるので、JavaScriptは無効にしたいか、それともXHTMLの文法上の正しさを重視したいか、各自の優先順位に従って、最新バージョンまたはひとつ前のバージョンのどちらを導入するかを決めてください。
3. リンク名/アライアス名
このパラメーターも任意指定ですが、このあとの &ref または &imgr プラグインとの組み合わせで、少なくともどちらかは指定しなければなりません(理由ですか? どちらもないなら、どうやってリンクさせましょう?)。お好きな文字列をどうぞ。

 ここまでの3つのパラメーターは、( ) 内にカンマ(",")で区切って指定します。最後のパラメーターは、( ) を閉じたあと、{ } 内に記述することに注意してください(指定するプラグインが確実に動作するようにするためです!)。

4. &ref・ &imgr プラグイン、または&sizexプラグインなど<span>タグを出力するプラグイン 呼び出し
【&ref・ &imgr プラグイン】 イメージを“リンクボタン”として使用するために、イメージ・ファイルを標準プラグイン "&ref" または へっぽこプラグイン "&imgr" を用いて指定します。これらのプラグイン呼び出しにおいては、 "nolink" パラメーターを忘れずに指定 してください("nolink" パラメーターなしで使用した場合、エラーとなります)。
【&sizexプラグインなど<span>タグを出力するプラグイン】 リンクのベースとなる文字列に何らかの強調をしたい場合、へっぽこ&sizexプラグインなど<span>タグを出力するプラグインの{ }内のパラメーターに文字列を指定します。
※さきほどの「リンク名/アライアス名」と両方を指定した場合は、最終出力において、このパラメーター(プラグインによるリンクボタン指定)が優先されます。
#こんなこともできます:リンクのベースとなる文字列に太字装飾だけしたい場合
&linkr((ファイル名)[,_blank]){&sizex(3){''(任意の文字列)''};};
※(3)はsmallサイズ、ブラウザでのフォントサイズ無指定時の通常出力サイズ−Firefoxは(4):mediumかも?−:斜体も同様に。

モジュール内で設定可能な項目について。

このモジュールには、ユーザーが設定可能ないくつかの設定項目があります。次にこれらについて説明します。

1. PLUGIN_LINKR_FILE_CHECK
この定数は、第一パラメーターとしてはいってきたファイルが、サーバー領域(あるいはローカルホスト)内に存在するかどうかのチェックの有無を指定します。初期設定は1(チェックする)になっています。0(チェックしない)にすることもできますが、指定を間違えるとデッドリンクが設定されることになりますので、注意してください。
2. PLUGIN_LINKR_NOFILE_RETURN
この定数は、1. で「チェックする」こととした場合、ファイルが存在しなかったときに、エラーメッセージを返すか、リンク名/アライアス名または“リンクボタン画像”のみを返すかを指定します。初期設定は0(リンク名/アライアス名または“リンクボタン画像”のみを返す)にしています。エラーメッセージを表示させたい方は 1 に変えてください。
3. PLUGIN_LINKR_TITLE_ONLY
この定数は、2. で「リンク名/アライアス名または“リンクボタン画像”のみを返す」を指定した場合、別途リンクできなかったことを識別するために使用する文字(列)を指定します。実際にエラーとなった場合、名前またはイメージの*前後*に、ここで指定した同じ文字(列)が付け加えられます。例えば、リンク名が「リンク」であった場合、画面に表示される内容(戻り値)は "*リンク*" となります。初期設定は "*"(半角アスタリスク)となっていますが、好きな文字(列)を指定することも、null値にすることも可能です。
4. PLUGIN_LINKR_SUFFIX_CHECK
この定数は、ファイル名の「拡張子」を限定させるためのチェックを行うかどうかを指定します。初期設定は1(チェックする)になっています。一般的には、".js" (JavaScriptファイル)などによる攻撃を防ぐため、初期設定のままにしておくことをお勧めいたします。
5. PLUGIN_LINKR_SUFFIX
この定数は、4. で「チェックする」こととした場合、拡張子の制限内容を正規表現で記述します。初期設定は "shtm(l), htm(l), cgi, php, rb, hdml, rdf, rss, xml, css, txt" としています。これ以外の拡張子のファイルを呼び出すとか、スクリプトは制限したいとか、各自の要求内容に沿って、カスタマイズしてください。
※なお、当サイトならびにへっぽこPukiWikiプラグインの制作者は、正規表現の書き方についてのお問い合わせにはお答えしておりませんので、ご了承ください。むしろ、数ある正規表現について書かれているサイトや本を見たほうが、よほど効率的です。

ライセンスと保証について。

 この改造プラグインはフリーソフトウェアであり、ライセンスは、PukiWiki本体と同様、GNU GPL(一般公衆利用許諾契約書)[原文(英文)][非公式日本語訳]が適用されます。

 この改造プラグインは"AS IS"、すなわち現存のままの状態で配布され、無保証です。自己責任にて使用してください。

設置方法について。

 標準プラグイン同様、linkr.inc.phpを、PukiWikiのpluginサブディレクトリにアップロードしてください。パーミッションも他のプラグインと同じにします。ほかのファイルはアップロード不要です。

ダウンロードはこちらから。

最新バージョン(JavaScript:onclick=使用)はこちら。

 "linkr"プラグイン(zip圧縮)
 "linkr"プラグイン(tar.gz圧縮)


ひとつ前のバージョン(target=使用)はこちら。

 "linkr"プラグインv1.02(zip圧縮)
 "linkr"プラグインv1.02(tar.gz圧縮)

問い合わせ先について。

この改造プラグインに関するお問い合わせはメールにてtakayan@s41.xrea.comまで(@は半角にしてください)。



へっぽこPukiWikiプラグイン by takayan - トップ に戻る

(最終更新日:2013-09-08 12:29:20)