Movable Type CMSプラットフォーム Movable Type
ドキュメントサイト

Movable Type 7 ManualMovable Type 7 マニュアル

記事のインポートフォーマット

最終更新日: 2020.10.29

Movable Type の記事インポートフォーマットを使うと、他のシステムで作成した記事やコメントを登録できます。

読み込みフォーマットでは、記事を --------\n ( - の8文字と改行コード) の文字列によって区切ります。 各記事は、次の2つの主要なセクションから成り、各セクションは、 -----\n (「 - 」の5文字と改行コードの文字列) によって区切ります。

読み込むデータに HTML が含まれている場合は、HTML エンコードを使用しないでください。読み込みファイルのデータは Movable Type のデータベースにそのままの形式で読み込まれます。 したがって、読み込むデータは、新しい記事を作成するときに入力するデータとまったく同じ形式にしてください。

メタデータ・セクション

メタデータは、KEY: VALUE の形式で記述し、改行コードによって区切ります。 KEYとVALUEの区切りは、: です。: の後の半角スペースを忘れないでください。また、メタデータの順序に影響は受けません。


AUTHOR: Foo Bar
TITLE: A dummy title
BASENAME: filename
STATUS: Publish
ALLOW COMMENTS: 1
ALLOW PINGS: 1
CONVERT BREAKS: richtext
PRIMARY CATEGORY: News
CATEGORY: News
CATEGORY: Product
DATE: 08/08/2007 03:00:00 PM
TAGS: "Movable Type",foo,bar
CF50_BASENAME: textdata
    
AUTHOR:

記事の作成者名です。該当の作成者がシステムに登録されていない場合は、システムに追加し、該当のブログへの投稿の権限を設定します。

このメタデータを有効にするために、記事の読み込み操作は、システム管理者またはブログ管理者の権限がある方が、記事の作成者を自分にするオプションにチェックを付けて、行ってください。

TITLE:

記事のタイトルです。指定しない場合は、記事本文の先頭から自動的に生成されます。

BASENAME:

記事の出力ファイル名です。特に指定のない場合も構築後にファイル名が入力されます。

STATUS:

記事の状態です。Draft (下書き) または Publish (公開)、Future (指定日公開) のどちらかを設定します。大文字・小文字の区別はありません。STATUS キーが設定されていない場合は、ブログの設定の初期値を適用します。また、設定値に誤りが見つかった場合、処理を終了して記事を登録しません。

ALLOW COMMENTS:

記事のコメントを受信に関するフラグです。0 (受け付けない) または1 (受け付ける) のどちらかを設定します。ALLOW COMMENTSキーが設定されていない場合は、ブログの設定の初期値を適用します。

ALLOW PINGS:

記事のトラックバックを受信に関するフラグです。0 受け付けない) または1 (受け付ける) のどちらかを設定します。ALLOW PINGSキーが設定されていない場合は、ブログの設定の初期値を適用します。

CONVERT BREAKS:

記事の改行設定に関するフラグです。CONVERT BREAKS キーが設定されていない場合は、ブログの設定の初期値を適用します。

  • 0 (なし)
  • 1 (改行を変換)
  • markdown (Markdown)
  • markdown_with_smartypants (Markdown with Smartypants)
  • richtext (リッチテキスト)
  • textile_2 (Textile 2)
PRIMARY CATEGORY:

記事のメインカテゴリです。インポート先に該当のカテゴリが登録されていない場合、自動的に追加されます。

CATEGORY:

記事のサブカテゴリです。複数の CATEGORY キーをメタデータ・セクションに記述することで、複数のカテゴリを設定できます。カテゴリが登録されていない場合、自動的に追加されます。

CATEGORY: Foo
CATEGORY: Bar

PRIMARY CATEGORYで指定したカテゴリが、CATEGORYとしても指定されている場合、そのカテゴリは、サブカテゴリのリストから自動削除され、メインカテゴリとして設定されます。また、PRIMARY CATEGORY を指定せず、CATEGORYを使って指定した場合は、最初のCATEGORYの内容を、メインカテゴリとして設定します。

DATE:

記事の投稿日時です。フォーマットは、MM/DD/YYYY hh:mm:ss AM|PM です。AM|PM はオプションで、それがない場合、時刻は24時間制で処理します。

TAGS:

記事に設定したタグです。複数のタグが設定されている場合は , (カンマ) で区切ります。

もし、半角スペースを含むタグの場合は、"tag name" のように、" (ダブルクォーテーション) でかこみます。

NO ENTRY:

特定の日付の記事について、コメントやトラックバックを読み込むための特別なキーです。このメタデータは、DATE キーで指定した作成日の記事を検索し、記事があった場合のコメントやトラックバックを登録します。

CF50_BASENAME:

記事のカスタムフィールドを記述します。CF50_に加えてカスタムフィールドのベースネームを記述します。
例えば、ベースネームが my_field の場合は、CF50_MY_FIELD: に続けて、カスタムフィールドの値を記述します。

記事のインポートフォーマットでは、次の種類カスタムフィールドに対応しています。

  • テキスト
  • テキスト(複数行)
  • チェックボックス
  • URL
  • 日付と時刻
  • ドロップダウン
  • ラジオボタン

なお、カスタムフィールド自体の設定は自動ではインポート/エクスポートされないため、インポートするブログで同じベースネーム、タイプのカスタムフィールドを予め作成する必要があります。
カスタムフィールドは、Movable Type Pro の機能です。

複数行フィールド・セクション

複数行フィールドは、 -----\n (-の5文字と改行コード) の文字列によって区切ります。 次の例のように、複数行フィールドは、フィールドの型を表示するキーで始まり、その後に改行コード、フィールドの内容、の順で構成します。

BODY:
これは本文です。
----
EXTENDED BODY:
ここに本文の追記が表示されます。
----
EXCERPT:
ここに概要が表示されます。
----
KEYWORDS:
ここにキーワードが表示されます。
-----
COMMENT:
AUTHOR: Foo
DATE: 01/31/2002 15:47:06
ここにこのコメントの本文が来ます。
-----
PING:
TITLE: Foo Bar
URL: <a href="http://www.example.com/baz/archives/000015.html">http://www.example.com/baz/archives/000015.html</a>
DATE: 08/05/2002 04:05:23 PM
ここに ping したトラックバックの概要がきます。
-----
BODY:

記事の内容 (body) を記述します。

EXTENDED BODY:

追記 (more) を記述します。

EXCERPT:

概要 (excerpt) を記述します。

KEYWORDS:

キーワード (keywords) を記述します。

COMMENT:

この記事に対する1つのコメントを示します。 複数のCOMMENTセクションを記述することができます。複数のセクションを記述する場合、複数行フィールド・セパレータ (-----\n) によって区切ります。また、COMMENT セクションでは、次のフィールドを記述できます。

  • AUTHOR: コメント投稿者名。
  • EMAIL: コメント投稿者の電子メールアドレス。
  • URL: コメント投稿者のURL。
  • IP: コメント投稿者のIPアドレス。
  • DATE: コメントが投稿された日時。DATEキーと同じフォーマットにする必要があります。

上記のキーのうち、どれとも一致しない行から、コメントの本文が始まります。この行からCOMMENT セクションの終わりまでを、コメントの本文として扱います。

PING:

この記事に対する1つのトラックバックを示します。複数のPINGセクションを記述することができます。複数のセクションを記述する場合、複数行フィールド・セパレータ (-----\n) によって区切ります。また、PING セクションでは、次のフィールドを記述できます。

  • TITLE: トラックバックのタイトル。
  • URL: トラックバック元へのURL。
  • IP: トラックバックを送ったサーバーのIPアドレス。
  • BLOG NAME: トラックバックの送信元のブログの名前。
  • DATE: トラックバックが送られた日時。DATEキーと同じフォーマットにする必要があります。

上記のキーのうち、どれとも一致しない行からトラックバックの概要が始まります。この行からPING セクションの終わりまでを、トラックバックの概要として扱います。

2件の記事分の記事インポートフォーマットサンプル

2件の記事の内容を含む、記事インポートフォーマットのサンプルです。

AUTHOR: Foo Bar
TITLE: A dummy title
BASENAME: filename
STATUS: Publish
ALLOW COMMENTS: 1
ALLOW PINGS: 1
CONVERT BREAKS: richtext
PRIMARY CATEGORY: News
CATEGORY: News
CATEGORY: Product
DATE: 08/08/2007 03:00:00 PM
TAGS: "Movable Type",foo,bar
-----
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: <a href="http://www.example.com/old/2002/08/">http://www.example.com/old/2002/08/</a>
IP: 206.22.1.53
BLOG NAME: My Weblog
DATE: 08/05/2002 16:09:12
これがトラックバック元の My Entry の概要。
-----
CF50_BASENAME1:
textdata1
textdata2
textdata3
-----
CF50_BASENAME2: 1
--------
AUTHOR: Foo Bar
TITLE: 2件目の記事 
BASENAME: filename
STATUS: Publish
ALLOW COMMENTS: 1
ALLOW PINGS: 1
CONVERT BREAKS: richtext
PRIMARY CATEGORY: News
CATEGORY: News
CATEGORY: Product
DATE: 08/08/2007 03:00:00 PM
TAGS: "Movable Type",foo,bar
CF50_BASENAME: textdata
-----
BODY:
これは2番目の記事の本文です。 これは
複数行から成ります。
-----
EXCERPT:
この記事は追記がありませんが、
概要はあります。 特殊な例です。
-----
COMMENT:
AUTHOR: Quux
URL: <a href="http://www.quux.com/">http://www.quux.com/</a>
DATE: 01/31/2002 04:23:01 PM
この記事に対する最初のコメントを示します。
-----
CF50_BASENAME1:
textdata1
textdata2
textdata3
-----
CF50_BASENAME2: 1
--------

Movable Type 3.x からの記事のインポート

Movable Type 3.x でエクスポートされた記事データにはタグなどの情報が含まれません。その場合、以下のようなテンプレートを Movable Type 3.x のインデックステンプレートに追加し、出力されたデータを Movable Type 6 にインポートすることもできます。

<MTEntries lastn="99999">AUTHOR: <$MTEntryAuthor$>
TITLE: <$MTEntryTitle$>
BASENAME: <$MTEntryBasename$>
STATUS: <$MTEntryStatus$>
ALLOW COMMENTS: <$MTEntryFlag flag="allow_comments"$>
CONVERT BREAKS: <$MTEntryFlag flag="convert_breaks"$>
ALLOW PINGS: <$MTEntryFlag flag="allow_pings"$>
PRIMARY CATEGORY: <$MTEntryCategory$>
<MTEntryAdditionalCategories>CATEGORY: <$MTCategoryLabel$>
</MTEntryAdditionalCategories>
DATE: <$MTEntryDate format="%m/%d/%Y %I:%M:%S %p"$>
TAGS: <MTEntryTags glue=",">"<$MTTagName quote="1"$>"</MTEntryTags>
-----
BODY:
<$MTEntryBody$>
-----
EXTENDED BODY:
<$MTEntryMore$>
-----
EXCERPT:
<$MTEntryExcerpt$>
-----
KEYWORDS:
<$MTEntryKeywords$>
-----
<MTIfNonZero tag="MTEntryCommentCount"><MTComments>COMMENT:
AUTHOR: <$MTCommentAuthor default=""$>
EMAIL: <$MTCommenterEmail$>
URL: <$MTCommentURL$>
IP: <$MTCommentIP$>
DATE: <$MTCommentDate format="%m/%d/%Y %I:%M:%S %p"$>
<$MTCommentBody convert_breaks="0"$>
-----
</MTComments></MTIfNonZero><MTIfNonZero tag="MTEntryTrackbackCount"><MTPings>PING:
TITLE: <$MTPingTitle$>
URL: <$MTPingURL$>
IP: <$MTPingIP$>
BLOG NAME: <$MTPingBlogName$>
DATE: <$MTPingDate format="%m/%d/%Y %I:%M:%S %p"$>
<$MTPingExcerpt$>
-----
</MTPings></MTIfNonZero>
--------
</MTEntries>

テンプレートを使用してエクスポートする場合、公開中の記事のみが対象となります。
テンプレートを再構築する時点で公開されていない記事はエクスポートされませんのでご注意ください。

目次