link要素にアーカイブ

Movable Typeでlink要素にarchivesというLink typeをいれてみるというものです。

毎回、毎回つかいどころのわからないものを、「ネタ」と称して公開するのはちょっと気が引けるのですがいってみます。

このカスタマイズは<link rel="archives" ... />というのをhead内にいれるというもの。ワタくシが見かけたなかでは、月別アーカイブのリンクをその値としてるものがあるようでしたので、それに倣ってやってみます。

月別アーカイブのウィジェットのコードを参考にしますと、おそらくこのような形になるかと

<mt:IfArchiveTypeEnabled archive_type="Monthly">
<MTArchiveList archive_type="Monthly" lastn="1">
<link rel='archives' title='<$mt:ArchiveTitle$>' href='<$mt:ArchiveLink$>' />
</MTArchiveList>
</mt:IfArchiveTypeEnabled>

しかしながら、スタティックパブリッシングでは各記事において再構築されるまでは、その時点のアーカイブリストとなる問題(*これは正確には、常に最新のアーカイブリストで表示したいとう、運用上の都合での問題です)もあります。

そこで、PHP環境前提になりますが、以下のようにしてみました。*MTArchiveTitleを使わないので、出力が月別アーカイブのタイトルの書式に揃わないことがあります。

<?php
echo "<mtentries lastn=1>";
$latest_year=<$MTEntryDate format=%Y$>;
$latest_month="<$MTEntryDate format=%m$>";
echo "<link rel='archives' title='".$latest_year."年 ".$latest_month."月' href='<$MTBlogURL$>".$latest_year."/".$latest_month."/' />\n";
echo "</mtentries>";
?>

再構築をおこなった月に最低1つは記事がある、という場合は「MTDate」を使うという手もあるのでないでしょうか。(MTEntriesタグを使わなくてよくなるなど)

で、実装後の使いどころですが

にあるように、link要素表示のところに、rel='archives'の場合を追記することで、ナビゲーションにアーカイブが反映されたりします。

Comments:

コメントをどうぞ。書き込む場所が不明な場合やサイトオーナーへのコンタクトは、GuestBookまでお気軽にどうぞ

blog comments powered by Disqus