Posted by yatsu Wed, 20 Jul 2005 16:16:00 GMT
Ruby on Rails を使って TiddlyWiki をカスタマイズしたもの。しかもAjax。 TiddlyWikiの機能を LesserWiki よりも忠実に継承している。
Posted by yatsu Wed, 20 Jul 2005 16:16:00 GMT
Ruby on Rails を使って TiddlyWiki をカスタマイズしたもの。しかもAjax。 TiddlyWikiの機能を LesserWiki よりも忠実に継承している。
Posted by yatsu Sun, 17 Jul 2005 19:21:00 GMT
LesserWiki に検索機能を実装した。といっても、まだまだショボイ。 将来的には、検索中表示と検索文字のハイライトが必要。
Posted by yatsu Wed, 13 Jul 2005 03:02:00 GMT
LesserWiki の書き込み競合チェック+カラーdiff表示機能をkyoraさんに直してもらった(壊してごめんなさい)ので、複数人同時編集も問題なくなった。
当初は考えていなかったが、自動リンクのON/OFFをTiddlerごとに切り替えられるようにした。これで一般的すぎるタイトルのTiddlerへの自動リンクを無効にすることができる。こうしておかないと、「の」とか「が」といったタイトルのTiddler(そんなもの作らないだろうが)が作られたときに、大変なことになってしまう。
PostgreSQLのテーブル定義を作成しテストしてみたが、まったく問題なく動作した。あとはSQLiteでも確認しておく必要がある。
そろそろ重い腰を上げて検索機能を作らなければいけないが、このへんで開発ペースを少し落とそうと思う。というのは、開発以外にやりたいことが山積みになってしまったからだ。とくにリリースを待っている人もいないので、29日あたりにリリースすることを目標とする。
Posted by yatsu Tue, 12 Jul 2005 02:25:00 GMT
LesserWiki にエイリアス機能を実装した。 Tiddlerのタイトルに別名をつけることができるようになった。 もちろんエイリアスも自動リンクされる。 これは僕にとってはどうしても必要な機能だった。 たとえば、「ウォルター・リップマン」というTiddlerに「Walter Lippmann」というエイリアスを付けておけば、日本語表記でも英語表記でも同じTiddlerにリンクできる。
Posted by yatsu Sat, 09 Jul 2005 01:53:00 GMT
予想どおりまったく反応がなかった LesserWiki だが、 気にせず開発を続ける(こんなきれいな落書き帳、見たことない!)。
しかし今日はほとんど進んでいない。
Logというクラスを作ったのだが、WEBrickで動作させるとWEBrick::Logと間違って認識されてしまうらしい。 モジュールを作って回避した。
逆リンク機能を実装しようとしたが、どうしても最初の閲覧で1秒くらいの時間がかかってしまうため、この機能は削ることにした。 LesserWikiでは@[[ ]]@で囲われていないTiddlerタイトルもリンクするため、実際にレンダリングしてみないと、参照されているか判断できない。「Ruby on Rails」という内容でDBに保存されていたら「Ruby」というTiddlerへの参照があるように見えるけれど、「Ruby on Rails」というTiddlerがあった場合、そちらが参照されるため、「Ruby」への参照はない。 また、レンダリングするにはすべてのTiddlerのタイトルをマッチングするので、どうしても処理が重くなってしまう。0.5秒以下にできれば採用したが、30件登録時にだいたい1秒くらいかかってしまった(キャッシュを使用しているので2回目以降は0.02秒以下)。 レンダリングされた結果をDBに保存しておいたり、キャッシュファイルを使う方法もないわけではないが、そこまでして必要な機能だとは思っていない。
Rubyで配列やハッシュの複雑な操作をすると、すぐに処理が遅くなってしまうので、注意しなければならない。 たいていはDBからデータを取り直してしまった方が速い。
Posted by yatsu Fri, 08 Jul 2005 03:35:00 GMT
livedoor Wiki が公開されましたね! 僕もひとつ作ってみましたよ。
→ http://wiki.livedoor.jp/yatsu1/ (中身ないけど)
誰でも簡単にWikiが作れて便利そう。
ところで、僕はコラボレーションツールとしてでなく、個人的なメモツールとしてもWikiを使っているのですが、既存のWikiに飽き足りず、自分でWikiを開発することにしました。
飽き足りないと言っているわりに TiddlyWiki にそっくり、というか、TiddlyWiki未満のように見えます(笑)
TiddlyWikiといちばん違うのは、あらかじめ全部のTiddlerを読み込んでおくのではなく、毎回Ajax通信で読み込み・書き込みをしているところです。
JavaScriptはかなり使っていますが、RubyでできるところはRubyで書くようにしたので、(僕にとって)コードがかなりいじりやすくなりました。 これからいろいろ機能を追加していく予定です。
ソースは置いておきますが、近日中にDB構造(ええ、不本意ながらDBを使っています)を変更するので、将来データの移行がめんどうになるかもしれません。 ローカルに入れて個人的に使うことはどうにかできますが、たくさんの人が書き込めるところに設置するのはまだやめておいたほうが無難だと思います。 以上、試したい人がいれば、の話でした。