blosxomでtagging #5
taggingプラグインをアップデート。約束通り、ajax(もどき)でタグを絞り込めるように改造。xmlHttpRequestに対応しているブラウザであれば、find tagフォームに文字を入れると、前方一致でダイナミックにタグが絞り込まれる様を見ることができます。対応していないブラウザでも、文字を入れてEnterを押せば同様にタグの絞込みができます。download: taggingプラグイン
もちろん、xmlHttpRequestによる検索はこのプラグインだけでなく、Javascriptも必要です。Javascriptのコードについては、このサイトのソースをご参照下さい。
これで大体欲しい機能は実装できたので、後はいじるとすると、バグフィックスとかパフォーマンス改善とか、その辺りかな。yuuさんからコメントでStorableモジュールを使わないで済むコードを頂いたのですが、こちらのコードに取り込むのはやめにしました。理由は、
- Storableモジュールはperl5.8では標準で入ってるらしい。いまどき5.8が使えない環境は少ないだろう。
- 今後キャッシュデータが増えたり、データ構造を変えたりするかもしれないので、その度にシリアライズルーチンを変更するのも面倒。それならば汎用的なシリアライザを使ったほうが良いだろう。
といったところです。yuuさん、せっかく頂いたのに申し訳ありません。
ちゃんとドキュメントつくらないとなぁ…
blosxomでtagging #4
taggingプラグインをアップデート。現在自分がいるカテゴリ内のエントリにあるタグだけを表示できる様にしてみました。カテゴリ移動時に左のtagsメニューにご注目頂ければ、どんな動作かおわかりになるかと思います。download: taggingプラグイン
カテゴリ名の表示には、hail2u.net kyoさんのcategoriesプラグインを更に改造したものを使わせて頂いております。
次の目標。タグが増えてくると目的のタグを探すのがつらくなるので、タグの絞込みができるフォームをつける。もちろん、Javascript + xmlHttpRequest + DOMを利用して、文字入力するたびにダイナミックに候補が絞り込まれていく様にする。(前も違う言葉で同じようなこと言ってた気がするけど...)
blosxom + Rast #0
blosxomのエントリをRastで検索できるようなプラグインを作ろうと思い、Rastのperlバインディングを書かなきゃいけないなぁ、めんどくさいなぁ、と思っていたところ、既にYappoさんが作成されていました。非常にありがたいです。XSモジュール書いたことないし、Cもしばらく触っていなかったので、自分でちゃんとしたモジュール作る自信がなかったので。ありがたく使わせて頂きます。
blosxomでtagging #3
taggingプラグインをアップデート。タグとファイルを関連付けるキャッシュを生成するようにして、パフォーマンスを向上。download: taggingプラグイン
QUERY_STRINGやPOSTパラメータで、recache_tags=1を指定すれば、キャッシュを再作成します。
手を抜くためにStorableモジュールを使ってます。なので、使える環境が限られてしまいます。ごめんなさい。(って、使ってくれる人がいれば、だけど。)
次の目標は、タグの検索インターフェースにajaxを利用して、使いやすいものを目指してみる。
blosxomでtagging #1
blosxomでtaggingに対応するプラグインを書いてみました。使い方とか全然書いてないし、まだ作りかけなのですが、置いておきます。taggingプラグイン
タグづけはmeta pluginを利用して、entryファイルのタイトルの次の行に、「meta-tags: tag1, tag2, tag3, ...」といった形で記述します。
$tagging::listで、このサイトのサイドにあるように、タグの一覧と出現回数をリストします。今はこれだけです。今後、タグごとにエントリを表示したり検索したり、といったことができるようにしようと思います。
このプラグインを作ろうと思ったきっかけですが、流行に追随した、ってのもあるのですが、カテゴリによる分類だけだと、どうしても後からカテゴリを見直し/変更したくなり、変更してしまうとpermalinkが変わってしまって、全然permanentじゃなくなる、という問題があるので、カテゴリは後から見直す必要がない様におおざっぱな分類にして、細かな分類はタグで行うのがいいかな、と思ったからです。
blosxomでtagging #2
taggingプラグインをアップデート。タグで絞り込んで表示することができるようになりました。ファイルはここ。taggingプラグイン
サイドメニューのタグリストで、各タグ毎のリンクを表示してます。
QUERY_STRINGやPOSTパラメータで、tag=tag1,tag2,...と指定することにより複数タグでの絞込みができます。(ANDで絞込み。)
でも、毎回エントリファイルの中を見てタグとマッチするか調べる、ってことをやるので、ファイルが増えるととんでもないことになるなぁ…何か方法考えなきゃ。タグとファイルを対応付けるインデックスファイルをキャッシュとして作成する、って感じかな。キャッシュは任意のタイミングで更新できるようにして。
blosxom 3.0+3iのTag.pmを参考にしようかと思ったら、ファイル名にタグを入れちゃってるから、あんまり美しくないしなぁ…
bloglines mobile gateway
こちらもちらほらとアクセスがあるので、リンクしておく。http://mizzy.org/web/bloglines.xhtml
バージョンが0.02とか0.03で止まってますが、自分で使う分には十分なので、これ以上の更新はないかも。もちろん、ご要望があればできる限りの対応はさせて頂きます。
ついでに、Ck2 Bloggerのきゃーさんがこのgatewayを「素敵」とおっしゃってくださったので、トラックバックしてみる。blosxomのカスタマイズにあたって有用な情報がたくさんあり、かなり参考になったので感謝の意も込めて。
shelf.mizzy.org
本棚.orgやブクログを見て、「俺だったらこんな風につくるなぁ」という思いを形にしてみたのがこれ。
一般公開は考えてはいるものの、今のマシンリソースでは厳しいので、要望があれば考える、という感じです。一般公開するにしても、知り合いだけの閉じた空間は大切にしたいので、今あるものとは別にすると思う。
これを作るにあたって、はじめてフレームワークなるものを使いました。sledgeです。今までオブジェクト指向には興味なかったのですが、フレームワーク自体がOOなため、OOを意識してプログラムを書く必要があるわけですが、実際使ってみるとすげー便利。俺のプログラミングスタイルががらっと変わりました。OO万歳。
もちろんフレームワークも超便利。もうフレームワークなしではCGIプログラミングできません。ただ、sledgeはレンタルサーバ環境などではまず使えないので、CGI::Applicationもよく使ってます。
ajaxなウェブメールを作る #1
ilohamil, IMP, SquirrelMail, ActiveMailと気分次第で使うものを変えているのですが、決定的にこれがいい、というものがないわけですよ。(だからこそ気分次第、なのですが。)
まあ、ウェブメールなんだからしゃあないか、と妥協していたのですが、gmailが教えてくれました。ウェブメールでもJavaScriptをうまく使えば使い勝手がいいものが作れる、と。
そこで、自分で作ってみようということになり、現在ちまちま作っております。目標としては、普段使っているのがWanderlustなので、それに使い勝手が近いものを作ろう、と考えています。以下の様なコンセプトで。
- 画面遷移しない。
- 3ペイン表示。
- キーボードのみで操作可能。ショートカットはWanderlust風。
- メッセージを先読みして待ち時間を少なく。
まだ全然このコンセプト通りにはなってませんが、とりあえずメールが読める、という状態にはなってます。近いうちに動作デモを公開予定。