トップ 最新

ただのにっき

2002-01-25(金) 8534歩 [長年日記]

tDiary

あら探しは大切なことなので、推奨します。とくにおれみたいな「ノリ・プログラマ」がコードを書いてる場合は(笑)。モバイルモードでぜんぜんテストしてなかったよ(をい)。ツッコミが全部見えないのも修正。これは古いバグだなぁ。誰も気づかなかったのか。

ということで、上記の修正を行った現在のスナップショットは1.3.3.20020124。1.3.3からはいくつか非互換アリ。プラグインまわりはこの辺で打ち止めにしたいところ。

まず、update、headerの「コールバック系プラグイン」の登録方法をクラス変数への追加からメソッド呼び出しに変更。考えてみたらクラス変数使う必然なんてぜんぜんなかった。バカみたい。というわけで、@@update_proc@@header_procへのProcの追加は、そのままadd_update_procadd_header_procへの呼び出しに置き換えて下さい。引数にProcインスタンスを。

あと、ツッコミ時にもupdateが呼ばれるようになったので、場合分けをしたいときには@modeを見ること。この変更はツッコミメールをプラグイン化するために行ったんだけど、プラグイン内でできることってセキュアモードだと極端に少ないので、メールを送るなんて論外なことにあとで気づく。ダメじゃん。ということでメール送信のプラグイン化は断念。

その代わり、別の方法で差し替えられるようにしてみた。TDiaryComment#sendmailメソッドを外部ファイルで上書きしちまう、という乱暴な方法だが。これもスマートな方法が見つかったら変えるかも。つーかデザインパターンくらい使えよ、おれ。詳しくはmisc/mail-via-(smtp|qmail|sendmail).rbを参照。tdiary.confにこれらのうちどれかをrequireしないとツッコミメールが送られない非互換あり。互換性確保のために、smtpだけあらかじめrequireするように戻すかも。

ちなみにうちの環境ではqmailやsendmailはうまく動かんかった。同じコードがMTA経由で動くMobilerではOKなので、httpdのuidじゃダメなのかも知れない。誰かテストしてくらはい。

他には、ツッコミメールのSubjectに投稿者の名前を入れるようにしたとか、段落アンカーのname属性を、日毎表示時以外はなくしたとか(これでHTML-Lintの成績がグンとアップ![笑])。

tDiaryプラグインTips: Alternate Stylesheet

昨日この話を読んで、プラグイン化できるよな、と思っていた。今日になってこういうことも書かれているようなので、ちょっと書いてみる。alternate-stylesheet.rb、もちろん最新スナップショット専用:

def css_tag
   r = %Q[<meta http-equiv="content-style-type" content="text/css">\n]
   if @theme and @theme.length > 0 then
      css = "#{theme_url}/#{@theme}.css"
   else
      css = @css
   end
   r << %Q[	<link rel="stylesheet" href="#{css}" type="text/css" media="all">\n]
   %w(default desert line lovely maroon midnight nebula pool_side).each do |theme|
      r << %Q[	<link rel="Alternate stylesheet" title="" href="#{theme_url}/#{theme}.css" type="text/css">\n] unless theme == @theme
   end
   r
end

 これをmozillaあたりで見ると、標準添付のテーマがいかにダメかがよくわかるなぁ(笑)。たぶんcolorbackground-colorが抜けてるのが原因なんだろうけど。誰か添削してちょー。あと問題は、最大シェアを誇るアレがサポートしてないって点だよな。すくなくとも5.5SP2にはなかった。6.0にはあったりする?

ところで

そんな昔にツッコミしても、誰も気づきません(笑)。「最近のツッコミプラグイン」を入れるべきか?

tDiaryプラグインTips: Alternate Stylesheet(2)

そうは言っても、Alternate Stylesheetは毎回選ばないといけないわけで。Cookieが覚えてくれる場合はその手間がないので、一長一短ではないかと思うな。Galeonにもないし。

ともあれ、ス切リボなんちゅーものがあったとは。でも、これが入れられるブラウザにはタブがないんだよね、こんどは。こっちも一長一短だ(笑)。