クールにページ分割 for Movable Type – コーディング最適化

MOVABLE TYPE TIPS - クールにページ分割 for Movable Type - コーディング最適化

PageButeというMT Pluginを使えば、Movable Typeを簡単にページ分割できる。前回のエントリーでは、設置方法から基礎コーディングを紹介したが、今回はもう少し発展させ、スタイルシートで容易にデザインできるようにコーディングする方法を紹介する。

ナビゲーションにこだわりを

MOVABLE TYPE.JP

ページ分割した場合にもっともユーザビリティ、デザインで重要なのが各ページ間を移動させるためのナビゲーションの部分にほかならない。前回のエントリーでは、ただ単に<span>〜</span>で囲ったテキストではき出していたが、もう少し一工夫させて、デザインしてみよう。もちろん見かけだけではなく、利用者側の扱いやすいように、ユーザビリティを考えたナビゲーションにするのが望ましい。

前回のエントリーのサンプルコード

<div>
<MTIfPageBefore>
<span><$MTPageBefore delim="前に戻る"$></span>
</MTIfPageBefore>

<span><$MTPageLists delim=", "$></span>

<MTIfPageNext>
<span><$MTPageNext delim="次に進む"$></span>
</MTIfPageNext>
</div>

最適化後のサンプルコード

<ul id="page-list">
<MTIfPageBefore>
<li id="previous-page"><$MTPageBefore delim="前に戻る"$></li>
</MTIfPageBefore>

<li><span><$MTPageLists delim='</span></li><li><span>'$></span></li>

<MTIfPageNext>
<li id="next-page"><$MTPageNext delim="次に進む"$></li>
</MTIfPageNext>
</ul>

前回は<div>〜</div>の間にナビゲーションを表示させていたが、<ul>〜</ul>で囲うように変更し、<li>〜</li>で前後ページへのリンクや、各ページリンクを表示するようにする。コーディングの理念からも、この処置は適切なはずだ。

前後ページへのリンク箇所は特に変更はないが、是非とも<li>タグにid付けしてもらいたい。これは各ページリンクとのデザインの差別化を図るためにも必須な事。その他、id付けではなく、classで差別化を図っても良しだ。

アトリビュートに工夫を

今日のエントリーで一番重要なところが、各ページリンクを表示させる<$MTPageLists$>タグのアトリビュートだ。下記は前述のコードの一部。

<li><span><$MTPageLists delim='</span></li><li><span>'$></span></li>

注目すべき点は、アトリビュートに</span></li><li><span class="page-list-item">と記述し、<li><span>〜</span></li>を繰り返し表示するようにしてあること。このアトリビュートは、ページリストリンクが複数ある場合に限り表示される仕組みなので、<$MTPageLists$>直前の<li><span>でリストタグ+スパンが開始され、アトリビュートの</span></li>で一度閉じ、次に続く<li><span>でリストタグ+スパンが再度開始、最後に<$MTPageLists$>直後の</li>で閉じる。もしもエントリーが少なく、1ページのみの表示となった場合は、アトリビュートは無視されるので普通に<li><span>〜</span></li>で囲まれるだけで問題はない。

ちなみに、<span>を入れ子にする必要は特にないが、後々のスタイルシートでデザインする事を踏まえて今回は入れ子にしてある。なくてもあっても変わらないが、あってもコードが少し複雑になるだけで、特に困ることはない。後々のために、是非とも入れておこう。

次はいよいよ

前回のエントリーと比較して、今回最適化を行ったコードは、スタイルシートでスタイルを適応しやすい事だけに集中した。次回はいよいよスタイルシートの記述に突入する。コーディングとデザインを考えながらコーディングしていく楽しさを味わうことができるのは、WEBデザイナーのみに許された特権だ。是非とも楽しんでもらいたい。

related story