EasyPodcastingプラグイン

はじめに

EasyPodcastingプラグインはMovable TypeでPodcastingを行うためのプラグインです。
Movable Type3.x以上で動作します。同梱されているFlashベースのmp3プレーヤはAdobe Flash Player8以上で動作します。
エントリ中にmp3ファイルのURLとタイトルを独自のタグにより記述することで、ページ内のエントリにFlashベースのmp3プレーヤを組み込んだり、RSS2.0フィードにPodcastingに必要なEnclosure要素を追加することができます。

インストール

本パッケージに含まれる「plugins」ディレクトリ内のファイル「mt-easypodcasting.pl」を、Movable Typeインストールディレクトリの「plugins」ディレクトリの下にコピーしてください。Movable Type4.x以降にインストールする場合は、「asset_mp3.pl」もコピーしてください。
次に本パッケージに含まれる「mt-static」ディレクトリ内のディレクトリ「plugins」を、Movable Typeインストール時に「StaticWebPath」として指定したディレクトリ(デフォルトでは「mt-static」というディレクトリ名になっていると思います)の下にコピーしてください。
結果、以下のような構成になります。

  -mt(Movable Typeインストールディレクトリ)
   +plugins
    +mt-easypodcasting.pl
    +asset_mp3.pl(※Movable Type3.xでは不要です)
   +mt-static (※StaticWebPathにて指定されたディレクトリ)
    +plugins
     +EasyPodcasting
      +mp3player.swf

作業後、Movable Typeのシステム・メニューのプラグイン管理画面を表示し、プラグインの一覧に「EasyPodcasting」が表示されていることを確認してください。これで設置完了です。

使い方

MTovable Type 3.xの場合

最初にテンプレートの変更を行います。
次の4つのテンプレートを編集します。

<$MTEntryBody$>

この部分を、

<$MTEntryBody EasyPodcasting="player_with_link"$>

と変更して、保存します。
「EasyPodcasting="player_with_link"」の太字部分は、このプラグインの動作を決定するオプション値となっており、次の4種類から選択することができます。

オプション 機能 記入例
player mp3プレーヤを表示します。 <$MTEntryBody EasyPodcasting="player"$>
link mp3ファイルへのリンクを表示します。 <$MTEntryBody EasyPodcasting="link"$>
player_with_link mp3プレーヤと、mp3ファイルへのリンクを表示します。 <$MTEntryBody EasyPodcasting="player_with_link"$>
0 プレーヤー・リンクとも非表示にします。 <$MTEntryBody EasyPodcasting="0"$>


続いて、次のテンプレートを編集します。

<MTEntries lastn="15">
<item>
   <title><$MTEntryTitle remove_html="1" encode_xml="1"$></title>
   <description><$MTEntryBody encode_xml="1" convert_breaks="0"$></description>
   <link><$MTEntryPermalink encode_xml="1"$></link>
   <guid><$MTEntryPermalink encode_xml="1"$></guid>
   <category><$MTEntryCategory remove_html="1" encode_xml="1"$></category>
   <pubDate><$MTEntryDate format_name="rfc822"$></pubDate>
</item>
</MTEntries>

この部分を、

<MTEntries lastn="15">
<item>
   <title><$MTEntryTitle remove_html="1" encode_xml="1"$></title>
   <description><$MTEntryBody encode_xml="1" convert_breaks="0"$></description>
   <link><$MTEntryPermalink encode_xml="1"$></link>
   <guid><$MTEntryPermalink encode_xml="1"$></guid>
   <category><$MTEntryCategory remove_html="1" encode_xml="1"$></category>
   <pubDate><$MTEntryDate format_name="rfc822"$></pubDate>
   <$MTEasyPodcasting$>
</item>
</MTEntries>

と変更します。「<$MTEasyPodcasting$>」を追加するだけです。
変更後、保存してください。

これで、準備は終わりました。
今後は、エントリ内にEasyPodcastingプラグイン独自のタグを記述することで、自動で各ページ内のエントリにmp3プレーヤやmp3ファイルへのリンクが作成され、RSS2.0フィード内にはPodcastingに必要なEnclosure要素が追加されるようになります。

エントリ内の記述は以下のようになります。

[mp3:http://labs.m-logic.jp/media/Bossa.mp3:Bossa]

書式は以下の通りです。

[mp3:mp3ファイルのURL:曲名]

この書式でエントリの本文中に記述すると、EasyPodcastingプラグインが自動的にこの情報を抽出し、各ページに適用します。

また「RSS 2.0」テンプレートは修正せずに、各ページ上でmp3プレーヤを表示するだけのプラグインとしても使うことも出来ます。

MTovable Type 4.x以降の場合

最初にテンプレートの変更を行います。
以下のテンプレートを編集します。

<MTEntries lastn="15">
<item>
   <title><$MTEntryTitle remove_html="1" encode_xml="1"$></title>
   <description><$MTEntryBody encode_xml="1" convert_breaks="0"$></description>
   <link><$MTEntryPermalink encode_xml="1"$></link>
   <guid><$MTEntryPermalink encode_xml="1"$></guid>
   <category><$MTEntryCategory remove_html="1" encode_xml="1"$></category>
   <pubDate><$MTEntryDate format_name="rfc822"$></pubDate>
</item>
</MTEntries>

この部分を、

<MTEntries lastn="15">
<item>
   <title><$MTEntryTitle remove_html="1" encode_xml="1"$></title>
   <description><$MTEntryBody encode_xml="1" convert_breaks="0"$></description>
   <link><$MTEntryPermalink encode_xml="1"$></link>
   <guid><$MTEntryPermalink encode_xml="1"$></guid>
   <category><$MTEntryCategory remove_html="1" encode_xml="1"$></category>
   <pubDate><$MTEntryDate format_name="rfc822"$></pubDate>
   <$MTEasyPodcasting$>
</item>
</MTEntries>

と変更します。「<$MTEasyPodcasting$>」を追加するだけです。
変更後、保存してください。

RSSフィードは使わずに、Atomフィードのみを使っている場合は以下のテンプレートを編集します。

<MTEntries lastn="15">
<entry>
    <title><$MTEntryTitle remove_html="1" encode_xml="1"$></title>
    <link rel="alternate" type="text/html" href="<$MTEntryPermalink encode_xml="1"$>" />
    <id><$MTEntryAtomID$></id>

    <published><$MTEntryDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></published>
    <updated><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></updated>

    <summary><$MTEntryExcerpt remove_html="1" encode_xml="1"$></summary>
    <author>
        <name><$MTEntryAuthorDisplayName encode_xml="1"$></name>
        <MTIfNonEmpty tag="MTEntryAuthorURL"><uri><$MTEntryAuthorURL encode_xml="1"$></uri></MTIfNonEmpty>
    </author>
    <MTEntryCategories>
        <category term="<$MTCategoryLabel encode_xml="1"$>" scheme="http://www.sixapart.com/ns/types#category" />
    </MTEntryCategories>
    <MTEntryIfTagged><MTEntryTags><category term="<$MTTagName normalize="1" encode_xml="1"$>" label="<$MTTagName encode_xml="1"$>" scheme="http://www.sixapart.com/ns/types#tag" />
    </MTEntryTags></MTEntryIfTagged>
    <content type="html" xml:lang="<$MTBlogLanguage ietf="1"$>" xml:base="<$MTBlogURL encode_xml="1"$>">
        <$MTEntryBody encode_xml="1"$>
        <$MTEntryMore encode_xml="1"$>
    </content>
</entry>
</MTEntries>

この部分を、

<MTEntries lastn="15">
<entry>
    <title><$MTEntryTitle remove_html="1" encode_xml="1"$></title>
    <link rel="alternate" type="text/html" href="<$MTEntryPermalink encode_xml="1"$>" />
    <id><$MTEntryAtomID$></id>

    <published><$MTEntryDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></published>
    <updated><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></updated>

    <summary><$MTEntryExcerpt remove_html="1" encode_xml="1"$></summary>
    <author>
        <name><$MTEntryAuthorDisplayName encode_xml="1"$></name>
        <MTIfNonEmpty tag="MTEntryAuthorURL"><uri><$MTEntryAuthorURL encode_xml="1"$></uri></MTIfNonEmpty>
    </author>
    <MTEntryCategories>
        <category term="<$MTCategoryLabel encode_xml="1"$>" scheme="http://www.sixapart.com/ns/types#category" />
    </MTEntryCategories>
    <MTEntryIfTagged><MTEntryTags><category term="<$MTTagName normalize="1" encode_xml="1"$>" label="<$MTTagName encode_xml="1"$>" scheme="http://www.sixapart.com/ns/types#tag" />
    </MTEntryTags></MTEntryIfTagged>
   <$MTEasyPodcastingAtom$>
    <content type="html" xml:lang="<$MTBlogLanguage ietf="1"$>" xml:base="<$MTBlogURL encode_xml="1"$>">
        <$MTEntryBody encode_xml="1"$>
        <$MTEntryMore encode_xml="1"$>
    </content>
</entry>
</MTEntries>

と変更します。「<$MTEasyPodcastingAtom$>」を追加するだけです。
変更後、保存してください。

これで、準備は終わりました。
今後は、Movable Type 4.x以降の標準のファイルのアップロード機能を使って、エントリ中にmp3を追加するだけで、自動的に出力されたHTMLにフラッシュ製mp3プレーヤを追加します。
ただし、使用されるブラウザによっては、エントリ編集画面で「リッチテキスト」を入力方法として選択している場合、WYSIWYG画面にmp3プレーヤが表示されないこともあるようです。

互換性のため、Movable Type 3.xでの方法も残してありますので、Movable Type 3.xからのバージョンアップの場合は、そのままお使いいただくことも可能です。

更新履歴

このプラグインの利用、及び著作権や保証について

Movable Type のユーザーは目的を問わず、このプラグインを無償で自由に利用することができます。このプラグインの著作権はM-Logic, Inc.が所有しています。
このプラグインは無保証です。作者はこのプラグインの利用における一切の動作保証とサポートを行いません。
同梱されている「mp3player.swf」は、iceGearが開発したFlashベースのmp3プレーヤです。この著作権はiceGearが所有しています。
このプレーヤは無保証です。作者はこのプレーヤの利用における一切の動作保証とサポートを行いません。プレーヤ単体での再配布は出来ません。

連絡先

作者:M-Logic, Inc. & iceGear