カテゴリアーカイブを折り畳む

ヒトにMovable Typeを紹介したりしたモンで、自分で自分のblogをチェックして状況を確認することが何度かあったんですが…

「う〜。カテゴリアーカイブが縦に長すぎてすっげぇ見づらいなぁ」

特にblogカテゴリのアーカイブとかが縦にすんげぇ長くなってきてまして、これからもエントリが増える可能性が高い→洒落にならない長さになってしまうことが明白なんで、早めに対策しとくことにします。

基本方針は

LunaTearさんの『カテゴリのパンク』丸パクリ」(ぉ

まず、Category Archiveのテンプレートを

<MTEntries lastn="7">

として新しい7件のみの表示に変更し、

<MTEntryIfExtended>
<span class="extended"><a href="<$MTEntryPermalink$>#more">"<$MTEntryTitle$>”...の続きを読む</a></span><br />
</MTEntryIfExtended>

として追記部分を表示しない(「〜の続きを読む」を表示する)ように設定。

そして、「■に個別リンク」「日付は表示しても時刻は表示しない」という基本方針に基き、

</MTEntries>
<hr />
<div><b><font size="4">その他のエントリ</font></b></div>
<MTEntries lastn="3000" offset="7">
<div class="blogbody">
<div><h3 class="title"><a href="<$MTEntryPermalink$>">■</a> <$MTEntryTitle$></h3>
<$MTEntryDate format="%Y/%m/%d"$></div><br />
<$MTEntryBody remove_html="1" trim_to="300"$>.....
</div>
<hr width="80%" />
</MTEntries>
</div>

としました。


  1. 水平線引いて「その他のエントリ」と表示して
  2. 「最近の7つ以外のエントリ」を抽出
  3. ■にMTEntryPermalinkでリンクを張って
  4. エントリのタイトルを表示し
  5. 「年/月/日」形式で日付を表示
  6. エントリから切り出した300字と「...」を表示
  7. (区切りとして)80%幅の水平線を引く

という内容です。Context.pmの修正も、LunaTearさんのものをそのまま実施。(どうもありがとうございます)

元はsanitize="br p"だった(←本当はカンマ区切り?)んすが、要約なら改行や段落を含む全要素を無害化して詰めちゃっていいだろうという判断で、sanitize記述を変更してます。ホンマにコレで良かったんだろか??(^^;;

違いました。「HTMLタグを全部取り除く」指定はremove_html="1"でした。

300字という切り出し量は非常に適切で、何度かいじったんですが結局元に戻しました(^^;)

<$MTEntryDate$>の書式等については、(いつものように)Movable Type 取説: ひな形 TAG たちをはげしく参考にさせて頂きました。