Movable Type と SSI を使って注目を避けるために一時的に「休止」や「ブックマーク拒否」をする
現在、ココログプロのシステムを使い「同人サイト」(というかほぼ個人のつぶやきサイトとなってる…)を整備している。そこは、仲間が見つけられるように公開ではありたいが、目立つのはあまり好ましくない。そこで、万一、目立ってしまったとき、アクセスを一時お断りするような機構が欲しいと考えた。
方法として思いついたのは、記事のカテゴリとして「休止中」や「ブックマーク拒否」というのを作り、そのカテゴリに属する場合は特別な処理をするというものである。
「カテゴリに属する場合」の判定は、《Movable Type で「記事と同じカテゴリ内の最近の記事」を表示する》の記事で使った方法を用いれば良く、あとは一本道である。この記事の機構がすでに導入されているとする。
まず、「休止中」と「ブックマーク拒否」という名前のカテゴリを作っておく。カテゴリページに記載する説明はそれぞれ次のようにした。
|
次にデザインの Individual Archives のテンプレートの最初に次のような変更を加えた。なお、カテゴリの ID ではなく Label を用いたのは、本サイトでは複数のブログを運営し、それぞれのブログでカテゴリの ID が変わる可能性があるため、Label でチェックしたほうが良いと判断したからである。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!--#set var="CATEGORY_IDS" value=",<MTEntryCategories><$MTCategoryID$>,</MTEntryCategories>" --> <!--#set var="CATEGORY_LABELS" value=",<MTEntryCategories><$MTCategoryLabel$>,</MTEntryCategories>" --> <!--#set var="CONTROLLED_CATEGORIES" value=",休止中,ブックマーク拒否," --> <html xmlns="http://www.w3.org/1999/xhtml"> <head> |
head タグを閉じる前に「ブックマーク拒否」用の処理をする。
<!--#if expr="$CATEGORY_LABELS = /,ブックマーク拒否,/" --> <meta name="Hatena::Bookmark" content="nosnippet,nocomment" /> <meta name="Buzzurl" content="nosnippet,nocomment" /> <!--#endif --> </head> |
記事の本文の前で「休止中」用の処理をする。
<div class="entry-top"></div> <div class="entry"> <MTWeblogPostIfShow field="post_title"> <h3><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></h3> </MTWeblogPostIfShow> <!--#if expr="$CATEGORY_LABELS = /,休止中,/" --> <div class="access-restriction-warning" > 現在、アクセスの集中を緩和する等の理由で、一時的にこのページを閲覧できないようにしています。ご迷惑をおかけしてすみません。 </div> <!--#else --> <div class="entry-body-top"></div> |
記事の終わるところで if 文を閉じる。(この場所を間違えないよう探すのが結構メンドクサい。)
</MTEntryIfCommentsOpen> </div> </MTEntryIfAllowComments> <!--#endif --> </div> <div class="entry-bottom"></div> </div> <div class="content-bottom"></div> </div> |
次に「カテゴリ内の最近の記事」に関する Recent Lists のテンプレートで、「休止中」や「ブックマーク拒否」に関しては、最近の記事は表示しないようにする。なお、「TOP」に関して本サイトは特殊な処理をして、サイドバーでブログ全体の最近の記事を表示できるようにしている。
<MTCategories> <!--#if expr="$CATEGORY_IDS = /,<$MTCategoryID$>,/" --> <!--#if expr="$CONTROLLED_CATEGORIES != /,<$MTCategoryLabel$>,/" --> <MTBlogIfArchives> <h2>「<a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a>」カテゴリ内の最近の記事</h2> <MTEntries lastn="5"> <div class="recent-lists-content"> <div class="recent-lists-title"><$MTEntryDateModified format="%Y-%m-%d"$> <a href="<$MTEntryPermalink$>" title="概要:<$MTEntryExcerpt remove_html='1' encode_html='1'$>"><$MTEntryTitle$></a></div> </div> </MTEntries> </MTBlogIfArchives> <!--#endif --> <!--#endif --> </MTCategories> <!--#if expr="$CATEGORY_IDS = /,TOP,/" --> <h2>「<a href="<$MTBlogURL$>"><$MTBlogName$></a>」内の最近の記事</h2> <MTEntries lastn="5"> <div class="recent-lists-content"> <div class="recent-lists-title"><$MTEntryDateModified format="%Y-%m-%d"$> <a href="<$MTEntryPermalink$>" title="概要:<$MTEntryExcerpt remove_html='1' encode_html='1'$>"><$MTEntryTitle$></a></div> </div> </MTEntries> <!--#endif --> |
変更は以上で終りである。あとは、何かがあったとき記事の編集画面で「休止中」「ブックマーク拒否」のカテゴリを追加で足せばよい。
■ |
参考
|
更新: | 2010-05-06 |
初公開: | 2010年05月06日 19:20:22 |
最新版: | 2010年05月13日 22:28:19 |
2010-05-06 19:20:17 (JST) in ウェブログ・ココログ関連 | 固定リンク | コメント (2) | トラックバック (0)
トラックバック
他サイトなどからこの記事に自薦された関連記事(トラックバック)はまだありません。
» JRF のソフトウェア Tips:Movable Type と SSI を使って注目を避けるために一時的に「休止」や「ブックマーク拒否」をする (この記事)
コメント
投稿: JRF | 2010-05-07 14:33:17 (JST)
投稿: JRF | 2010-05-13 22:51:41 (JST)