Create  Edit  Diff  FrontPage  Index  Search  Changes  RSS  Login

kw.rb

概要

キーワードリンクを生成するプラグイン

機能

kw.rbとはKeyWord link generatorの略です。

日記本文中のキーワードをGoogleまたは任意のサイトへのリンクとしてHTMLにレンダリングします。

また、WikiスタイルでInterWikiName相当の利用を行う場合には、Wikiスタイル内部から呼び出されます(こちらの利用法が一般的……になるのかな?)。

利用法

日記本文などに:

 <%= kw 'きーわーど', 'アンカー文字列' %>

といったかたちで記述して利用します。'アンカー文字列'は省略可能なので

 <%= kw 'きーわーど' %>

でも構いません。'アンカー文字列'を省略した場合は'キーワード'が'アンカー文字列'としても利用されます。

Wikiスタイルからの呼び出しについては、WikiスタイルのInterWikiNameの書き方も参照してください。

パラメータにはキーワード、もしくはInterWikiName(コロン(':')で区切り)を渡します。 デフォルトでは、キーワードを検索語としたgoogleへのリンクが生成されます。 たとえば上記の記述はHTMLとしては以下のようにレンダリングされます:

<a href="http://www.google.com/search?ie=euc-jp&amp;q=%A4%AD%A1%BC%A4%EF%A1%BC%A4%C9">アンカー文字列</a>

リンク先を、InterWikiNameライクにコロンで区切って簡潔に指定するためには、tdiary.confに設定が必要です(後述)。

tdiary.confの設定

@options['kw.dic']

kw.rbを利用してInterWikiNameライクな利用を行うには、tdiary.confの@optionsに'kw.dic'というエントリを追加する必要があります。

'kw.dic'には配列を設定します。この配列には要素として、InterWikiNameとして利用するエントリを配列で指定します。

つまり、配列の配列です。慣れていない方には少しわかりにくいかもしれません。例を見たほうが早いと思います:

@options['kw.dic'] = [ ['tDiary-users', 'http://tdiary-users.sourceforge.jp/cgi-bin/wiki.cgi?$1', 'euc-jp'], ['TADA', 'http://www.spc.gr.jp/sho/?$1', 'euc-jp'], ]

上記の設定により、tDiary-usersのWikiとただただしさんのWikiに対してそれぞれ、tDiary-users、TADAというキーでInterWikiNameライクにリンクを生成することが可能になります。いずれのサイトもURLのエンコーディングにはeuc-jpを利用します。

ここまで書けば勘の良いかたは充分設定が可能だとは思います。以下は、配列の配列の要素についても一応説明しますが、蛇足かもしれません。

@options['kw.dic']の配列の配列の要素

内側の配列('['〜']'の範囲)のひとつひとつがInterWikiNameのエントリになります。InterWikiNameのエントリには3つの要素を指定します。順番に:

  • key
  • URL
  • style

となります。順番に説明します。

key
nilまたは、InterWikiNameのキーを文字列で指定します。kw.rbプラグインに渡すパラメータ(キーワード)がARuzQn 'FrontPage'であった場合、このキーはnilであると見なされます。キーワードが'tDiary-users:FrontPage'であった場合、このキーは'tDiary-users'(コロンで区切るよりも前の文字列)であると見なされます。
URL
キーに対応して展開されるURLを記述します。上記の例で言うと、tDiary-usersをkeyとして与えた場合、対応するURLとして 'http://tdiary-users.sourceforge.jp/cgi-bin/wiki.cgi?'が展開されます。設定中の$1 には、kw.rbへパラメータとして渡されたキーワード('tDiary-users:FrontPage'でいえば'FrontPage'の部分)が展開されます。
style
URLのエンコーディングのスタイルを指定します。指定可能なスタイルは、euc-jp, sjis, jisまたはnilです。

まとめ(InterWikiNameライクな利用法)

tdiary.confに上記のような設定を行ったうえで、tdiary-usersのWikiのFrontaPageへのリンクをInteWikiNameライクに生成するためには、本文には:

<%= kw 'tDiary-users:FrontPage' %>

と書きます。この場合、HTMLには以下のようにレンダリングされます:

<a href="http://tdiary-users.sourceforge.jp/cgi-bin/wiki.cgi?FrontPage">tDiary-users:FrontPage</a>
Last modified:2011/07/25 23:27:27
Keyword(s):
References:[PluginList] [Wikiスタイル]