開閉式カテゴリ別アーカイブリスト

最近、ブログのカスタマイズにはまり気味。
よそで紹介されていたスクリプトを利用して、デフォルトで用意されているMaster Archive Indexを改造した「カテゴリ別に開閉する全アーカイブリスト」を作ってみた。

できあがったページはこんなふう
カテゴリは階層的に表示されるようにし、各カテゴリのエントリー数部分をクリックすると、そのカテゴリの全エントリーのタイトルとリンク、投稿日が現れるようにした。
参考にさせてもらったサイトはサブカテゴリを開閉式にしてみるTechknow Weblog
こちらで紹介されているスクリプトの<MTSubCategories>?</MTSubCategories>の部分を以下のように書き換える。

<MTSubCategories>

<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<li>
<a href=”<$MTCategoryArchiveLink$>”><U><MTCategoryDescription></U></a>
<MTIfNonZero tag=”MTCategoryCount”>
[<a href=”javascript:void(0);” onClick=”shBlock(‘cat_<$MTCategoryID$>‘);”><MTCategoryCount></a>]
<MTElse>[?]</MTElse>
</MTIfNonZero>
<br />
<div style=”display:none” id=”cat_<$MTCategoryID$>”>
<MTEntries>
  └ <a href=”<$MTEntryPermalink$>”><$MTEntryTitle$></a>  <$MTEntryDate$><br />
</MTEntries>
</div>
<MTSubCatsRecurse>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>

ポイントは、クリックによって開閉する部分を<div style=”display:none” id=”cat_<$MTCategoryID$>”>?</div>タグで括ってやること。この基本的な考え方が分かるまで、結構苦労しました・・・orz
Movable Typeのバージョンがまだ3.11のままなので、下書き状態のものもエントリ数に含まれてしまうなどの問題点はあるけど、なんとか思ったような形になったかな?
同じようなやり方で、月別アーカイブのリスト表示なども作れそう。
なお、オリジナルのサブカテゴリを開閉式にするリストは、メインページのサイドバーに使用させていただきました。深謝m(_ _)m



ブラウザ・ソフト

インターネットでホームページを見るのに使うブラウザ・ソフト。今でも一番多く使われているのはインターネットエクスプローラ(IE)だろうけど、ほかの環境も試してみるために、いくつかのブラウザ・ソフトをPCにインストールしてある。

htmlのタグもスタイルシートもJavaScriptも、まだまだブラウザによって挙動が違ったりするので、日頃使ってるのとは違うブラウザで自分のページを見て、ビックリすることもしばしば(苦笑)
できるだけ、「どんなブラウザで見ても同じように見えるページ」を作るよう心掛けるべきなんだろうけどねぇ。
Firefox 1.0
最近使い始めたのだが、なかなか快適だと思う。
いくつかのホームページを開いたままにしておくとき、ブラウザのウインド内にタブで開くことができるので、ページの切り替えがとってもスムーズ。お気に入りのフォルダに入っている複数のページを、ワンクリックで同時に開くこともできる。PCを立ち上げたら必ず見るページを特定のフォルダにひとまとめにしておけば、一つ一つクリックする必要がなく一度に開けるので、とても便利。
Opera 7.23
しばらく6.0のままにしていたんだけど、スタイルシートのズレなどが気になり始めたので、7.23にバージョンアップ。なんて言うんだっけ、えー、マウスゼスチャー?これは結構楽です。ブラウザの「戻る」ボタンを押す代わりに、マウスを右クリックしたまま軽く左にドラッグする(だったっけ?)など、マウスを大きく動かすことなくネットサーフィン(死語w)を楽しめる。
Netscape 7.0
デフォルトの文字が大きいのが、どうにも気に入らない。表示確認のためにたまに開く程度で、めったに使わない。
IEよりもタグのエラーに敏感なので、エラーチェックには役立つかも。
Internet Explorer 6.0
アクセスログによると、うちのページを見に来る人の9割以上がこれを使っている。もちろん、私も使っている。たまーに「5.0」の人もいるが、最低でも「5.5」以上は使って欲しいところ。セキュリティホールがひっきりなしに見つかるし、たくさんページを開くとツールバーがいっぱいになってしまうし、まとめて表示にするとページの移動が面倒だし、そろそろ使うのを止めようかと思っている。
とりあえずはWindowsXP+上記各ブラウザにてページの表示を確認し、スタイルが崩れないで表示されるように スタイルシートを調整した。IEではセンタリングされる部分がネスケでは反映していないとか、ちょっとした違いはあるんだけど、その程度は許容範囲内としたい(汗
さてさて、Macではどのように表示されているやら。



MT-ShrinkFInfo

ブログの再構築時に、しばしば「500 Internal Server Error」というエラーが起こるようになって困っていたのだが、その原因と、それを回避するためのプラグインが紹介されていたので、さっそく導入してみた。

MT-ShrinkFInfo@Ogawa::Memoranda

Movable Type 3.1でBerkeleyDBを使っている場合、再構築を繰り返すたびにfileinfo.dbが肥大化するという問題が知られています(TITO’s Web Page: Movable Type「fileinfo.db」の肥大化)。具体的には、MTは再構築のたびに古いFileInfoオブジェクトを削除して、新しいFileInfoオブジェクトを生成しますが、このときBerkeleyDBを使っている場合に限って、(1) 古いFileInfoオブジェクトの消去をし損なう場合があること、(2) 削除してもfileinfo.dbファイルの空き領域が開放されないこと、がこの肥大化の原因となっています。

サーバーをチェックしてみたところ、私の場合fileinfo.dbはすでに28MBにまで肥大化していた(滝汗
再構築するたびにこのファイルが書き換えられるわけで、サーバーに負荷がかからないわけがない。書き換えの途中で「500 Internal Server Error」となってしまうわけだ。
上記プラグインを導入して実行してみたところ、dbファイルのサイズは28MBから48KBへと激減!すごい効果!
MovableTypeのメインメニュー画面に、プラグインへのリンクと現在のdbファイルのサイズが表示されるようになるので、ワンクリックで気軽に減量化できるようになる。
さっそくブログ全体の再構築を行ってみたが、エラーも起きず、構築にかかる時間も短縮され、非常に快適になった。



javaスクリプトとcookie

先日から何を悩んでいるかというと、「クッキーを使用しない」の選択と「フォームの入力内容をクリアする」のとは別問題なのではないのか?なのだ。

具体的に言うと、こう。
ブログにコメントを書こうとして、コメント欄に名前やメールアドレスを記入する。デフォルトでは「クッキーを使用しない」が選択されている。これを「使用する」にした後、また思い直して「使用しない」を選択すると、せっかく入力した名前やメアドが消えてしまう。
これは自分の意に反した反応だ。私は「クッキー使用の有無」を選択しただけであって、フォーム内容をクリアしたいわけではないのだから。
個別アーカイブやコメントプレビューテンプレートのjavaスクリプトでは、当該部分はこのようになっている。

function forgetMe (f) {
  deleteCookie(‘mtcmtmail’, ‘/’, ”);
  deleteCookie(‘mtcmthome’, ‘/’, ”);
  deleteCookie(‘mtcmtauth’, ‘/’, ”);
  f.email.value = ”;
  f.author.value = ”;
  f.url.value = ”;

}

クッキーを使用しない(forgetMe)を選択した場合、「deleteCookie」によってクッキー内容を削除するとともに、「value=”」とすることによってemail・author・urlの各値に空白を代入する(赤字部分)=内容をクリアする、という記述だ。
この赤字部分3行はオフにしてもいいのはないか?と考えた。クッキーさえ削除されれば、フォーム内容までクリアする必要はないはず。なので、赤字部分の行頭に「//」を加えて、とりあえずコメントアウトにしてしまおう。

function forgetMe (f) {
  deleteCookie(‘mtcmtmail’, ‘/’, ”);
  deleteCookie(‘mtcmthome’, ‘/’, ”);
  deleteCookie(‘mtcmtauth’, ‘/’, ”);
// f.email.value = ”;
// f.author.value = ”;
// f.url.value = ”;

}

これで、意図せずに入力内容が消えてしまう恐れがなくなる。投稿後のクッキー情報も正常に動作することを確認できた。
ただ、本当にこれで不具合が起きないのかどうか、不安は残る。私の場合、投稿時にTypeKeyを使わない設定にしているのだけれど、使う設定にした場合の情報の受け渡しがどんなふうになっているのか、まだよく見ていないし、ほかの部分で影響が出るかもしれない。
一応、こうすればこうなる、ということの確認のみにして、上記スクリプトの実装はもう少し検討してからにする。



音信不通

昨夜、家電品の時刻合わせのため正確な時報を知ろうと思って電話の受話器を上げたところ・・・無音。ガチャガチャと、何度やっても無音。おかしい。電源は入っているし、液晶も正常に表示されている。更に言えば、常時接続のインターネットは普通に使えているのだから、電話回線自体に異常があるわけではないはずだ・・・。

我が家はちょっとした事情があってデジタル回線から離れられず、いまだもってISDN接続。ルータで無線LANを組んでいるのだけれど、そのルータの、いつもなら赤く光っている電話ランプが点いていない。う?む。
そこで、はたと気付いた。
以前、ルータのホームページにこんな案内がでていたのだ。

平素はヤマハルーターをご愛顧いただき、厚く御礼申し上げます。
さて、ご愛用頂いておりますISDNリモートルーター
「RTA52i/RT52pro/RT60w」(以下本機)に装填された
停電用単3乾電池が消耗した状態では、停電時でなくとも
電話機がお使いになれなくなる可能性があることが判明致しました。

停電時用の乾電池が消耗した状態でルータの電源を切ったり、停電が起きたりした場合、再起動後に電話が通じなくなるらしい。
電池を取り外して再起動させれば復旧するとのことだったので、さっそく言われたとおりにやってみる。
じゃーんw
どうということもなく、無事復活。
しかし、いったいいつから電話が通じない状態になっていたのだろうか?
「再起動後に通じなくなる」という点から考えると、日曜日、新しい無線LANカードを取り付けたときに一度ルータを再起動させているので、それ以来電話が不通だったということかもしれない(苦笑)
携帯を持つようになってから、友人・知人・仕事関係の電話はほとんど全部携帯にかかってくるので、家の固定電話にかかってくるものといったら、マンションの押し売りだのホームクリーニングサービスだの、セールスの電話ばっかりだ。そう考えると、固定電話が通じなくてもそんなに不具合はないのかもしれない。スカパーのPPVが見れなくなるくらい、かな?



« 前のページ次のページ »

  •  

    ブログパーツの貼り付け方はこちらへ
  • 月別アーカイブ

  • あいさつ掲示板

  • メタ情報