トップ(最新)

nDiki : WRI

WRI - WiKicker Resource Identifier

スポンサード リンク

WRI とは?

WiKickerのページ中でリンクになる文字列のこと。 一般ユーザは細かいところまでは気にしなくてもOK(のはず)。

WRIの種類

WRIは次のように分類できる

 WRI
  +- URI
  |   +- URL
  |   |
  |   +- URN
  |
  +- WRN
      +- QWRN
      |   |
      |   +- RWRN
      |   |
      |   +- UWRN
      |
      +- NQWRN
          |
          +- PWRN
          |
          +- SWRN
  • URI: いわゆるURI(のサブセット)
    • URL: WikiPage に書くと自動的にリンクになる。絶対URL参照のみ。
    • URN: WikiPage に書くと(一部)自動的にリンクになる
  • WRN: (WiKicker Resource Name)
    • QWRN: (Qualified WRN) 'scheme:...' という形式の WRN
    • NQWRN: (Non qualified WRN) スキームを持たない WRN
      • PWRN: (Page reference WRN) WiKicker内の WikiPage への参照となる。いわゆる WikiName もここに入る。
      • SWRN: (Special WRN) ISBN番号など scheme は無いがWiKickerで自動的にリンクになるもの。空WRIもここに分類される。

関連情報

Related term

2004年2月7日 (土)

[ WiKicker ] 複数のキーワード集合による、AutomaticLink このエントリーを含むはてなブックマーク

WiKickerWiki間連携の強化(および開発中の DiKicker との相互連携)のために、 AutomaticLink を実現しているtrieによるキーワード抽出クラスを拡張する。

本来は一つの trie に属性付きでキーワードを登録して lookup するのがよいのだろうが、

  • キーワード集合に優先順位をつけたい (最長でなくても、キーワード集合の優先度の高い方に含まれるキーワードを優先して使用する)。
  • 既存の(単独集合用の)クラスも性能低下させずに維持したい

ということでもっと簡単に実装。 単純に複数の trie を作って、それぞれ順番にキーワード抽出(2番目以降は先のキーワード抽出でマッチしなかった部分文字列に対して適用)するというようにした。 キーワード集合が増えるとどんどん遅くなるが、2つぐらいだったら耐えられるかな。

@ 抽出した語のリンク先

通常の AutomaticLink はその WikiForum 内のページにリンクされるのだが、例えば他のWikiForumWikiName 集合を第2キーワード集合とした場合はその WikiForum 内のページURIに resolve する必要がある。

WiKicker の設定ファイルでどうやって指定するようにするかな。 InterWikiDefinition で定義してある InterWiki にマップするのも手だな。

さらに一歩すすめて、 WRI (WiKicker Resource Identifier) に写像してしまえば InterWiki だけでなく、いろいろ活用の幅が広がるかもしれない。

スポンサード リンク


[ 2月7日全て ]

2004年2月10日 (火)

[ WiKicker ] WiKicker脚注機能追加 このエントリーを含むはてなブックマーク

WiKicker スタイルで日記を記述するにあたり欠けている機能として「脚注」がある。 Wiki としては必須でないので WiKicker には導入していないのだが、日記としては無いと困る。 脚注が使えると文を書く時に正直手を抜ける。 また hns 上の旧記事をコンバートする時にも無いといろいろ面倒だし。

ということで実装。

@ インラインブロック

さてどうしたものか。 WiKickerWRI (BracketName 等を含む識別子)としての実装なら、parser の変更もなく新しいWRI scheme の追加と対応するクラスを書くだけですむ。 しかし WRI は終端記号なので、そうすると脚注の中でWRIを使えなくなる。 それは困る。

ということで、やはり非終端記号が必要。 悩んだあげく、

 {{scheme: ... }}

という「インラインブロック非終端記号」を導入。 {{..}} というのは確かいくつかの WikiEngineプラグイン呼び出しで使っている記法だったような。

  • 一般的な文章中には現れず、
  • かといって文章中に混ぜてもそれほど違和感なく(wiki ではこれが重要)
  • これ以上文法を追加したくないので、今後機能追加の際に利用できるように scheme 指定できる

といった点から、このようにしてみた。 2番目の点で合格点の出せる記法かどうかは微妙だが、まぁ許せる範囲かな。

{{ }} は、1行中に現れる必要有り。 「...」は scheme specific part だが、今のところ scheme によらず、InlineParser で解析されて部分木になるため、WRI とか ... とかも書ける。 InlineParser では正規表現を使っていて括弧の数は数えないので、今のところ {{ }} の中に {{ }} は書けないが、まぁ問題ないでしょう。

@ 脚注記法

脚注は、

 {{fn: ...}}

となる。 普通。

@ 実装

いざ実装してみると、ちょこっとのコードで実現。 脚注番号の降り方とか、今後改良する点はあるけど、大枠は完成。


[ 2月10日全て ]

2005年2月11日 (金)

WiKickerFlickr 関連機能追加 このエントリーを含むはてなブックマーク

WiKicker / DiKickerFlickr 上の画像ファイルを貼れるように WRN scheme を追加。 Flickr では

 画像ファイルURL:
    http://photos番号.flickr.com/画像ID_文字列(_サイズ).jpg
 画像ページURL:
   http://www.flickr.com/photos/アカウントエイリアス/画像ID/

となるようだ。画像サーバ名と文字列部分の割り当ては推測できないので、画像ファイルURLは直接指定する他ないか。 後はアカウントエイリアスを指定すれば2つのURLが生成できる。 幸いアカウントエイリアスは : を含まない ([a-zA-Z0-9_-]+?)。

以上から WikiPage の中では

  [[flickr:アカウントエイリアス:画像ファイルURL]]

のように指定できるようしてみた。 www.flickr.com はレスポンスが悪いのだが画像サーバ自体のレスポンスは良いようで、試しに nDiki に貼ってみたが特に問題はないようだ。

@ 画像からのリンク

WiKicker では YukiWiki を真似て WikiPage に貼ったインライン画像はその画像URLにリンクするようにしていたのだが、今回やめることにした。

Flickr や ASIN リンクのようにリンク先が決定できる時のみリンクにするようにする。 以前から、バナーを貼る時などのために「画像URLとリンク先URLの両方」を指定できるようにしたいのだが、いい記法が思い浮かばないのでいままでずっと実装しないままになっている。 何かうまいWRIを考えたい。


[ 2月11日全て ]

2005年10月10日 (月)

[ WiKicker ] WRI まわりの整理 このエントリーを含むはてなブックマーク

WRIに関して、private method、protected method がごちゃごちゃしてわかりにくくなってきたので整理。

今まではプライベートメソッドも、プロテクトメソッドも

 _private_method

のようにアンダースコアをつけていたのだがこれだと区別しにくい。 プライベートメソッドについては、

 __private_method

のように、__ を前置するようにした。 区別は容易になるが、コードが繁雑になるのが問題。


[ 命名規則 ]


[ 10月10日全て ]

スポンサード リンク

■よく検索されるキーワード

perl(62) torrent(54) linux(48) 提案書(47) windows(43) 書き方(41) 使い方(29) アジェンダ(26) x31(25) 充電式カイロ(25) cvs(22) インストール(20) サンプル(20) thinkpad(19) アジェンダとは(19) f-01a(18) wiki(17) c#(16) 感想(16) カイロ(16) usb(16) java(16) 秋葉原(15) debian(15) ヨドバシカメラ(15) subversion(15) 壁紙(15) 作り方(15) 静電気(14) apache(14) グッズ(14) デロンギ(13) フリー(13) sh-01a(13) ganttproject(13) 修理(13) ssh(12) svn(12) ヨドバシ(12) truecrypt(12) ダイソー(11) 手帳(11) activeperl(11) ubuntu(11) ほぼ日手帳(11) firefox(10) mew(10) mp980(10) ドラマ(10) 日本語(10) n-01a(10) google(10) tc-1(10) 評判(10) ツール(10) djunit(9) cgi(9) 動画(9) mp3(9) オイルヒーター(9) docomo(9) rcs(9) 除去(9) centos(9) メモリ(9) エネループ(9) 設定(9) p-01a(9) tortoisesvn(9) 無印(8) ケース(8) 口コミ(8) ミノルタ(8) メール(8) インストーラ(8) 会議(8) xampp(8) 加湿器(8) af(7) 値段(7)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 15.08945s / load averages: 0.09, 0.13, 0.14
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)