お薦め ページ


メニュー

ハワイ島 遊覧飛行ツアー

ハワイ島 B&B・ホテル

ハワイ島 不動産情報

ハワイ島 情報・観光ガイド

ブログ(Blog)

その他

関連サイト

: カテゴリー :

MTアーカイブ

2005年5月31日

Movable Typeのアーカイブ(6)「週別アーカイブ一覧」

以前『Movable Typeのアーカイブ(4) 「週別アーカイブ」』で触れたとおり、このブログでは、「週別アーカイブ」も作成されるように設定してある。

加えて、その「週別アーカイブ」に対するリンクを張るために新たに「週別アーカイブ一覧」というページが構築されるようにテンプレートを追加しているが、それについて少し解説してみたい。

ご覧のページの右側の「アーカイブ」セクションの最下に「週別アーカイブ一覧」というリンクがある。 このリンク先のアドレスは、「http://www.skymerica.com/blog/yotsumoto/WeeklyList.html」となっており、日付毎のアーカイブやカテゴリー毎のアーカイブの様に、格納するアドレスがエントリーによって変化することはない。このように格納アドレスが固定される場合は、インデックス・テンプレートに登録するとよい。

具体例でいくと、この「週別アーカイブ一覧」を実現するためにテンプレート管理画面の「インデックス・テンプレート」セクションに新たなテンプレートを作成した。「テンプレートの名前」欄に「週間アーカイブ一覧」、「出力ファイル名」欄を「WeeklyList.html」としている。「テンプレートの名前」欄は何でもよいのだが、自分でわからなくなるといけないのでこのような名前にした。ここで設定した「出力ファイル名」欄の値が、ブログサイトのURL、つまりこのブログでは「http://www.skymerica.com/blog/yotsumoto/」、からのパス名となる。

では、テンプレートファイルの中身は、というと実際は長いのだが、
実質的に週間アーカイブへのリストを作っているのは、

<ul class="ArchiveList">
<MTArchiveList archive_type="Weekly">
<li><a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a></li>
</MTArchiveList>
</ul>

と、わずか5行である。

簡単に解説すると、「<MTArchiveList archive_type="Weekly">」で、週間アーカイブのリストを出力するように指定し、その2行後の「</MTArchiveList>」までの間に、週間アーカイブのリストが出力される。

「<$MTArchiveLink$>」が週間アーカイブへのリンクアドレスなので、それを「<a>」タグて指定し、それを「<$MTArchiveTitle$>」でタイトル表示しているだけである。

表示の形式はスタイルシートで変更できるが、これはついてはまた別のブログで。

最後に、画面右側を表示するテンプレートの中で、

<a href="<$MTBlogURL$>WeeklyList.html">週間アーカイブ一覧</a>
というリンクを追加すれば完了。ここの「<$MTBlogURL$>」がブログサイトのURLを現している。

このように、週間アーカイブを実現するのは、非常に簡単である。


カテゴリー: MTアーカイブ     14:04 | コメント (0) | トラックバック (0)

2005年5月26日

Movable Typeのアーカイブ(5) カテゴリーアーカイブの「アーカイブ・ファイルのテンプレート」欄のデフォルト値は?

最近「アーカイブ・ファイルのテンプレート」について考察しているが、今回は特に、カテゴリーアーカイブの「アーカイブ・ファイルのテンプレート」欄について考えてみる。

管理画面、「設定>アーカイブの設定」ページの「アーカイブ」セクション「アーカイブ・ファイルのテンプレート」欄はデフォルトで空白である。 しかし、この欄が空白でもデフォルトと思われる場所にうまくアーカイブが作成されてゆく。

これに関しては、『Movable Typeのアーカイブ(2) 「アーカイブのデフォルト格納場所』でレポートした。

次の疑問が、このデフォルト値と等価なテンプレート・タグはいったいなんだろうか、ということ。 つまり、「アーカイブ・ファイルのテンプレート」欄にどんなテンプレート・タグを書けば、デフォルトの場合と全く同じ出力(アーカイブ)が再構築されるか、ということ。

5つあるアーカイブの種類のうち、「個別」「日別」「週別」「月別」に関しては、デフォルトと等価なテンプレート・タグが記述できそうである。

例えば、簡単なところで、月別アーカイブの「アーカイブ・ファイルのテンプレート」欄に

<$MTArchiveDate format="%Y/%m"$>/index.html
と記述しても、構築されるアーカイブは変化しない。

ところが、カテゴリーアーカイブについては同様には行かない。 例えば、単純に

<$MTArchiveCategory dirify="1"$>/index.html
としてみると、半角英数字のみでかつサブカテゴリーがない場合には問題ないが、日本語版の場合、特にカテゴリー名が日本語のみで記述されていると、「dirify」した時に、MTArchiveCategoryの結果が全て除去されてしまう。このような場合でも実際のデフォルト値(空白)では、「cat1」というようなユニークなカテゴリーのディレクトリ名が自動的に作られている。

また、カテゴリーアーカイブはデフォルトではサブ・カテゴリーに対応している。 果たしてこれを記述できるテンプレートタグが標準で存在しているのだろうか?

いろいろ試してみたが、今のところ見つけられていない。 もし、この辺について詳しい方がおられたら、コメントなりトラックバックして頂きたい。

カテゴリー: MTアーカイブ     16:51 | コメント (0) | トラックバック (0)

2005年5月24日

Movable Typeのアーカイブ(4) 「週別アーカイブ」

前回の『Movable Typeのアーカイブ(3) 「アーカイブ・ファイルのテンプレート」』の続きとして、「週別アーカイブ」を取り上げてみる。

週別アーカイブは、Movable Type に準備はされているものの、デフォルトで有効化もされておらず、また、有効化しても、そこに対するリンクをどうやって張るか、という問題もある。そこで、このブログ「シリコンバレー24時」の例を紹介する。

このブログにおける 週別アーカイブ の「アーカイブ・ファイルのテンプレート」欄は、

<$MTArchiveDate format="%Y/%m/week%d"$>.html
としている。 これで「西暦4桁/月2桁/week 日2桁 .html」の週別アーカイブができる。 ちょっとわかりにくいので例を挙げることにする。 例えばこのエントリーは、2005年05月24日のエントリーである。 この05月24日が含まれる週が開始される最初の日(日曜日)は05月22日である。 よって、この05月24日のエントリーが含まれる週別アーカイブは、
.../arch/2005/05/week22.html
となる。

では、この週別アーカイブに対するリンクを張るためにどうしたか、というと、「週間アーカイブ一覧」というページが自動的に構築されるようにテンプレートを作った。 また、その「週間アーカイブ一覧」へのリンクとして、画面右側の「アーカイブ」欄から、その「週間アーカイブ一覧」へのリンクを作った。 このブログでは、画面右側は全ページ共通としているので、どのページからも「週間アーカイブ一覧」にアクセスできることになる。

「週間アーカイブ一覧」や、そこへリンクするためのテンプレートでの記述については別ブログで説明することにする。

カテゴリー: MTアーカイブ , MTテンプレートタグ     14:31 | コメント (0) | トラックバック (0)

2005年5月23日

Movable Typeのアーカイブ(3) 「アーカイブ・ファイルのテンプレート」

管理画面、「設定>アーカイブの設定」ページの「アーカイブ」セクションに「アーカイブ・ファイルのテンプレート」という欄がある。 デフォルトでは全て空白になっている。この欄が何を設定するためのものなのか、疑問に思った方も多いのではないだろうか。実を言うとこの私も、先日までこの欄の使い方がわかっていなかった。

まず、画面の説明を読んでみると、「アーカイブのテンプレート毎に、出力パス名をカスタマイズしてください。」 とある。 これだけでは、まだよくわからないので、付属のヘルプ画面、もしくは、Movable Typeのオンライン・マニュアルのアーカイブの設定 を見てみる。 結局の話し、ここに書いてある事が理解できれば、この「アーカイブ・ファイルのテンプレート」欄を使いこなすことができるわけである。

また、別の解説として、「各種アーカイブファイルを効率的に構築する」に図入りで丁寧に解説してあるので、非常に参考になると思う。

既にマニュアルや良い解説ブログがあるので、ここでは、このブログ「シリコンバレー24時」で使っている「アーカイブ・ファイルのテンプレート」欄の設定例をいくつかご紹介しよう。

個別アーカイブ
以前のブログ『Movable Type のカテゴリー(8) 「同一ディレクトリ名問題」』ではカテゴリー名について触れたが、個別アーカイブのファイル名での同様な問題が起きる可能性がある。そのため、個別アーカイブの「アーカイブ・ファイルのテンプレート」欄もデフォルトから変更してしまった。具体的には、

<$MTArchiveDate format="%Y/%m/%d/"$><$MTEntryID pad="1"$>.html
としている。これで「西暦4桁/月2桁/日2桁 のディレクトリの下に、エントリー毎にユニークな番号6桁のファイル名 + .html 」のアーカイブができる。
例えば、このエントリーであれば、
.../arch/2005/05/23/000048.html
という事である。

日別アーカイブ
日別アーカイブの「アーカイブ・ファイルのテンプレート」欄は、

<$MTArchiveDate format="%Y/%m/%d/"$>index.html
としている。 これで「西暦4桁/月2桁/日2桁 のディレクトリの下に、index.html」の日別アーカイブができる。
例えば、このエントリーであれば、
.../arch/2005/05/23/index.html
という日別アーカイブに含まれることになる。

カテゴリー: MTアーカイブ , MTテンプレートタグ     10:20 | コメント (0) | トラックバック (0)

2005年5月22日

Movable Typeのアーカイブ(2) 「アーカイブのデフォルト格納場所」

管理画面、「設定>アーカイブの設定」ページの「アーカイブ」セクションの「アーカイブ・ファイルのテンプレート」欄はデフォルトで空白になっている。この欄の使い方はいずれ触れるとして、現段階では、この欄が空白の状態で、それぞれのアーカイブがどこになんと言う名前で作られるかを探る。

まず、アーカイブの格納場所を議論するにあたり基準となるアドレスが必要となる。Movable Typeはそれを、管理画面「設定>基本設定」ページの「ローカル・アーカイブ・パス:」と「アーカイブのURL:」欄で設定している。例えば、この「シリコンバレー 24時」ブログでは、「アーカイブのURL:」の値を「http://www.skymerica.com/blog/yotsumoto/arch/」と指定している。

以下が、各アーカイブ毎の格納アドレスの解析結果をまとめたものである。 例として、2005年05月12日に、タイトルが日本語の文字だけで綴られたエントリーが、あるカテゴリーに属する場合、このエントリーが何処に格納されるかを見てみる。

個別アーカイブ
「アーカイブのURL:」から、西暦4桁/月2桁 のディレクトリに、タイトルをdirifyした結果のファイル名に、拡張子を.html をつけたファイル。ただし、タイトルが日本語のみだと、dirifyした結果が空白となってしまうため、その様な場合は、「post_4.html」の様なフォーマットになり、数字部分が重複しないように増えて行く。
今回の例では、
.../arch/2005/05/post_4.html
となる。

月別アーカイブ
「アーカイブのURL:」から、西暦4桁/月2桁 のディレクトリの下に、index.html というファイル名で作られる。このファイルに1月分のエントリーが全て含まれる。
今回の例では、
.../arch/2005/05/index.html
となる。

カテゴリー アーカイブ
「アーカイブのURL:」の下に、カテゴリーのタイトルをdirifyした結果をディレクトリ名として、ディレクトリが作られ、その下に、index.html というファイル名で作られる。カテゴリーのタイトルに関しては、エントリーのタイトル同様、全て日本語文字だとdirifyした結果が空白となってしまうため、その場合は、「cat1」のようなディレクトリ名になり、数字部分が重複しないように増えて行く。
今回の例では、
.../arch/cat1/index.html
となる。

日別
「アーカイブのURL:」から、西暦4桁/月2桁/日2桁 のディレクトリの下に、index.html というファイル名で作られる。このファイルにその日1日分のエントリーが全て含まれる。
今回の例では、
.../arch/2005/05/12/index.html
となる。

週別
これは先に例を挙げたほうがわかりやすいと思う。今回の例では、まず、5月12日の週の始まり(日曜日)は5月8日である。よって、5月12日分のエントリーが含まれる週別アーカイブは、
.../arch/2005/05/08-week/index.html
のようになる。

カテゴリー: MTアーカイブ     02:28 | コメント (0) | トラックバック (0)

2005年5月21日

Movable Typeのアーカイブ(1) 「アーカイブの有効化」

管理画面、「設定>アーカイブの設定」ページの「アーカイブ」セクションの表を見てみると、デフォルトでは、「日別」、「週別」のアーカイブはチェックされていない。折角用意されているこの2つのアーカイブを有効にすることを考えてみる。

まず、実験として、これらの2つにチェックを追加して、「変更を保存」後、「サイトの再構築」を行ってみた。再構築されたブログサイトを見てみると何の変化もない。従来どおり、「個別」、「月別」、「カテゴリー」のアーカイブへリンクを辿ることはできるが、新たに加えたはずの「日別」、「週別」のアーカイブをブログ上から見つけることはできなかった。Movable Typeの導入当初も同じ実験を行ったのだが、何の変化もなく、うまく動作しているのかどうかの確認がとれなかったので、その時はすぐにもとの設定に戻してしまった。

今回は、もうちょっと深く解析してみるため、サーバーのshellにログインしてから中を見てみることにする。すると、実はしっかりと日別アーカイブと週別アーカイブができているのであった。ただ、Movable Typeのデフォルトのテンプレートでは、再構築されたブログページからは何のリンクも張られないので、今までその存在に気づかなかったわけだ。

教訓としては、今後、アーカイブの種類を増やす場合は、それに追随して、テンプレート側もそれに対応した変更を加えなければ意味が無いということである。では、どこにどんな形でアーカイブができているのか、それらをどうやってブログページからアクセスできるようにテンプレートを変更してゆくのか、について探ってゆく。

カテゴリー: MTアーカイブ     10:47 | コメント (0) | トラックバック (0)

2005年5月16日

Movable Typeのアーカイブ(1) 「テンプレートとアーカイブを関連付ける」編

Movable Typeのアーカイブを取り扱うのは簡単とは言えない。それなりに、Movable Typeがアーカイブをどのように構築しているのかのメカニズムを理解していないと、使いこなすことができないようだ。これについても、例のごとく、少しずつ解析してゆく。

まず、「設定>アーカイブの設定」ページを見てみる。 アーカイブの種類として、「個別」、「日別」 、「週別」、「月別」、「カテゴリー」 の5つがあるのがすぐにわかる。その内、デフォルトで有効になっている、つまり、左の四角にチェックが入っているのは、「個別」、「月別」、「カテゴリー」 の3つである。

それらはそれぞれ、「個別 -> 個別エントリーアーカイブ」、「月別 -> 日付アーカイブ」、「カテゴリー -> カテゴリー・アーカイブ」 というテンプレートと関連付けられている。

この関連付けは、「設定>アーカイブの設定」ページの「新しく、テンプレートとアーカイブを関連付ける。」のセクションで行われている。 新規の関連付けは、ここで、「アーカイブの種類」欄と「テンプレート」欄でそれぞれの項目を選択後、[追加]ボタンを押すだけである。 この際のテンプレートは「テンプレート」画面の「アーカイブに関連したテンプレート」で事前に登録しておく必要がある。
また、この新規の関連付けの結果は、その下の「アーカイブ」セクションの一覧ですぐに確認できる。

カテゴリー: MTアーカイブ     01:42 | コメント (0) | トラックバック (0)

2005年5月15日

Movable Type のテンプレート・スタイルについて(7) 「アーカイブに関連したテンプレート」編

Movable Typeの管理画面のテンプレート・ページは大きく4つのセクションに分かれているが、その2つめのセクションが「アーカイブに関連したテンプレート」のセクションである。

このセクションには初期値として、「カテゴリー・アーカイブ」「個別エントリーアーカイブ」「日付アーカイブ」の3つのテンプレートが登録されている。

この「アーカイブに関連したテンプレート」セクションの下には、「アーカイブ・ファイルのオプションを編集」というリンクがある。 これは、ブログ設定画面の「アーカイブの設定」ページへとリンクされている。

このように、これらのテンプレートは、アーカイブの取り扱い全般に関わる部分でもあるので、今後これについては、専用のカテゴリー「MTアーカイブ」で議論して行くことにする。

カテゴリー: MTアーカイブ , MTテンプレート     10:16 | コメント (0) | トラックバック (0)

 
ハワイ島での遊覧飛行ツアーとB&Bのスペシャリスト、スカイメリカ
Copyright © 2003,2009 Skymerica Corp. All rights reserved.