Mikeforce HomePage

What comment spams are hunting out.

ここ一週間、多い。

% host -a 65.75.166.210
Trying "210.166.75.65.in-addr.arpa"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1382
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
;; QUESTION SECTION:
;210.166.75.65.in-addr.arpa.    IN      PTR
;; ANSWER SECTION:
210.166.75.65.in-addr.arpa. 517654 IN   PTR     host210.easymanaged.com.
;; AUTHORITY SECTION:
166.75.65.in-addr.arpa. 517654  IN      NS      ns1.managed.net.
166.75.65.in-addr.arpa. 517654  IN      NS      ns2.managed.net.
Received 128 bytes from 192.168.0.1#53 in 1 ms

Agent は:

"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461; AIRF)"

試しに、Movable Type 3.01D の機能、TypeKeyトーク を有効にしてみた。

やっと直った (2).

ちゃんとアーカイブの月を表す変数があったのね。
ということで、月替わりでアーカイブを表示する際のカレンダを、その月に合わせて表示できるようにしてみた。これで過去のトピックを捜しやすくなったんじゃないかな:

- <caption class="calendarhead"><$MTDate format="%B %Y"$></caption>
+ <caption class="calendarhead"><$MTArchiveDate format="%B %Y"$></caption>

で年月を表示して、カレンダ自体は この属性を使って当月を表示させる:

- <MTCalendar>
+ <MTCalendar month="this">

ひっそりと、Planet はじめてみる.

先月取得しておいた PlanetPlanetnightly snapshot (バージョンは 0.2 らしい) を展開し、付属の INSTALL に従って設定する。python は既にインストールされているので、事前にインストールするのはパッケージ miTidy だけだ。
非常にかんたん。
あとは集約 – aggregation – するフィードを config.ini に追加して、いくつかのテンプレート・ファイル *.tmpl を Mikeforce スタイルに編集した。ついでに、Planet GNOME 風に face アイコンをそれぞれ設定してみた。
とりあえず、定期的に読ませて頂いている JGUG メンバのサイト、Planet GNOME で確認しているサイトのいくつか、そして日本語の表示確認ということで自分のフィードも追加しておく。
ふm。ふm。日付と時刻は UTC で表示されるな。それに日付の表記は英語か。
あっ、エンコーディング EUC-JP のフィードを正しく扱えていないな。
python のドキュメント を参照しながら、time.localtime() を使い タイムゾーン JST で日付/時刻を取得させる。関数 strftime() では書式 “%B%e日” は扱えないのか。planetlib.py のメソッド _read_data() にエンコーディング EUC-JP の処理を追加しておく。
しかし、aggregation するフィード数を 4〜6 個くらいにしただけでも、けっこうにサーバの負荷が大きいなぁ。ということで、期間限定かな。ひとまず、様子をみるか:
Mikeforce::Planet

やっと直った.

この Homepage で利用している Movable Type 3.01D-ja だけども、ブログのエントリを記述して構築すると、なぜかエントリ ID $MTEntryPermalink が正しく生成できていなかった。
構築後の各ブログ・エントリの下にある作成時刻のリンクが指している参照には、先頭に #aXXXXXX のように a が付く:

https://mikeforce.net/blog/archives/2004_09.html#a000100

しかし、フィードの index.rdf のリンクや左のバーにあるエントリの参照には、先頭に a が付かないのである:

https://mikeforce.net/blog/archives/2004_09.html#000100

そのため、フィード・リーダなんかで参照しようとしても、いつもページの先頭が引用される。つまり、正しくブログのエントリを引けない訳である。なんとも、情けない。
前者の a が付く出力結果になるのは正しいW3C の Markup Validiation でも検証できるし、実際にテンプレートで a を記述しているのだから、その出力として a が付くのは当然の結果だ。

<h3 class="title" id="a<$MTEntryID pad="1"$>"><$MTEntryTitle$></h3>

後者は構築時に、それぞれのテンプレート中で変数 $MTEntryPermalink が展開された結果で埋まる。これは生成時に MovableType のモジュール内で処理された内容に展開されるようではあるが、てんで見当が付かずにいた。
でも、やはり気になるので、MT/lib/MT 配下を闇雲に grep していると、MT/lib/MT/Entry.pm にそれらしい記述があるではないか!
いままで俺は何を捜していたのだろう…というくらい、見れば直ぐに分かるコードだった:

244 sub permalink {
245     my $entry = shift;
(SNIP)
255     $url .= '#' . ($_[1]->{valid_html} ? 'a' : '') .
257     sprintf("%06d", $entry->id)

早速、修正して再構築をかけたところ、見事に直った。
ついでに フィード・リーダ のキャッシュをクリアして正しく参照できるようにした。
よかった。よかった。