2001-12-20(木) 8600歩 [長年日記]
■ 本日のハンティング
Hysteric Programmer 日記を捕獲しました(133)。爆発しますかねぇ。あんまり増えるとアンテナの負荷が……(笑)。
■ マウスがトロい(4)
$!なんて……また新事実だ。shやbashのmanには載ってないんだけど、どこ見ればいいんだろう……。いずれにしても、ちゃんと動いてるみたいっす。ありがとうございました。
ツッコミの件は、空のaction
をカレントディレクトリと認識するブラウザなら動くようですね。
■ おお、Special Parameter。見つかりました。なるほど、深いな。$?
なんかは(よく知らずに)使ってたこともあるんだけどな。その仲間だったのか。
■ 弁当屋受難
いつも会社の前に群がっている弁当屋の集団が、今日、いっせいに摘発(?)されたらしい。まぁ、道路占有許可をとらずに歩道で商売していたのはたしかに違法だ。
しかし、だ。なにも、昼休みの直前にやるこたぁないんじゃないの、警察さんよ。庶民の昼食を奪って嬉しいか。あんたら、誰のために働いてんのか、きっちり考えてから動けよな。公務員だって顧客志向だろ、これからは。
というわけで、今日はちゃんと許可をとって営業しているぐっでぃのカレー。明日からは戻ってきてくれないと毎日カレーになってしまう。困る。困るぞ。
■ tDiary
スナップショットを1.3.1.20011220に。夕べと休み時間の成果。詳しくはChangeLogを参照してもらうとして(ちなみにCHANGES→ChengeLogにファイル名変更)、プラグインまわりの整備がメイン。まだ仕様が固まってないのでスナップショットで。なんだか、どんどん重いシステムになっているような気がする(きっと気のせい)。
■ まず、プラグイン内で@diaries
が見えるようになった。zoeさんトコでツッコミランク・プラグインがうまくいっていなかったのは、プラグインの初期化のタイミングを(おれが)間違えていたため。最後のeRuby解釈の直前で初期化するようになったので、こんどは大丈夫。でも、@comment_limit
は見えないから、「100」とでもしてしまった方がよいですよ。
■ 次に、複数の日記を同一マシンで動かしている人の負担を軽減。シンボリックリンクするファイルを、index.rbとupdate.rbだけにして、残りはリンクを遡って元のインストールディレクトリから探すようにした。あとはtdiary.confを個々の日記別に作ればいいので、メンテがだいぶ楽になったかと。
ところが、唯一テーマだけが対応できない。なぜなら、CSSファイル名を埋め込む時に、元ファイルからの相対パスになってしまうため。header.rhtml内に実際のURLを渡せれば解決するのだが……あ、プラグインで実現できるじゃん!! ということで、theme_url
というプラグインを実装。ここでテーマの入ったURLを指定すれば良い。
■ この考え方を拡張すると、現在rhtmlファイルに埋め込んであるメッセージは、すべてプラグインで変更可能にできるってことになる。つーわけで、「本日のリンク元」とか「本日のツッコミ」などの文字列をすべてプラグインに追い出す。これを推し進めれば、国際化も可能である。もっとも、rhtmlファイルの可読性はさらに低下した模様。
■ さらにプラグインを追加。title_list
は、現在表示している月のタイトル一覧を生成するもの。これはトライアルなので、今後仕様が変わる可能性大。試しにここにいれてみたけど。重いかもね。レイアウトもかなり制限されるし。
■ tDiaryその他
Content-Length、そうか、XREAは自動的に広告挿入するんだもんね。あれ、じゃあGETの場合はちゃんと再計算してくれてるの?
あと更新ページからのリンクは、自分の日記本文中のリンクを更新完了時にたどってしまった、という話だと思われ。タグを無効にでもしない限りこれは防げないのではないかな。つーか、そういうミスがあるからこそ捕獲できた日記も少なくないので、おれ的にはOK(笑)。
■ ビッグニュース
新横浜のSuica対応改札が4台になりました!!
kill $!では。
ツッコミ自体は別になんともなくできましたが。
$!は man bashの "Special Parameters"(jmanなら 特殊パラメータ)の項ですな。
!として載っているので、$!で検索しても見つからぬ曲者なり。(悩まされた経験あり(X_X)
あれ??いつのまにやらあっぷしてる。。
Pluginの中で先月の@diariesにアクセスできないものでしょうか?
そうすれば先月分にさかのぼってtitle_listが生成できます.
実は,眠い頭でいろいろ考えて,TDiary::transactionをpublicにして,Plugin::newに'parent' => selfを渡し,pluginの中で@parent.transactionを使って先月分にアクセスしようとしたんですが,なんだかうまくいきませんでした.
Hysteric Programmer日記管理人です。捕獲してくださりありがとうございます。
きっと爆発しますよ。こうやって日記どおしやりとりできるのは面白いですから。
開発の速度も速いですし、感謝しております。
ぬぬ、たださんって横浜方面の方なのねん。