MovableTypeのデフォルトのフィードテンプレートでは、エントリ本文が段落分けされずに出力されるため、RSSリーダなどで表示するととても読みにくいです。

例えばatom.xmlだと、テンプレートはこんな感じになっているはずです。

<$MTEntryBody encode_xml="1" convert_breaks="0"$>
<$MTEntryMore encode_xml="1" convert_breaks="0"$>

属性「convert_breaks」の値を「1」にすると改行および段落分けが反映され、「0」にすると反映されません。なので

<$MTEntryBody encode_xml="1" convert_breaks="1"$>
<$MTEntryMore encode_xml="1" convert_breaks="1"$>

としておくとよいです。
そもそもなんでデフォルトは0なのだろうか。

Movabletypeには「改行を変換する」という機能があり、brタグを挿入しなくても自動的に改行されてとても便利なのですが、preタグの中の改行にもbrタグを挿入してしまい、二重に改行されるなどの面倒な点があります。

で、これを改善させるにはMT/Util.pmを直接編集してもよいのですが、アップデートする際にとても不便。プラグインで対応するのが吉です。というわけで探してみたら丁度よいものがありました。

「改行を変換する」を改良するプラグイン
http://www.h-fj.com/blog/archives/2005/08/28-160725.php

このプラグインをインストールすると、投稿時のテキストフォーマットで「改良テキストフィルター」を選べるようになります。「改良テキストフィルター」を使用すると、以下の要素では内部の改行はそのまま出力されるようになります。また、要素の中に空行があっても、そこでは要素は分割されません。

pre textarea table ol dl ul menu dir

また、以下の要素では内部の改行はbrタグに変換されます。

blockquote div p h1 h2 h3 h4 h5 h6 form address

ただし、開始タグ直後の改行と終了タグ直前の改行はbrタグに変換せずそのまま出力します(←これ結構重要!)。

HTMLを含んだ投稿にやや難のあるMovabletypeですが、これでばっちりです。

Movabletypeでつくったブログの最新n件を、よそのページに貼り付ける方法。
やりたいことは、Movabletype側で最新n件のエントリーリストを作成して、それを他サイト(別ドメイン)の任意のページから呼び出せるようにすること。

エントリーリストの作成はMovabletypeのインデックステンプレートを増やせばよい。で、このテンプレートの出力ファイル名をJavascriptファイル(hoge.jsなど)にしておく。ここがミソ。

ソースはこんな感じ。

<MTEntries lastn="3">
document.writeln('<p class="date"><MTDateHeader<$MTEntryDate format="%Y/%m/%d "$></MTDateHeader></p>');
document.writeln('<p class="article"><a href="<$MTEntryPermalink valid_html="1"$>"><$MTEntryTitle$></a></p>');
</MTEntries>

貼り付け先がPHPならPHPで出力してインクルードさせてもよいですが、サーバ仕様で禁止されている場合があります。そこでJavascript。

当然ですが日付やエントリタイトルをマークアップしているタグは貼り付けるサイトにあわせましょう。