2002-03-08(金) 10915歩 [長年日記]
■ tDiary: その場ツッコミプラグイン
うちのくわに、ツッコミ用フォームを日毎ページじゃなくて最新ページに出したいという要望を受けた。ヤツの日記では今、手動で埋め込んでいるようだが、これは実はプラグインで可能だ。body_leave_procを使う。
というわけで、speed_comment.rbとしてcvsに突っ込んでおいた。邪魔にならないようにメール欄を省いて、本文欄も1行に制限してある。
ちなみに要望した本人はtDiary.Netユーザなのでこれを使うことはできないんだけど(笑)、実はtDiary.Netユーザにも抜け道がある。ヘッダに直接、プラグインのコードを埋め込んでしまう方法だ。プラグインは単にeRubyを解釈しているだけなので、ヘッダ中に「<% 〜 %>」で囲めばその中にRubyのコードが書ける。もちろんセキュリティ的な制限はかかるけど。
body_enter_procやbody_leave_procのような本文に影響のあるコールバック系プラグインはなかなか共有して使うのが難しいが、こうやって自分だけで使うことも可能なのである。
■ 上で大うそ書いてしまったので訂正。
まず、tDiary.NetのtDiaryはまだ1.3.3.20020212なので、body_leave_procは実装されていませんでした。てへ。すまぬ。
さらに、たとえ最新版でも、セキュアモードではadd_body_leave_proc自身が呼び出せないので、ヘッダ中に何か定義しようとするとエラーになってしまうのでした。キビシーなー、$SAFE = 4は。
というわけで、tDiary.Netではほとんど何もできないのではないかと。メソッドの定義もできないし。
■ tDiary 1.3.4
というわけで、1.3.4リリース。1.4RC1になります。1.3.3からの変更点は以下のとおり。
- 基本セットとテーマ集、プラグイン集を分離。フルセットパッケージも作成
- クロスサイトスクリプティング脆弱性への対応
- ツッコミメールのSubjectに投稿者の名前を追加
- ツッコミメール送信部分を差し替え可能に
- コールバック系プラグインを増やした
- プラグインから使えるインスタンス変数を増やした
- mod_rewrite対応で自由なURLを生成可能に
- ドキュメントを大幅加筆
- などなど。詳しくはchengeLog参照
あ、ついに捕獲されちゃった。
って、いつまで潜伏し続けていられるか挑戦していた訳ではございません。
...ほんとです。
以後お見知りおきを。
...よく見たら本日のリンク元にうちのプライベートのドメイン名が表示されちゃってる!
これは直しておかねば。
失礼いたしました。
add_body_leave_proc、結局ダメでした(というか、hogehogeすら出ない)。なので、ヘッダにフォームを記述、@diariesから最新の日記の日付だけを埋め込んで、最新の日記だけ直接ツッコミ可能にしました。
そうか、そんな裏ワザがあったとは => Erbタグ埋め込み。
後で試してみよう。制限はIO関連とかかな。(コード読めって)
はじめまして。tDiarynetでお借りしてます。(マンナズ・メモ)当方までツッコミわざわざありがとうございます。
ヘッダ流し込みで実装できれば嬉しいと試してみたんですがやはりこれではだめだったんですね。うーん、残念…。