更新メモ(1)
1.ブログ管理用のアドレスを http://blog.yasuhisa.net/mt/ にして、ブログサイトと切り離した。
2.別管理のブログを一つに統合した。
3.メイン、アーカイブ共に「追記」を表示/非表示できるようにした。
(JavaScript使用, きままにポロポロ: 折りたたみ式文章を参照)
4.背景画像を入れてみた。(Mariのいろえんぴつより)
こんなところかな。
id属性は、文書中に重複することができません。と書かれていますが、公開されているソースは追記が何個もあるとidが重なってしまうのでその辺は修正をかけました。
親1 [1]
├ 子1?1 [2]
└ 子1?2 [0]
親2 [0]
└ 子2 [3]
Ogawa::Memoranda を見るとアーカイブを選択式にされていたので、まねてみることにしました。
<select onchange="location.href=this.value;"><option value="" selected="selected">選択して下さい...</option>
<MTArchiveList archive_type="Monthly"><option value="<$MTArchiveLink$>"><$MTArchiveTitle$> [<$MTArchiveCount$>]</option></MTArchiveList>
</select>
まあ、些細なことかもしれませんけどね。w
以前、MTCollateCollect プラグインを使って最近のトラックバックをまとめていましたが、もっと簡単な方法です。
Memoranda: recently_pinged_on Plugin で紹介されているプラグインを使います。
これは、「最近のコメント」で使う recently_commented_on 相当の <MTEntries> タグ用オプションです。
そちらで紹介されているソースの通りにしてやるだけで「最近のトラックバック」をまとめることができます。
なお、Ver.0.11では 中で <MTEntryDate>を入れるとエラーになるようです。 ※Ver.0.12で使えるようにして頂きました。(o)さんに感謝。
ちなみに、私は少しだけ修正して使っています。(気になる方は「続き」をどうぞ)
最近のコメント、最近のトラックバックも表示・非表示切り替えできるようにしたいと考えまして。
まず、元々使っていたスクリプト を解析しようと思ったんですが、ちっともわかりませんでした。orz
んで、しばらく放っておいたんですが、サイトを巡回していたら Techknow Weblog: サブカテゴリを開閉式にしてみる というエントリーを見つけまして。
これを応用すれば実現できるのではないかと考えました。
なお、スクリプトを変えてしまうので「追記」の表示・非表示部も変更する必要があります。
(追記部分だけはそのままにしていてもいいですが結局は同じことをするのでついでに変更しました)
方法が気になる方は「続き」をどうぞ。
(私が使っているソースをほぼそのまま持ってきているので、一部わかりにくいところがあるかも知れませんがご容赦下さい)
Techknow Weblog: サブカテゴリを開閉式にしてみる を参考にして、サブカテゴリも展開/隠蔽できるようにしてみました。
デフォルトですべてを表示するようにしています。それから、見た目はエクスプローラライクにしたつもりです。
(注)カテゴリごとに下線の色を変えたりしているので余計なコードが入っていたりしますが、あえてそのまま記載。
気になる方は「続き」をどうぞ。
サイドバー部分とマスターアーカイブ、カテゴリアーカイブ(エントリー毎)を開閉できるようにしてみました。
サイドバーの一部は常に表示していても見ないと思いますのでいいかな、と。
ついでに総エントリー数と総コメント数と総トラックバック数をサイドバーの部分に表示させるようにしました。
総トラックバック数表示用のタグはデフォルトで装備していないので、BlogPings を導入しました。
管理者の都合で新しいウィンドウで開いたりするのはいかがなものかと思っていまして。
これが指定してあったら同じウィンドウ上で開けないので個人的に好きではないのです。
<MTCommentAuthorLink>タグで作られたリンクは新しいウィンドウで開く指定となっていまして、それがいやで仮に別のタグを組み合わせています。
BlogPeopleのリンクリストはtarget指定を変更出来るものの、TrackbackPeopleは設定が有効に出来ず(仕様)、必ず新しいウィンドウで開かれてしまいます。
そんなわけで、target指定を排除するJavaScriptを作れないかと考えてみました。
ホントのことを言うとMovableTypeのプラグインの形にできればいいんですが、Perlが分からないので。w
IEでTypeKeyを使ってサインインしても表示がサインイン前と変わりませんでした。Firefoxだと問題がないのに。
不意に「リロード」してみたら表示がサインイン後のに切り替わりました。
…う?ん、どうしたものか。
コメントスパムがちょくちょく届くようになってきました。
そのたび削除するのも面倒なので対策することにしました。
Ogawa::Memoranda: Quasi-Spam Filter Plugin を導入します。
このプラグインは条件をカスタマイズ可能なもので自分好みに変えられるのが嬉しいです。
まあ、ある程度プラグインのコードを読まないといけないんで少し敷居が高いということになりますが。
とりあえずコレで様子を見てみることにしますかね。
「Firefox People」に寄せられたエントリーをある程度さかのぼって見ていました。
そしたら、 TextOcean: FirefoxPeopleの中の人からの書簡 というのを見つけまして。
たしかに、トラックバックされた記事を見てもがっかりするだけのエントリーがあったりします。
「Firefox People」に寄せられたエントリーをみればFirefoxの有益な情報を得られるというのが理想ですよね。
Firefoxに関連するエントリーだからといってぽんぽんトラックバックを送るとそれこそ見ている皆さんに迷惑をかけますし、なによりエントリーを書いた人の信頼性が落ちることになるはずです。
(ここ以外へのトラックバックも同じことですよね)
先ほど私が送ったトラックバックは確かに今までの内容を確認せずに送ってしまいました。
どこぞのエントリーを参考にして書いたということではなくて、私が本当に使いやすいと絶賛しているものを紹介したかったのですが、ちょっと考えが甘かったかなと反省。
少し前にコメントのスパムが届くようになったので Quasi-Spam Filter Plugin を導入してました。
スパム撃退の状況がログへ出力されるので確認してみると4月ぐらいからスパムが届いていたようです。
さらに、5月くらいからトラックバックにもスパムが届いていたようです。
プラグイン様々ですな。ありがたやありがたや…。
たまにサーバー不調などの関係でトラックバックを何度も届くことがありますが、それを解消してくれるプラグインだそうです。
>>小粋空間: 重複トラックバック防止プラグイン
トラックバックがそんなに多く届くことがないのですが。w
いろいろ(特にセキュリティーか?)機能修正・追加されましたが、私が一番「おっ」と思ったのは。
ウェブログがUTF-8で公開されている場合、Internet Explorerの使用時に発生するTypeKey認証の不具合を修正しました。
という項目で、IEだとTypeKeyサインインしても表示が自動で更新されなかった(再描画させないとだめだった)のが修正されたようでなによりです。
…どうやって直そうかとすごく悩んでいましたよ、えぇ。
いままでだと[+]とか[-]とかのイメージの部分だけがクリックエリアになっていたので押しづらかったんですよね。
それをサイドバーのタイトル全体に変更しました。
ついでに押されたか押されてないかをわかりやすくするためにボーダーの色にも工夫をしてみました。
MovableType 3.0以降はコメントに承認やTypeKeyへのサインインが必要になったりしてスパム対策がある程度とられるようになりました。
(スパム撃退用プラグインもありますが完全じゃないのは当然のことで、巧妙にすり抜けてくる。この攻防を「いたちごっこ」という。w)
でも、トラックバックには「承認する」ということができないので、スパムと思われるトラックバックが届いた場合もすぐにサイトに反映されてしまいます。
そこで、MT-Moderate というプラグインを導入しました。
導入は簡単なので割愛。w
…ってそれじゃなんなので参考にしたエントリーを紹介します。→ LittleFeathers: 古い記事へのコメントに制限をかける
テストで昔のエントリーにトラックバックを送ってみましたが「承認待ち」になりました。よかったよかった。
だれもがブログというWebツールを使って日記とかを書くのがはやってる(?)ようですね。
「ブログは簡単」とかうたっている雑誌とか本とかサイトとかたまに見ますが、果たして本当にそうなんでしょうか。
確かにエントリーをサイトに公開するのは簡単だと思います。
簡単かそうでないかはおいといて、公開すると言うことは日本全体…いや全世界に公開されること。もちろん誹謗中傷とか書くべきではないと思う。
本当に閲覧者に優しいサイトを作ろうと思ったらHTML4.01やXHTML1.0などに対応させるべきだろうし、少なくとも今よく使われているブラウザで表示などが問題ないか確認すべきでしょう。
個人的には「このサイトはIEで確認しています」というサイトは「確認していないよ」と公言しているようなものと思っています。なぜなら、IEは表示に関してバグというか変なところがあるから。(少なくともVer.6までは)
いちど、Another HTML-lint gateway でサイトのチェックをしてみてください。目安ですが。
ブログが悪いんじゃなくてブログを使って見るに堪えない記事を書く人(そんな人がいるかはわかりませんが…)が悪いんで、そういう人はツールに負けているんでしょう。w
まあ、HTMLを直接書いてアップロードする場合も同じですがね。
直接書くんならそれなりの文法を使ってくれ?といいたいですな。w
このブログ用に立ち上げているMovableType(っていう言い方でいいのか?)、要は blog.yasuhisa.net/mt/ にMT3.2のファイルをアップデートして mt-check.cgi を実行。
…「Script Error」なんつうエラーがでて cgi が実行できない。!?
試しに同じサーバの違うフォルダにアップロードしたり、違うサーバ(でもこちらも xrea.com)を取得してアップロードしたら案の定 cgi が実行できました。
パーミッションも現状と同じ 755 だし、違うところにアップロードしたのも 755 で問題なかった。
ちなみに、 .htaccess は使っていないのでそれが原因で実行できない…なんてことはあり得ない。
念のためフォルダ内のデータを(ローカルにバックアップをとった上で)全削除してアップロードしたけど同じエラーがでて cgi が実行できなかった。
ん?、もう訳がわかんねぇ。
昨日アップデートしても cgi が実行できなかったのに、今日は無事MT3.2にアップデートできました。
…結局なんだったんだろう???
3.2になってユーザインターフェースとか大きく変わりましたがそんなにとまどうことはなさそう。
「ラストラン」といえばベトナム縦断だよね? を作ってみました。
…タイトルにあまり意味はないですよw
MT3.2では、アーカイブの取り方が変わっていて、それを従来のID形式にする場合でもどういうフォーマットに指定すればいいのか分かりませんでした。
そこで、Movable Type 3.2 導入手順での個別アーカイブのURLを旧バージョンのようにするを参考にして修正してみました。(修正したブログ: 「ラストラン」といえばベトナム縦断だよね?)
それはいいのですが、そのフォーマット(ID形式にするためには「%e%x」にする、とか)の情報がどこに書いてあるか分からないのでついでに聞いてみました。
英文ですが、Movable Type 3.2 User Manual: E: Archive File Path Specifiers Archives に書いてあるとの回答を得ました。
ありがとうございます。これで気分がすっきりとしました。
でもこの内容を日本語化して sixapart.jp かMTの管理者用ヘルプに置いておいて欲しいところですけどねぇ。
Movable Type 3.2 標準テンプレートのサイドバーにあるカテゴリ一覧は、サブカテゴリに対応してるんですね。
テンプレートをMT3.2に変えてみました。
でも Another HTML-lint によると文法的にいろいろ修正点があるみたいで、それを修正しつつ自分なりのレイアウトに変えようと思ったんですが、ここまでで断念。
とりあえず各エントリーのフッターにトラックバックURLを追加したのと、「続きを読む」を隠蔽タイプに変えたこと、全ページにサイドバーをつけたこと、そしてアクセスカウンターをつけたことが見た目の変更点でしょうか。
あとはサイドバーのカスタマイズと、スタイルシートの文法的なところを修正するのと、レイアウトを自分好みに修正するところあたりが残ってます。
次週以降の宿題にすることにしよう。
前後しますが、TrackbackPeopleの表示改造をするために、サイトをphp化する必要がありました。
php化に関しては設定やインデックステンプレートの「html」を「php」に変えればいいだけ(多少ソースをいじる必要があるかもしれませんが)です。
php化する前の準備として、サイト上でのリンクを「?.php」とか、ファイル名までを表示させずに、「?/」というようにフォルダで終わらせるようにしておけば、cgiになろうがphpになろうがhtmlになろうが対応できるのでそのように変更をしました。
今までのURIが無効になるわけですから、.htaccessでリダイレクト設定をしてやる必要があります。ただ、しばらく設定していなかったためにエントリーが見られなかった人がいたようです。(xrea.comに標準装備されているアクセスログを見て分かった)
たいていのサイトでは個別エントリーへのリダイレクトに関してもその数分のリダイレクト設定をされているようですが、
このサイトの場合たとえば012345番のエントリのアーカイブは http://blog.yasuhisa.net/diary/archives/012345.html から http://blog.yasuhisa.net/diary/archives/entry_012345/ に変更となります。他の番号でも同じこと。?.html が、entry_?/ に変わるだけ。
だから下のように書けば1行で済みます。(.htaccessを archives/ に置いた場合。)
RedirectMatch ([0-9][0-9][0-9][0-9][0-9][0-9])\.html$ http://blog.yasuhisa.net/diary/archives/entry_$1/
リダイレクトを正規表現で設定しているわけです。左側の( )内が、右側の$1に当てはまります。
ちなみに2個、3個...と( )を使えば、それぞれ$2、$3...に置き換えられますので月別アーカイブをリダイレクトする場合でも使えますね。
んで、カテゴリのリダイレクトは、今回サブカテゴリに対応させたのでこれに関しては個別に設定してやる必要があるのですが、なぜか Redirect が効かなかった(書き方かおかしいのかサーバが対応していないのか)のでこれに関しても RedirectMatch でリダイレクトを設定しました。
.htaccess に関して参考にしたのはこの辺のサイト
.htaccessでリダイレクト機能を利用する方法
mod_alias - Apache HTTP サーバ
ようやくというか、「タグ」を実装いたしました。
厳密にはタグはだいぶ前から実装していて、「タグが使われているエントリーの一覧」に今回対応したということです。
参考にしたのは TagwireとMT-XSearchによる動的タグアーカイブ - Ogawa::Memoranda です。