Movable Type のデフォルトの Atom Feed テンプレートに、 id が恒久性を持たないような指定がされている件

http://hxxk.jp/2006/11/27/2150

記事データ

投稿者

真琴

投稿日時

2006-11-27T21:50+09:00

タグ
概要

drry+@-> によって紹介されている、デフォルトテンプレートの不正な記述を修正したので修正後のテンプレートソースを公開します。

リプライ

リプライはまだありません。

記事本文

Movable Type の Atom Feed テンプレートをチェックしてみよう

drry+@-> Movable Type のデフォルト Atom フィードテンプレートを駄目出しを読んで、自分のところの Feed はどうだったかなあと思って確認してみると、 <$MTDate$> をそのまま使ってしまっていました。 私は Feed のテンプレートも自分なりのカスタマイズをしていたのですが、 id の部分については見落としていました。 早速修正をして、年次による恒久性の消失に対応対応。

また、以前は Tagwire Plugin を用いてタグ機能を実現していたのですが、 Movable Type 3.3 では標準でタグ機能が実装されていたので、そちらに乗り換えていました。 標準のタグ機能では <$MTTagName$> テンプレートタグでタグ名を指定するのですが、 Tagwire Plugin によるタグ機能では <$MTTag$> テンプレートタグによってタグ名を指定します。 よって、標準タグ機能に切り替えた際に Atom Feed テンプレート内の <category term="<$MTTag encode_xml="1"$>" /> 部分を <category term="<$MTTagName encode_xml="1"$>" /> に書き換えておくべきだったのですが、それも見落としていたために category 要素の term 属性値が空っぽのままになっていましたので、それも併せて修正しました。

hxxk.jp の Atom Feed テンプレートソース 20061127 版

良い機会なので、現在使っているテンプレートのソースを公開しておきますね。 Feed 関係についてはあまり厳密にチェックしていないので、もし「もっと良い書き方があるよ」という場合は是非お知らせください。

<?xml version="1.0" encoding="<$MTPublishCharset$>"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title><$MTBlogName remove_html="1" encode_xml="1"$></title>
  <link rel="alternate" type="text/html" href="<$MTBlogURL encode_xml="1"$>" />
  <link rel="self" type="application/xml" href="<$MTBlogURL$>feed/atom" />
  <link rel="service.post" type="application/xml" href="<$MTCGIPath$><$MTAtomScript$>/weblog/blog_id=<$MTBlogID$>" title="<$MTBlogName encode_html="1"$>" />
  <id>tag:<$MTBlogHost exclude_port="1" encode_xml="1"$>,<MTArchiveList archive_type="Monthly" sort_order="ascend" lastn="1"><$MTArchiveDate format="%Y"$></MTArchiveList>:<$MTBlogRelativeURL encode_xml="1"$>/<$MTBlogID$></id>
  <updated><MTEntries lastn="1"><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></MTEntries></updated>
  <MTIfNonEmpty tag="MTBlogDescription"><subtitle><$MTBlogDescription remove_html="1" encode_xml="1"$></subtitle></MTIfNonEmpty>
  <generator uri="http://www.sixapart.com/movabletype/">Movable Type <$MTVersion$></generator>
  <MTEntries lastn="15" sort_order="descend">
    <entry>
      <title><$MTEntryTitle$></title>
      <link rel="alternate" type="text/html" href="<$MTEntryPermalink encode_xml="1"$>" />
      <link rel="service.edit" type="application/xml" href="<$MTCGIPath$><$MTAtomScript$>/weblog/blog_id=<$MTBlogID$>/entry_id=<$MTEntryID$>" title="<$MTEntryTitle$>" />
      <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_html="1"$></summary>
      <author>
        <name><$MTEntryAuthorDisplayName encode_xml="1"$></name>
        <MTIfNonEmpty tag="MTEntryAuthorURL"><uri><$MTEntryAuthorURL encode_xml="1"$></uri></MTIfNonEmpty>
      </author>
      <MTEntryTags case_sensitive="1">
        <category term="<$MTTagName encode_xml="1"$>" />
      </MTEntryTags>
      <content type="html" xml:lang="<$MTBlogLanguage ietf="1"$>" xml:base="<$MTBlogURL encode_xml="1"$>">
        <$MTEntryBody encode_xml="1" convert_breaks="0"$>
        <$MTEntryMore encode_xml="1" convert_breaks="0"$>
      </content>
     </entry>
   </MTEntries>
</feed>

リプライ

リプライはまだ送られていないか、管理者の承認待ち状態です。

この記事に対するご意見やご質問、ご感想などありましたらこのフォームに簡潔に記入して下さい。 簡潔に記入できない場合や、関連記事にてご意見をお寄せいただく場合は、ご自身の weblog にて記事を書かれた上で あてにトラックバックとして送信してください。

記入フォーム

補足情報

著作、講演、制作実績など