2001-12-19(水) 10404歩 [長年日記]
- ツッコミサマリ表示を60→120文字に拡大
- ツッコミサマリがあふれた場合、古い方から非表示にして「Before...」とした
- 本日のリンク元を、ツッコミのフォームの下に
- セクションを囲む<div class="section">...</div>を新設
- デフォルト提供のプラグインを00default.rbに統合
- プラグインのnaviをnavi_userとnavi_adminに内部分割
- 存在しないプラグインを呼び出しても落ちないように対策
- Varyヘッダを出すようにした
- 他、ちょこちょこ
■ ツッコミサマリの文字数は可変にしてもいいんだけど、これくらいがちょうどいいんじゃないかと思うので、とりあえず固定のまま拡張。
■ 「More...」の代わりに「Before...」にしたのには賛否両論あるかも知れない。「Before」という表記も含めて。「これ以前のツッコミ」の方がわかりやすいか。
■ ツッコミフォームの位置を変えたのが一番影響がありそう。困るのはNebulaのようなテーマのレイアウトが崩れること。でも、インタフェース的にはぜったいこの位置が良いと思うのだが、どうだろうか。
■ 古いプラグイン(calendar、navi、insert)は削除してくらはい。naviの内部分割によって、けんのぼやきにあった指摘をフォローできる。この話はあとでTIPSにでも。
■ マウスがトロい(3)
昨日のスクリプト、今朝、電源を入れたらjob制御が効かずにエラー。そこで以下のように修正。わざわざRubyを使っているのは、Cygwinのcutコマンドの挙動がなんか変だったのと、代わりに使おうと思ったawkの文法をすっかり忘れたため(←ダメダメ)。job制御って、対話状態じゃないと使えないのかにゃ?
/Program\ Files/Logicool/MouseWare/system/EM_EXEC.EXE & sleep 5 kill `ps | grep EM_EXEC | ruby -ne 'puts $_.split[0]'`
■ tDiaryプラグインTips(2) - ナビゲーションボタンの配置
今日のスナップショットから、ページ最上部にあるナビゲーションボタンを実現するnaviプラグインをちょっといじりやすくしてある。「トップ」「最新」「前日」「翌日」からなる読者向けプラグインnavi_userと、「更新」「設定」からなる管理用プラグインnavi_admin。個々のボタン別に分けてもよかったんだけど、使いやすさのバランスをとって2分割。
これで、読者用のボタンはページトップに置きたいけど、管理用のは下の方にしたいなんて要求に応えられる。例えば@headerに
<p class="adminmenu"><%=navi_user%></p>
@footerに
<p class="adminmenu"><%=navi_admin%></p>
なんてやるわけだ。ただし、更新や設定用の画面ではnaviをページトップに埋め込んであるので、この位置は変更できない。まぁ、読者に見えるわけじゃないからいいでしょ。
さらに、自分で新しい.rbファイルを起こしてその中にnavi_userやnavi_adminを再定義してしまえば、ボタンのラベルや表示順序も自由にできる。
ちなみにnavi系プラグインで使っている@modeという変数には、現在動作しているモードが入っている。これはtdiary.rb内で定義されているTDiaryHogehoge系クラスの「hogehoge」の部分(小文字化されている)。これで現在どんなページを処理しているかがわかる。でもこの仕様はどっかで変わるかも知れない。手抜きが見え見えだし。
2001-12-18(火) 7822歩 [長年日記]
■ tDiary
本日のリンク元が増えるとLast-Modifiedが変わるなんてことはございません。その問題はまだ公開されてなかった頃に発覚、即座に修正されています。だってそんな動作をしていたら、アンテナが使い物にならなくなるではないですか:-)
というわけで、何かの間違いだと思います。Last-Modifiedが変化するのは、本文が更新されたときと、ツッコミがあったときだけです。もしかするとその読者は、キャッシュが効いていないことをLast-Modifiedの変化と勘違いしているのでは。
ところでdoggieさん、日記のURLは?(笑) googleでそれっぽいところを見つけたんだけど、11月から更新されてないし……。
■ 続・マウスがトロい
こないだ削除したEM_EXEC.EXEの起動設定、あれのせいでマウスボタンの左右入れ替えがされなくなってしまった。ぐぁ。いちど起動して、そのあとkillしても設定は残っているから、動き続けている必要はないらしい。なんだか、すげぇマヌケな仕様だ。捨てちまうぞ >Logitech
しかたがないので、ログイン時に実行しているスクリプトに、「EM_EXECをバックグラウンドで実行して、5秒待ってからkillする」という処理を組み込んだ。これでOKだろう。たぶん。
/Program\ Files/Logicool/MouseWare/system/EM_EXEC.EXE & sleep 5 kill %1
job番号が1で固定なのは、スクリプトの先頭にあって、ログイン時に一回だけ実行されるため、確実に1になるから(ホントか?)。
■ CVS
-z9はサーバに負担、なるほど。盲目的に-z3というよりは、サーバの能力と回線容量のバランスを考えるべし、と読みました。spc.gr.jpはパワーはあるけどレンタルでシェアされてるから、ちょっと圧縮率を落とした方がよさげだな。自前鯖だけどADSLだから上りが細いの……なんて環境ではむしろ-z9推奨なのだろう。
■ 本日のハンティング
とーぜんです(笑)。というわけでWAnWAn NiKKiを捕獲(132)。
WWWDが何を根拠に更新を認識するかわかりませんが、WAnWAn NiKKiのLast-Modifiedは正しいようです。もしかしてLast-ModifiedだけじゃなくてContent-Lengthも見ていて、サイズの違いを更新と認識してるのでは? >WWWD
■ RuBBS
Windows2000上で動かないと言われたので、いちおう動かすところまではやった。Time#strftimeの%zが例によって日本語を返すんだけど、それがどうやらSJISで。途中にそんな文字列が混じったものを別の文字コードに変換しようとすると、NKFモジュールが狂うらしい。まぁ、しょうがないというか。
というわけで1.0.1を公開。もちろん、使って意味があるのはWindowsのみ。あ、とーぜんApacheでしかテストしてない。
■ Last-ModifiedとContent-Length
あら、ご足労願ってしまいました(汗)。WWWDにはContent-Lengthを無視させるオプションがあるんですね。よかった。
ところで、Last-ModifiedとContent-Lengthの両方があるときには、Last-Modifiedだけを信じる方がよくないですか。Last-Modifiedが変化するのはほとんどのばあい真の更新時だけなのに対して、Content-Lengthは相手が動的なページの場合にはカウンタの桁上がり、広告の自動挿入とか、時刻によって変わる挨拶とか……不安定な要素が多すぎるような。もちろんサイズしか指標がないときには積極的に使うべきだとは思いますが。
そういえば、戀塚さんのサイトをうろついていたら、久々にBio_100%の名前を見つけて嬉しかったですよ。なつかしいなぁ。98時代ははまったもんだ。「ろりろりろーりんぐ」ってBioだっけ?(←違ったりするんだよな)。
◆ ただただし [HEADでもGETでも、正しいLast-Modifiedを返してることには違いはないっす。]
◆ UmaShika [WWWD作者に聞きましたところ、更新チェック時の比較対象のデフォルトは"Last-ModifiedとContent-..]
◆ skamio [ -z9のもとネタはこれかな? http://www.mozilla.org/cvs.html -z9は "expo..]
◆ ただただし [なるほど、mozilla.orgなら問題になるわな、そりゃ(笑)]
◆ 戀塚 [WWWD作者です。 サイズの違いはデフォルトで更新と判別するようになってます。アイテムごとの設定で、サイズの違いを無..]
◆ doggie [ガーン。じゃあ tDiary や私のせいじゃないんですね(^^;)]
2001-12-17(月) 8864歩 [長年日記]
■ tDiary
mod_rubyで不具合発覚。しくしく。マヌケだ。snapshotを入れ替えておきました。
職場環境を1.3.1にする時、cvs upに「-d」を付け忘れて、しばらくわけわかになってしまった。「-d」はデフォルトなのが自然じゃないの、と思う今日このごろ。
■ 本日のハンティング
今日もいろいろ...を捕獲しちゃいましたのでよろしく(130)。続きますように……。
さらにSYNTAX ERROR >> DIARY(131)。さっそく1.3.1を使ってます。ナビゲーションボタンがないのは意図的なんでしょーか???
■ 本日お気に入り
今日のお笑いパソコン日誌には、好みのリンクが多かった。絵的にいいのが2...と(←かわゆい)、タイタニック。あと、ニチャンネラ★はあえてAA風にしてないところがグッ。
それからBMediaNode経由でMutter Launcher。これいいよ。おれ的にはWindows用Launcherの決定版。見た目の飾りやてんこ盛り機能でなく、操作性の向上に富豪的なアプローチがうまく使われているところがPOBoxやQ-Pocketに通じる。と思ったら、作者もここでPOBoxに言及してるな。こういうのをユーザフレンドリーと言うのだよ。
■ CVS
~/.cvsrcですか。そんなのがあったとは(マニュアル読めって >おれ)。参考にしました。というか、丸々パクって使わせていただきました♪
CVS本も前半だけ読んでそれっきりだしなぁ。年末・年始に読みたい本はいっぱいあるけど、たぶんぜんぜん読めないんだろうな……。
■ tDiaryプラグインTips(1) - カレンダーの形式を変える
以下のようなcalendar2.rbを作ってpluginディレクトリに入れると、カレンダーがドロップダウンリストになります。
def calendar
result = %Q[<form method="get" action="#{@index}">\n]
result << %Q[<p class="calendar">過去の日記\n]
result << %Q[<select name="date">\n]
@years.keys.sort.each do |year|
@years[year.to_s].sort.each do |month|
result << %Q[<option value="#{year}#{month}">#{year}年#{month}月</option>\n]
end
end
result << "</select>\n"
result << %Q[<input type="submit" value="Go"\n]
result << "</p>\n</form>"
end
もちろん、直接calendar.rbをいじってもいいんだけど、バージョンアップで上書きされないように別ファイルにした方が良いでしょう。プラグインの読み込み順序はファイル名でソートされるから、あとから読み込むファイルでcalendarメソッドを上書きしちゃうところがミソ。なお、デフォルト添付のプラグインは、将来ひとつのファイルにまとめちゃうかも。
◆ なかだ [Beforeが表示されてるときに、ツッコミへのリンクのfragmentがずれてます]
◆ ただただし [てす、てす]
◆ mizuho_chan [ツッコミがいれる事ができないのはバグだったんですね。設定が悪いのかと思いました。]