2004年7月24日土曜日

MovableTypeの生成ファイルのPHP化とモジュール化

当blogもエントリーがもう既に700を超え、リビルトの負荷が高くなってきたようなので生成ファイルをPHP化し、エントリーのボディ部分もモジュール化し、軽量化に挑戦してみました。 以下のページを参考にさせていただきました。

静的HTML生成タイプにおいて最も憎たらしい作業・・・Rebuild
ウェブサービス側の負担にも配慮とか、そういうの一切無視しても純粋に鬱陶しい
つーか重い

個別エントリーのリビルドは変わりようはありませんが、アーカイブのリビルドはかなり早くなったような気がします。
モジュール化の方ももっと突き詰めていけば、さらに軽くなるかもしれませんが、私のスキルではこれ以上は今のところ無理ですが、今の状態でもかなり満足な結果です。
あと、リンクされたエントリーやGoogleなどに拾われたエントリーなどがリンク切れにならないように、.htaccessを利用してリダイレクトなんかもしたほうがいいのだろうけど、面倒なんで今までの分のhtmlの生成ファイルは残したままにしました。


以下、「リビルドなんて怖くない 【Boycott Street 221B】」の作業手順を引用し、「Movable Type 3.01D-ja 」に合わせ、一部書き換えさせていただきました。

作業手順

  1. 「テンプレート」で、「アーカイブに関連したテンプレート」のところで、「新しいアーカイブ・テンプレートを作る」から「Entry Body」と名付けたテンプレートを作成する。 リンクするファイルは無し、テンプレートの中身には
    <$MTEntryBody$>
    とだけ記述する。
  2. 「ウェブログの設定」→「アーカイブの設定」で、「新しく、テンプレートとアーカイブを関連付ける。」のところで、アーカイブの種類に「個別」、テンプレートに「Entry Body」を選択して追加する。
  3. 追加された「Entry Body」のところの「アーカイブ・ファイルのテンプレート」のところで、パス設定に好きな物を指定する。「優先」は「個別エントリーアーカイブ」を選択したままに。

    <$MTArchiveDate format="%Y/%m/parts/%d_%H%M"$>_body.php
  4. 個別エントリーアーカイブ、カテゴリーアーカイブ、日付アーカイブ、メインページなど、その他全ての<$MTEntryBody$>を使用しているテンプレートの当該部分を以下に置き換え、メインページは「出力ファイル名」のところの拡張子の部分をhtmlからphpに変更する。

    <? include"/サーバー/public_html/archives/<$MTArchiveDate format="%Y/%m/parts/%d_%H%M"$>_body.php";?>
    このように、2で設定したPHPモジュールを読み込ませる。
  5. 「ウェブログの設定」→「ウェブログの設定」→「アーカイブの設定」で、「アーカイブ・ファイルの拡張子」のところをhtmlからphpに変更して保存する。
  6. すべてを再構築

0 件のコメント:

コメントを投稿