Movable Type 3.3 エントリー・タグ詳説
Movable Type 3.3 から追加されたタグ機能の利用方法が下記のページに掲載されています。
Movable Type Beta Weblog:Everybody loves tags!
以下、元記事で紹介されているタグの機能や利用方法について超意訳で紹介します。
1.タグとは?
タグは、項目の特定の一部分を説明するための簡単な単語、あるいは語句です。例えば、私は(私自身に)
human, male, guy, sailor, product manager, san franciscan, shaved head, tall, joke-cracking, six apartisan, stressed-out, geek
というタグ付けをするかもしれません。それらのタグの全てが、私が誰であるかに関して、より良い情報を与えてくれます。
Movable Type ではエントリーにタグを与える機能を提供します。例えば、あなたはこの記事に関するエントリーを書き、エントリーに、
movable type 3.3, movable type, new release, beta, feature, tagging, entry tags
というタグを付与することができます。
そして後でこのエントリー(や他のエントリー)を見つけるのに使用することができる、特別なメタデータ(MTタグ)を提供します。
Movable Type 3.3 では「自動同義語」をサポートしています。例えば "Movable Type" は "movabletype" と同等であるとみなします。特定のタグを共有するエントリーは、自動的に関連づけられます。これで Movable Typeインタフェース、またはあなたの公開ブログから関連する内容を見つけることが簡単になります。
タグのデフォルト区切り文字はカンマですが、
メイン・メニュー > システム・メニュー > 投稿者 > [投稿者名]
の「タグ区切り」でスペース文字に変更することもできます。
エントリー編集画面のタグ・フィールドでは、使用済みのタグを利用した自動補完機能があります。
2.キーワードとの違い
キーワードはエントリーに括りつけられた、MTEntryKeywords によって出力される文字列で、検索することも可能ですが、エントリー・タグは強力かつ洗練されたタグのセットで、「タグサーチ」という機能で特定のタグが与えられたエントリーを検索します。
将来は XML-RPC API でエントリー・タグがサポートされる予定です。
3.カテゴリーとの違い
タグは関連するエントリーを分類・組織化し、検索を助けるという点においてはカテゴリーと同様ですが、下記の点に相違があります。
- Model:
- カテゴリは目次のようにトップダウン的な設定ですが、タグは本のインデックスのようにボトムアップで設定されます。
- Specificity:
- カテゴリは汎用的で、エントリーを副カテゴリに分配することで特性を獲得する場合に適しています。タグは限定的で、タグの組み合わせで(エントリーの)特性を獲得する場合に適しています。
- Planning:
- カテゴリは少ない数で計画性があり、時間の経過によって一貫性のあるものとなります。タグは計画性がなく、各項目の細部に基づいたものになります。
- Archiving vs searching:
- カテゴリーは「アーカイブ」として異なるページに各カテゴリーに関連するエントリーを静的に格納します。タグも1ページに特定のタグによるエントリーを表示しますが、それらのページはダイナミック(再構築不要)に表示されます。
4.エントリー・タグの追加と削除
タグを利用するには、エントリー編集画面の下にある「画面の表示設定を変更」をクリックして、ダイアログの「エディター・フィールド」欄の左側にあるラジオボタンが「基本」になっているので「すべて」または「カスタム」を選択します。
「すべて」を選んだ場合はそのまま右下の「保存」をクリックします。「カスタム」を選んだ場合は、「タグ」というチェックボックスにチェックをしてください。
追記:左下にある「アクション・バー」で「両方」を選択しておくと「保存」「確認」ボタンがエントリー上部にも表示されて便利です。
エントリー・タグフィールドについて
エントリー・タグフィールドにタグを設定します。タグを複数記述する場合はカンマで区切ってください。タグはカンマ以外のどのような文字列も許容しますが、
@ ! ` \ < > * & # / ~ ? ' " . , = ( ) $ { } [ ] ; : <space> + -
以外の文字列を入力することで正常に動作します。入力した英文字は最終的に小文字として扱われます。
例外的な利用方法として、タグに "@" を付加することでタグは「プライベート・モード」として機能します。プライベート・モードのタグはブログ上で表示されることはありませんが、検索インタフェースや管理インタフェースで使用することができます。
エントリー・タグの自動補完
エントリー・タグを入力フィールドにタイプした時、使用済みのエントリー・タグと一致する文字列で始まるのであれば、それらが候補としてドロップダウンリストで表示されます。リストを直接クリックするか上下キーで選択した後 Tab キーを押すと、エントリー・タグの入力が補完されます。
5.エントリー・タグの管理
エントリー・タグはブログ全体およびブログ単位のどちらでも管理可能です。それぞれの管理画面のサイドバーにある「タグ」をクリックすると管理画面に遷移します。
削除
削除したいタグの左側にあるチェックボックスをチェックして、削除ボタンをクリックします。
タグ名の変更
タグ名のリンクをクリックするとテキストボックスに切り替わるので、任意の名称を入力して「名前の変更」をクリックします。
タグのマージ
前記の「タグ名の変更」で、すでに存在するタグ名を設定すると「マージ(合体)しますか?」という旨のダイアログが表示されます。「OK」をクリックするとマージされます。
6.エントリー・タグの表示
Movable Type 3.3 ではエントリー・タグ表示のために、次のMTタグを提供します。
- MTTags
- MTTagName
- MTTagID
- MTTagCount
- MTTagRank
- MTTagSearchLink
- MTEntryTags
- MTEntryIfTagged
以下、テンプレートに対するエントリー・タグの設定方法です。関連タグを青色で示しています。
エントリーにタグを表示
<MTEntries>
The entry "<$MTEntryTitle$>" is tagged:
<MTEntryTags glue=", "><$MTTagName$></MTEntryTags>
</MTEntries>
エントリーにタグを表示(タグの有無判定あり)
<MTEntries>
The entry "<$MTEntryTitle$>"
<MTEntryIfTagged>
is tagged: <MTEntryTags glue=", "><$MTTagName$></MTEntryTags>
<MTElse>
has no entry tags.
</MTElse>
</MTEntryIfTagged>
</MTEntries>
タグ検索用リンクを表示
<MTEntryTags glue=", ">
<a href="<$MTTagSearchLink$>"><$MTTagName$></a></MTEntryTags>
tag 属性で指定したタグの有無で表示を制御
<MTEntries>
[...MTEntry data...]
<MTEntryIfTagged tag="important">
<p><img src="/movabletype/docs/3.2/images/gold_star.gif"
alt="This is important!" /></p>
</MTEntryIfTagged>
</MTEntries>
ブログで使用されるすべてのタグを表示
<ul>
<MTTags>
<li>
<a href="<$MTTagSearchLink$>"><$MTTagName$></a>
</li>
</MTTags>
</ul>
ブログで使用されるすべてのタグを表示(タグカウントつき)
<ul>
<MTTags>
<li>
<a href="<$MTTagSearchLink$>"><$MTTagName$> (<$MTTagCount$>)</a>
</li>
</MTTags>
</ul>
タグクラウド(タグを雲のように表示)
<div class="module-tagcloud module">
<h2 class="module-header">Tag cloud</h2>
<div class="module-content">
<ul class="module-list">
<MTTags>
<li class="module-list-item taglevel<$MTTagRank$>">
<a href="<$MTTagSearchLink$>"><$MTTagName$></a>
</li>
</MTTags>
</ul>
</div>
</div>
- タグクラウドは下記のCSSが必要です。
.module-tagcloud .module-content {text-align: center; }
.module-tagcloud .module-content .module-list { list-style: none; }
.module-tagcloud .module-content .module-list .module-list-item { display: inline; }
.module-tagcloud .module-content .module-list li.taglevel1 { font-size: 19px; }
.module-tagcloud .module-content .module-list li.taglevel2 { font-size: 17px; }
.module-tagcloud .module-content .module-list li.taglevel3 { font-size: 15px; }
.module-tagcloud .module-content .module-list li.taglevel4 { font-size: 13px; }
.module-tagcloud .module-content .module-list li.taglevel5 { font-size: 11px; }
.module-tagcloud .module-content .module-list li.taglevel6 { font-size: 9px; }
特定のタグが与えられたエントリーのみ表示
<MTEntries tag="TAGNAME">
[...]
</MTEntries>
特定のタグが与えられたエントリー最新1件をトップに表示
<!-- The "banner" entry -->
<MTEntries tag="Important" lastn="1">
[...]
</MTEntries>
<!-- All other recent entries -->
<MTEntries>
[...]
</MTEntries>
注目して欲しいエントリー("notable" というタグを付与)をサイドバーに表示
<div class="module-archives module">
<h2 class="module-header">Notable entries</h2>
<div class="module-content">
<ul class="module-list">
<MTEntries lastn="5" tag="notable">
<li class="module-list-item">
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>
</li>
</MTEntries>
</ul>
</div>
</div>
tag 属性にNOTオペレータが付与されたタグを用いてエントリーの公開を抑止する
<MTEntries tag="NOT noindex">
[...]
</MTEntries>
アーカイブページでのタグクラウドのインクルード
再構築時のパフォーマンスの問題を回避するため、タグクラウドをアーカイブページに含める場合は、PHPによるモジュール化またはSSIを用いてください。