ブログから特定のカテゴリーだけを分離する

  • 投稿者:
  • カテゴリ:
このエントリーをはてなブックマークに追加

MovableTypeで構築されたBlogから特定のカテゴリーのエントリーだけを抜き出す方法です。

当然の事ながら最初はエントリーの数が少なく、エントリーをカテゴリー分けしていれば充分だと思いますが、だんだん、エントリーの数が増えてくると、さらに細かくカテゴリー分けの必要性が出てきますよね。サブカテゴリーで分ければある程度、細かい分類は出来ますがそれでも限界はあると思います。

ここのブログもそうです。カテゴリー分け自体、あまり細かくやっていないのでかなり閲覧性は悪くなってきています。そこで、エントリー数が増えたカテゴリーを分離して、新しいブログに移しました。

元々、MovableType/ムーバブルタイプにはエントリーデータの書き出し機能がありますが、これはブログ単位での書き出しになります。

実際に書き出されたファイルを開いてみればわかりますが、中身は一定のルールに従ってエントリーのデータが書かれたテキストファイルです。よって、このルールに従ってカテゴリーアーカイブファイルを生成して、分離したいカテゴリーのアーカイブファイルだけを新しいブログに読み込ませてやれば、エントリーの移動は簡単にできます。
エクスポートファイルについてはSixApart社の公式サイトに詳細があります。

1.書き出したいエントリーだけをまとめたカテゴリーを作成。
書き出したいエントリーをまとめるのはもちろんのこと、書き出したくないエントリーはこのカテゴリーから外します。こうする事で、書き出したファイルを編集する手間が少なくなります。
2.テンプレートのアーカイブに新規テンプレートを追加
  1. 「テンプレートを新規作成」をクリックして新規テンプレート作成画面を開きます。
  2. 「テンプレート名」に「カテゴリー別書き出しファイル」などの名前をいれます。
  3. 「テンプレートの内容」にエクスポートファイルと同じ形式のファイルが生成されるようにテンプレートを作成し保存ます。(下記の囲みの部分)
<MTEntries>
AUTHOR: <$MTEntryAuthor$>
TITLE: <$MTEntryTitle$>
STATUS: Draft
ALLOW COMMENTS: 1
CONVERT BREAKS: <MTEntryFlag flag="convert_breaks">
ALLOW PINGS: 1
PRIMARY CATEGORY: <$MTEntryCategory$>
CATEGORY: <MTEntryCategories glue=" CATEGORY: "><$MTCategoryLabel$></MTEntryCategories>

DATE: <$MTEntryDate format="%m/%d/%Y %I:%M:%S %p"$>
-----
BODY:
<$MTEntryBody$>

-----
EXTENDED BODY:
<$MTEntryMore$>

-----
EXCERPT:
<$MTEntryExcerpt$>

-----
KEYWORDS:
<$MTEntryKeywords$>

<MTComments>
-----
COMMENT:
AUTHOR: <$MTCommentAuthor$>
EMAIL: <$MTCommentEmail$>
IP: <$MTCommentIP$>
URL: <$MTCommentURL$>
DATE: <$MTCommentDate format="%m/%d/%Y %I:%M:%S %p"$>
<$MTCommentBody$>
</MTComments>

-----
<MTPings>
PING:
TITLE: <$MTPingTitle$>
URL: <$MTPingURL$>
IP: <MTPingIP>
BLOG NAME: <$MTPingBlogName$>
DATE: <$MTPingDate format="%m/%d/%Y %I:%M:%S %p"$>
<MTPingExcerpt>...
-----
</MTPings>
--------
</MTEntries>

3.テンプレートの書き出しの設定をします。
「設定→公開→アーカイブ・マッピング→マッピングを新規作成」に進み「アーカイブの種類:カテゴリー」、「テンプレート:作成したテンプレート」にして追加。
4.書き出しディレクトリ/ファイル名
出力フォーマットのプルダウンからカスタマイズを選んで、書き出しのディレクトリとファイル名をきめます。
例:myexport/<$MTCategoryID$>.txt
などとします。"/"で区切る事で自動的にディレクトリが作られます。ファイル名はカテゴリーIDを使うのが一番無難だと思います。
5.サイトの再構築
最後にサイトを再構築して終了です。先程設定したディレクトリ以下のふぁいるをダウンロードして、必要に応じてファイルを編集してください。
注:このテンプレートではエントリのサブカテゴリーも書き出しますが、サブカテゴリーが複数の場合は
CATEGORY: カテゴリーA CATEGORY: カテゴリーB
と書き出されカテゴリーごとに改行がされません。このままだとこの部分はきちんとMovableTypeに読み込まれないので、改行を加えて
CATEGORY: カテゴリーA
CATEGORY: カテゴリーB
とする必要があります。

Exportファイルの扱いについてはSixApart社の公式サイトを確認する事をお薦めします。
当方の環境、操作においては上記方法でエントリーの移動は出来ましたが、全ての方に当てはまるとは限りません。この方法を試される方は自己責任でお願いします。

このエントリーをはてなブックマークに追加