Movable TypeのRSSをリーダーで読みやすく改行を入れる方法

FeedBurnerのリンクをつけてから1ヶ月くらいがたつのかな??

当サイトもFeedBurner経由で7人の方からRSSリーダーで読んでもらえるようになりました。

といっても、1人は僕なので、実際は6人ですが。。。

ただ、Movable Typeは「atom.xml」と「index.xml」の2つのxmlファイルを吐き出します。

FeedBurnerは「atom.xml」を読んでいるようですね。

FeedBurnerのリンクを付ける以前に、Livedoorリーダーに登録してくれたユーザーが10人くらい、Googleウェブマスタースーツによると、Googleのリーダーで読んでくれている人が17人。

よって、最低でも30人くらいは当サイトをRSSリーダーに登録してくれているということになります。

で、前々から気になっていたのですが、当サイトをRSSリーダーで表示すると、改行がされなくて見づらいんですね。。

登録して頂いている人にも、もっと見やすい状況を提供したいので、修正にチャレンジすることにしてみました。


とりあえず、「事件は会議室で起こっているのではない!現場で起こっているだ!」という名言を参考に、「原因はソースにあるはずだ!」ということで、あらためて、「atom.xml」と「index.xml」のソースをじっくりと眺めてみました。

この時のコツは「俺に読めないソースなんてねぇー!」くらいの強気の姿勢が必要です。

まず、MTの管理画面にログインし、「テンプレート」から「atom.xml(出力ファイル名)」を選びます。

このソースをテキストファイルにコピペ。

すると、最後の方に次の2行があります。

<$MTEntryBody encode_xml=”1″ convert_breaks=”0″$>
<$MTEntryMore encode_xml=”1″ convert_breaks=”0″$>

この「convert_breaks=”0″」はMTのカスタマイズに慣れている人なら「改行のあり or なし」を表すことはご存じのはず。

ということで、この部分を2行とも「convert_breaks=”1″」に変更。

つまり、変更後はこうなります。

<$MTEntryBody encode_xml=”1″ convert_breaks=”1″$>
<$MTEntryMore encode_xml=”1″ convert_breaks=”1″$>

そして、「保存と再構築」をクリック。

インデックス・テンプレートだけでいいので、再構築。

これで、「atom.xml」をRSSリーダーで見た場合、改行が入ります。

では、次に「index.xml」。

「テンプレート」から「index.xml(出力ファイル名)」を選びます。

このソースにも、下の方に、

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

という1行があります。

「atom.xml」同様に、「convert_breaks=”0″」を「convert_breaks=”1″」に変更して再構築。

これで、「index.xml」をRSSリーダーで見た場合、改行が入ります。

こうやって見ていくと、デフォルトでは「atom.xml」は「MTEntryBody」と「MTEntryMore」の全文が表示され、「index.xml」は「MTEntryBody」だけが表示されることが分かります。

ブラウザSafariでRSSを見ると、「convert_breaks=”1″」に修正する前はこんな感じで改行が入っていませんでした。

Safari RSS修正前

読みづらいですね。。

修正後は改行が入り読みやすくなっています。

Safari RSS修正後

僕が使っているLivedoorリーダーでも同じように改行が入らず読みにくい状態でした。

080507_20.jpg

しかし、修正後は改行が入り読みやすくなっています。

080507_21.jpg

あとは、RSSリーダーで全文表示するか、部分表示するかという問題があります。

これについては、今、テスト中です。

やり方が分かり次第、追伸として書きたいと思います。

追伸(2008年5月19日)

やはり、全文表示はRSSから文章をパクるサイトがあるのでNGとし、部分表示にしました。

RSSリーダーで読んで頂いている人は、面倒くさいと思いますが、ご了承下さい。

いつか気が変わって、全文表示にするかもしれませんが。

で、部分表示の仕方ですが、以外と簡単でした。。

「index.xml」は元から部分表示なんですよね。

で、「atom.xml」を部分表示するには、

<$MTEntryBody encode_xml=”1″ convert_breaks=”1″$>
<$MTEntryMore encode_xml=”1″ convert_breaks=”1″$>

この部分の2行目を削除して、

<$MTEntryBody encode_xml=”1″ convert_breaks=”1″$>

とするだけです。

僕としては、「全文を読む」というテキストリンクを文書の最後に付けたいのですが、今のところやり方が分かりません。

時間がある時にでも調べて、また追伸したいと思います。