mtimport - Movable Typeの読み込みフォーマット
このドキュメントでは、Movable Typeのデータの取り込みで必要とされるフォーマットについて説明します。このメカニズムを使うと、他のコンテンツ管理システム(CMS)からエントリーやコメントを読み込めます。
基本の読み込みフォーマットは、 --------\n (「 - 」の8文字と改行コード)の文字列によって区切られたエントリーのリストから成ります。 各エントリーは2つの主要なセクションから成り、各セクションは、 -----\n (「 - 」の5文字と改行コードの文字列によって区切られます。
読み込むデータにHTMLが含まれている場合は、HTMLエンコードを使用しないでください。読み込みファイルのデータはMovable Typeのデータベースにそのままの形式で読み込まれます。 したがって、読み込むデータは、新しいエントリーを作成するときに入力するデータとまったく同じ形式にしてください。
後述の「例」にある短い読み込みファイル例をご覧ください。
メタデータの単位は、 KEY: VALUE の形式で表され、各メタデータは改行コードによって区切られます。 一つ一つのメタデータの順序は重要ではありません。
例:
AUTHOR: Foo Bar TITLE: A dummy title DATE: 01/31/2002 03:31:05 PM CATEGORY: News
エントリーの著者。著者の名前が読み込み先に存在しない場合は、新しい MT::Author レコードが作られ、その著者は、エントリーの読み込み先であるウェブログへの投稿権限を割り当てられます。 そしてエントリーがその新しい著者に割り当てられます。 著者が存在する場合、エントリーはその既存の著者に割り当てられます。このメタデータは、読み込む前に「 エントリーの投稿者を自分にする 」チェックボックスをチェックした場合は無視されますが、それ以外の場合は必要です。
エントリーのタイトル。タイトルを指定しない場合は、タイトルが、エントリー本文の最初の数文字から自動的に生成されます。このメタデータはオプションです。
エントリーが作成された日時。これは MM/DD/YYYY hh:mm:ss AM|PM のフォーマットで表されます。 AM|PM はオプションで、それがない場合、 hh は24時間制で表されます。このメタデータは必須です。
エントリーに割り当てられる主カテゴリー。カテゴリー名が読み込み先に存在しない場合は、新しい MT::Category レコードが作られ、エントリーがその新しいカテゴリーに割り当てられます。カテゴリー名が存在する場合、エントリーはその既存のカテゴリーに割り当てられます。
エントリーに割り当てられる副カテゴリー。複数の CATEGORY キーをメタデータ・セクションに記述することができ、それぞれが副カテゴリーを指定します。
例:
CATEGORY: Foo CATEGORY: Bar
カテゴリー名が読み込み先に存在しない場合は、新しい MT::Category レコードが作られ、エントリーがその新しいカテゴリーに割り当てられます。 カテゴリー名が存在する場合、エントリーはその既存のカテゴリーに割り当てられます。
PRIMARY CATEGORY で指定されたカテゴリーが、 CATEGORY としても指定されている場合、そのカテゴリーは副カテゴリーのリストから自動削除され、主カテゴリーとして設定されます。
PRIMARY CATEGORY を指定せず、 CATEGORY を使って1つ以上、副カテゴリーを指定した場合は、最初の CATEGORY が副カテゴリーではなく主カテゴリーとして使用されます。
エントリーの投稿の状態。有効な値は、 draft または publish のどちらかです。
エントリーの"allow comments(コメントの許可)"フラグの値。有効な値は、 0 または 1 のどちらかです。
エントリーの"allow pings(PINGの許可)"フラグの値。有効な値は、 0 または 1 のどちらかです。
エントリーの"convert breaks(改行の変換)"フラグの値。有効な値は、 0 または 1 のどちらかです。
エントリーはすべて読み込んだが、コメントは読み込んでいないシステムのデータを読み込む際に使用される特別のキー。このキーを使用するときには、 DATE キーが必要です。このメタデータは、コメントに関連するエントリーを調べるために使用します。タイムスタンプが一致するエントリーが存在しなければ、コメントは読み込まれません。 このメタデータを使う機会はあまりありません。
使用例:
NO ENTRY: 1
複数行フィールドは、 -----\n (「 - 」の5文字と改行コード)の文字列によって区切られています。 複数行フィールドはそれぞれ、フィールドの型を表示するキーで始まり、その後に改行コード、フィールドの実際の本文、の順で続きます。
例:
BODY: これは本文です。 ----- EXTENDED BODY: ここに本文の追記が表示されます。 ----- COMMENT: AUTHOR: Foo DATE: 01/31/2002 15:47:06 ここに このコメントの本文が来ます。 ----- PING: TITLE: Foo Bar URL: http://www.foo.com/baz/archives/000015.html DATE: 08/05/2002 04:05:23 PM ここに pingしたトラックバックの概要がきます。 -----
エントリーの本文。
エントリーの本文への追記。
エントリーの概要。
このエントリーに対する1つのコメントを示します。 複数の COMMENT セクションを表示することも可能です。その際、各セクションは標準の複数行フィールド・セパレータ( -----\n )によって区切られます。
COMMENT セクションでは以下のフィールドが使用可能です。
コメントの著者名。
コメントの著者の電子メールアドレス。
コメントの著者のURL。
コメントの著者のIPアドレス。
コメントが投稿された日時。 これは上記の DATA メタデータ・キーと同じフォーマットにする必要があります。
上記のキーのうち、どれとも一致しない行から、コメントの本文が始まります。この行から COMMENT セクションの終わりまでを、コメントの本文として扱います。 この説明が分かりにくい場合は、後述の「例」を参照してください。
このエントリーに対する1つのトラックバックを示します。複数の PING セクションを表示することも可能です。その際、各セクションは標準の複数行フィールド・セパレータ( -----\n )によって区切られます。
PING セクションでは以下のフィールドが使用可能です。
このpingのタイトル。
オリジナル・エントリーへのURL。
pingを送ったサーバーのIPアドレス。
pingの送信元のウェブログの名前。
pingが送られた日時。 これは上記の DATA メタデータ・キーと同じフォーマットにする必要があります。
上記のキーのうち、どれとも一致しない行からpingの概要が始まります。この行から PING セクションの終わりまでを、pingの概要として扱います。 この説明が分かりにくい場合は、後述の「例」を参照してください。
TITLE: A dummy title AUTHOR: Foo Bar DATE: 01/31/2002 03:31:05 PM PRIMARY CATEGORY: Media CATEGORY: News ----- BODY: これは本文です。 ----- EXTENDED BODY: ここに追記の本文が表示されます。 ----- COMMENT: AUTHOR: Foo DATE: 01/31/2002 15:47:06 ここに このコメントの本文が来ます。 ----- COMMENT: AUTHOR: Bar DATE: 02/01/2002 04:02:07 AM IP: 205.66.1.32 EMAIL: me@bar.com これは2番目の コメントです。 これは ここまで来ます。 ----- PING: TITLE: My Entry URL: http://www.foo.com/old/2002/08/ IP: 206.22.1.53 BLOG NAME: My Weblog DATE: 08/05/2002 16:09:12 これがMy Entryの 始まりで、以下続きます。 ----- -------- TITLE: ここに新しいエントリーが来ます。 AUTHOR: Baz Quux DATE: 01/31/2002 03:31:05 CATEGORY: Politics ----- BODY: これは2番目のエントリーの本文です。 これは 複数行から成ります。 ----- EXCERPT: このエントリーは追記がありませんが、 概要はあります。 特殊な例です。 ----- COMMENT: AUTHOR: Quux URL: http://www.quux.com/ DATE: 01/31/2002 04:23:01 PM このエントリーに対する最初のコメントを示します。 ----- --------