]>
Ogawa::Memoranda FeedBurnerに移行した件について。を参考にさせていただき、登録&リダイレクトの設定を行う。
新しいフィードはこちら。http://feeds.feedburner.com/panopticon/pGXt
ところでPing-o-Matic!というものを初めて知った。
でてた。差分がけっこう多いようだったので、バックアップとってからmtフォルダを書き換え。mt-config.cgi、plugins、dbあたりから必要なものを持ってきたらそのまま使えた。前アップデートしたときは書き換え以外に何か必要だったような気がするんだけど。
まずはwindows。MozzilaやFirefoxの場合、フォントをインストールするだけでよい。MathML at MITに置いてあるMath Fonts to Install for Mozilla/Netscapeを使えば必要なフォントをまとめてインストールすることができる。
MathMLの書式を覚えるのも手打ちするのもちょっと面倒なので、入力にはTeX2MathMLを使わせてもらう。指定されたウィンドウにTex形式を入力すると、リアルタイムで数式をレンダリングするとともにMathMLに変換してくれる。Texがそもそもわかんないんですな人はこのへん。
こんな感じ。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
]>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
IEだと]>の部分が見えてるなー。でもMozillaではこうしろって書いてあったのでそっち優先。
せっかくXHTML1.1で書いたんだし、拡張子をxhtmlにしてMIMEはapplication/xml+xhtmlで送ってやるのがよいと思うのだが、これをやるとIEで表示ができずファイルのダウンロード画面になってしまう(ユーザー側でレジストリをいじれば表示できるようだが)。
text/xmlで送るとW3C側のDTDがおかしいらしく、IEで
'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'の実行エラーです。ライン 85、位置 2
なんてエラーがでる。Firefoxでエラーが出ないのはそもそもDTDのチェックをしてないかららしい……それでいいのか。
text/htmlならIE、Firefoxどちらでも閲覧はできるけれども、MathMLが綺麗に表示されない。どうしたもんかな。
コンテントネゴシエーションについてはこちら。.htaccessを以下のように書き換え。さくらだとユーザー側でOptionsは使えないが、MultiViewsはあらかじめ指定してくれてるみたいなので下二行だけでよい。
Options +MultiViews AddType text/html html AddType application/xhtml+xml xhtml
これでindex.htmlへのリクエストに対し、IEへはindex.html.html、Firefoxへはindex.html.xhtmlを返すことができる。あとはファイルを準備するだけ。
当たり前だがバックアップとってから。メインページは使ってるテンプレートの出力ファイル名をindex.html.htmlに、テンプレートをもうひとつコピーしてそっちはindex.html.xhtmlにすればOK。
アーカイブは新規でマッピングを作る。アーカイブの拡張子はhtmlのままで、アーカイブ・マッピング側の出力フォーマットの末尾に.htmlと.xhtmlを足したものをそれぞれ作ってやればよい。
![]()
こんな感じ。一番上はBlogをFlash化しようとしたときの名残なので気にしないでください。今まで使ってたindex.htmlが残ってるとそっちが表示されてしまうので削除。
上のようにマッピングを作ると、優先ラジオボタンにチェックのついたURLにMovableType側がリンクを貼ってしまう。これを直したい。
remove-ext-from-permalink.plというPermalinkの拡張子をとっぱらうプラグインがあったので使わせてもらう。これは本来もっとしっかりしたURIに対して使うものみたいで、index.html.*のようなURLじゃないと書き換えてくれない。これをそれ以外のファイル名に対して使うには、ちょっと正規表現を書き換えてやればいい。
ヒント : (.*?)と\1
これも上と同じようにやろうと思ったんだけど、プラグインの中でどう指定していいのかわからなかったので力技にでる。カテゴリを並べ替えるのに使わせてもらっている、文字列の最初n文字を削るプラグインcutfirstcharを書き換えて、最後のn文字を削除するようにする。上のマッピングの場合.xhtmlへのリンクが張られているので、最後6文字を切り取ってやればよい。
ヒント :
> $string = substr('ABCD', 0, 3);
> print $string;
ABC
> print length($string);
3
FirefoxならmathMLも綺麗に表示されるし、結果としてxhtml化もできて満足です。今までは個別エントリーの書き出しのことなんてなんも気にせずにMovableTypeのデフォルトのまま行っていたんだけれども、クールなURIについてもちょっと考えさせられたし。つってもこんなことやってないでまずはもっと整ったテンプレートを作れって話だな。
先日の作業でXHTML1.0の仕様は満たすことができた。W3CとしてはXHTMLで論理的な構造を、CSSで見た目をデザインしろというスタンスのようで、aタグやimgタグにborder, alignといった属性が含まれているとXHTML1.1でチェックにかけたとき警告が出る。とりあえずborderやalignはフィルタして外してしまおう。alignを取り除いたのはいいが、画像の配置でちょっと迷う。あーCSSでfloat : right とすれば右に寄るのか。bタグなんかもhやstrongタグあたりで置き換えたほうがいいのかな。このへんは地味~に作業して直す。
外見はあれだけどもXHTMLでもCSSでもチェックエラーはでなくなった。Web標準への第一歩を踏み出せたわけだ。今の時点ではblog以外に手をつけていないからまー楽だったが、規模が大きくなるとこれは結構大変だなあ。
Blogのテンプレートをいじってみる。せっかくなのでちゃんと書いたほうがいいのかな?と思って調べてみると、どうやら最近はXHTMLなるものが標準らしい。いままでメモ帳でつくったテキストにプログラムでタグをつけてUpしていたわけですが、それはXHTMLなんて調べもせずにてきとーに作ったしろものだったため、出力されてくるHTML?は本当にただタグがついているだけというもうひどいありさまで、どうせならまだエントリーの少ないうちに全て直してしまったほうがいいだろう、と考えたわけです。
とりあえず間違ってるタグを全部置換するプログラムを10行くらいで書いて、エントリーを通していく。これで大文字で打ってたタグなんかを直して、あとは図書館で借りた本をもとにテンプレートもいじる。とりあえず形がととのってきた!
W3Cでチェックしてみる。
![]()
ふー……。
![]()
ふー。
次は1.1に直さないとな。