#766 Movable Type で画像関連カテゴリの一覧ページをサムネイル化し隊 Pt.2

Movable Type で画像関連カテゴリの一覧ページをサムネイル化し隊の続き。

まただよ。まだやってるよ。もういいよ。さっさと行くよ。前回の Collect プラグインと以下のカテゴリに特化した Supplemental Category Tags プラグインなるものを合体させてみたよ。

上記サイトの通りダウンスコして下記の記述を Category Archive テンプレのそこら辺(何処)にぶっ込み。改行とか吐き出されたソース基準のままです。

<MTIfCategory name="Photo">
 <div class="mtHeading2" id="thumbnail">
  <h2><$MTArchiveTitle$> Thumbnail Index</h2>
  <p><$MTCategoryDescription$></p>
  <ul>
   <MTArchiveList>
    <MTEntries category="Photo">
     <MTCollect tags="img">
      <MTCollectThis show="0"><$MTEntryBody$></MTCollectThis>
      <MTIfCollected tags="img">
       <MTCollected tags="img">
        <li>
         <a href="<$MTEntryLink$>" title="<$MTEntryTitle$> (<$MTArchiveDate format="%Y-%m-%d"$>)"><img src="<$MTCollectedAttr attr="src"$>" height="60" alt="<$MTEntryTitle$> (<$MTArchiveDate format="%Y-%m-%d"$>)" /></a>
        </li>
       </MTCollected>
      </MTIfCollected>
     </MTCollect>
    </MTEntries>
   </MTArchiveList>
  </ul>
 </MTIfCategory>
<MTIfCategory name="JunkImage">
 <div class="mtHeading2" id="thumbnail">
  <h2><$MTArchiveTitle$> Thumbnail Index</h2>
  <p><$MTCategoryDescription$></p>
  <ul>
   <MTArchiveList>
    <MTEntries category="JunkImage">
     <MTCollect tags="img">
      <MTCollectThis show="0"><$MTEntryBody$></MTCollectThis>
      <MTIfCollected tags="img">
       <MTCollected tags="img">
        <li>
         <a href="<$MTEntryLink$>" title="<$MTEntryTitle$> (<$MTArchiveDate format="%Y-%m-%d"$>)"><img src="<$MTCollectedAttr attr="src"$>" height="60" alt="<$MTEntryTitle$> (<$MTArchiveDate format="%Y-%m-%d"$>)" /></a>
        </li>
       </MTCollected></MTIfCollected>
     </MTCollect>
    </MTEntries>
   </MTArchiveList>
  </ul>
 </MTIfCategory>
<MTIfNotCategory name="Photo">
 <MTIfNotCategory name="JunkImage">
  <div class="mtHeading2">
   <h2><$MTArchiveTitle$> Index</h2>
   <p><$MTCategoryDescription$></p>
   <ul>
    <MTEntries>
     <li>
      <a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>
      <span class="date">: <$MTEntryDate format="%Y-%m-%d (%a)"$></span>
     </li>
    </MTEntries>
   </ul>
  </div>
 </MTIfNotCategory>
</MTIfNotCategory>

以下その結果

  • Photo
  • Image
  • その他のカテゴリページ

つっても以前と見た目もソースも変わってないけど。しかしこれで Photo カテゴリと JunkImage カテゴリはサムネイルでゅらでゅらページで生成。それ以外はうちのデフォルト挙動であるタイトルでゅらでゅら方式で生成。てゆう、サムネイルのテンプレートをどこに登録しとくか。てゆうアレでした。

つーこって以下、前回の状態で問題だった箇所。

  1. 前回はサムネイルページをインデックス・テンプレートとして生成してました。
  2. なして Category Archive ではなくインデックス・テンプレートで新規作成したかとゆうと、
  3. Category Archive で吐き出される単なるテキストページを、インデックス・テンプレート群で上書きさせる為
  4. みたいな MT のリビルド挙動順序的結果オーライ方法。略してアフォ。

だもんで、

  1. インデックス・テンプレートとして生成してる為、サムネイルとは関係の無いカテゴリの記事を投稿しても、常にサムネイルページはリビルドられる。
  2. 勿論サムネイルとは関係の無い記事を編集・保存する時もサムネイルページはリビルドられる。
  3. そしてコメンツ・トラバ受信時にもサムネイルページはリビルドられる。(Archive Temperate 群も即リビルドるように書き換えてるので。)
  4. とにかく不必要にサムネイルページがリビルドられる。

その結果、

  1. いちいちサムネイル生成し直してるからおっそいのなんのって。
  2. さ、さくら追い出されたらもう行くとこ無いですよとかフツーに gkbr。
  3. 案の定、記事投稿時 C-u C-c w s すると mapae 上でタイムアウトする。(投稿・編集等は mapae for xyzzy 使用。)
  4. てゅーかカテゴリ選択モード上での一発保存 & リビルド C-u C-c C-c が利かねえ。
  5. 何か今度は TRANSPORT: 500 Can't connect to www.mushline.com:80 (Bad hostname 'www.mushline.com') とか出たよ!
  6. しかし mapae 上で 500 エラーが出ても DB には入っちゃうらしいので、
  7. 気付かずに mapae 上でうにょうにょしてると二重投稿とか。
  8. とりあえず MT 管理画面へ・・・。
  9. めんどくせえ! PeP

ってな感じで、

  1. mapae 上の問題は自分自身に対する不具合なのでまあいいとして、(いいのかよ
  2. お客さん(誰)がコメンツ・トラバして下さる時にも影響があるのはちょっとっつーかだいぶいかんなー。
  3. などとん゛ーむん゛ーむといつものごとく悶々としてたら
  4. WebDesining at 仕事場でそれらしきぷらぎん発見。
  5. あーこれかーこれ <MTCategoryNext> とか <MTIfCategory> とかよく聞くやつだよなあ。
  6. あふむふむ <MTIfCategory> 使って特定のカテゴリのテンプレを弄れるのかー。
  7. んあ゛ー例えば <MTIfCategory> 使って Photo カテゴリならサムネイル用の記述を吐き出す。とかかだよなあ。
  8. ってこれじゃんすか! PeP

とゆう事でした。(長

相変わらずあんましよく分かってないけどとりあえずこれでいけるっぽげる。コメンツもフツーにすんなり通るようになった。記事投稿も 500 エラる事なくなった。不必要なリビルドはせんでも良くなった。なんとか問題解決っぽげた。

そいやこの Supplemental Category Tags プラギン、MT を CMS として使えるみたいな感じのやつなのね。なんかぐぐってたら皆 regex 系のプラギンも一緒に入れてたけど、うちの場合は別に無くてもいけた。それ以前に正規表現とか分かんねーよ。良かったよ。

以上!

現在は Movable Type 4 標準機能 MTAssets タグを使用してサムネイルページを生成しています。

Utilities

Genre

Archives

Thumbnails: 838