« ロールオーバーというテクニック【グラフィック】 | トップページ | 餃子の王民王民(みんみん)中野 »

2004.10.06

TiddlyWikiで日本語WikiNameが通ずる

先日紹介したTiddlyWiki どうやら日本語WikiNameを通るようにした人がいる。[日本語WikiName]のように表記する。外出前なので、本日はここまで。

OgreKit Wiki - some about a regular expression framework

OgreKit WikiはOgreKitに関する知識をまとめたデータベースです。構築にはObjective-C言語のシンタックスカラーリング等を行えるようにカスタマイズしたTiddlyWikiを使用しています。日本語WikiNameも使用できるようにしてみました。

« ロールオーバーというテクニック【グラフィック】 | トップページ | 餃子の王民王民(みんみん)中野 »

「Wiki」カテゴリの記事

コメント

→園部様
丁寧なコメントありがとうございます。午前中に、エディタ開いて、2つ左右に表示してそれらしい差分を移植して現在日本語WikiNameが使えるようになりました。
事項紹介、取り扱い説明書なんかに使えそうで便利ですね。結果は@nifty知的生産の技術フォーラムでも紹介させていただきました。おかげで有意義な週末になりました。

Ebisu様、長文失礼いたします。
日本語WikiNameを使用するために変更した箇所は関数wikify()のみです。
wikify()を以下のものと置き換えれば動くはずです。(MacのSafariとWindowsのIE6で動作確認済みです。)
昨日、リスト等も使えるように更に改良したのですがWindowsのIE6ではちゃんと動かないようです。
なにやら改行コードが無視されてしまうようで。ううむ…。

function wikify(text,parent)
{
// Link patterns
var upperLetter = "[A-Z]";
var lowerLetter = "[a-z]";
var anyLetter = "[A-Za-z_0-9]";
var linkPattern = upperLetter + "+" + lowerLetter + "+" + upperLetter + anyLetter + "*";
var urlPattern = "(?:http|https|mailto|ftp):\\S*";
var breakPattern = "\\n";
var explicitTiddlyLinkPattern = "\\[\\[([^\\]]+)\\]\\]";
// Create the RegExp object
var theRegExp = new RegExp("(" + linkPattern + ")|(" + urlPattern + ")|(" + breakPattern + ")|(?:" + explicitTiddlyLinkPattern + ")","mg");
// Set the position after the last match
var lastMatch = 0;
// Loop through the bits of the body text
do {
// Get the next match
var theMatch = theRegExp.exec(text);
if(theMatch)
{
// If so, dump out any text before the link
if(theMatch.index > lastMatch)
parent.appendChild(document.createTextNode(text.substring(lastMatch,theMatch.index)));
lastMatch = theRegExp.lastIndex;
// Dump out the link itself in the appropriate format
if(theMatch[1])
createTiddlyLink(parent,theMatch[0],true);
else if(theMatch[2])
createExternalLink(parent,theMatch[0]);
else if(theMatch[3])
parent.appendChild(document.createElement("br"));
else if(theMatch[4])
createTiddlyLink(parent,theMatch[4],true);
}
else
{
// If no match, just dump out the remaining text
parent.appendChild(document.createTextNode(text.substring(lastMatch)));
}
} while(theMatch != null);
}

→園部様
コメントありがとうございます。うまくいかないのは、私の議場不足でして、貴兄のWikiに起因することではありません。

日本語WikiNameを私の tiddlyWIKIに移植しようとしましたが、当該部分がわからず時間をかけてみようと思っています。簡単ですが、補足方。
 

はじめまして。園部と申します。OgreKit Wikiのご紹介ありがとうございます。
うまくかないとのことですが、どの辺でうまくいかないのですか?

自分なりに利用しようとしましたがうまくいきません。
もうしばらく世間の動きをウォッチします。-なさけな!!-

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/1205/1605960

この記事へのトラックバック一覧です: TiddlyWikiで日本語WikiNameが通ずる:

» 祝!!EbisuTiddlyWikiが日本語WikiNameに対応 [Ebisu]
OgreKit Wikiの作者、園部様からコメントをいただき、EbisuTidd [続きを読む]

« ロールオーバーというテクニック【グラフィック】 | トップページ | 餃子の王民王民(みんみん)中野 »

GoogleAdSense

スポンサーから一言

Podcast

  • AudioBoom

最近のトラックバック

無料ブログはココログ