« 間違った MIME Type の text/x-server-parsed-html を Firefox で読みたい | トップページ | 日本語IME「風」をVistaにインストールするとき、解除キーを登録するところで失敗する »

2010年5月 6日 (木)

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)

ウェブログ・ココログ関連」カテゴリ内の最近の記事

批評や挨拶のためのネットコミュニティ

  • はてなブックマーク(って何?) このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク
  • Twitter (って何?)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/93568/48287432

トラックバックのポリシー

他サイトなどからこの記事に自薦された関連記事(トラックバック)はまだありません。
» JRF のソフトウェア Tips:Movable Type と SSI を使って注目を避けるために一時的に「休止」や「ブックマーク拒否」をする (この記事)

コメント

drama 更新:カテゴリページの説明文を記事にも例として書いておいた。

投稿: JRF | 2010-05-07 14:33:17 (JST)

coldsweats02 更新:変数名「CONTROLED_CATEGORIES」を「CONTOROLLED_CATEGORIES」に変更。もう何度目かになる、私が、ついやってしまうスペルミス。

投稿: JRF | 2010-05-13 22:51:41 (JST)

コメントを書く



(メールアドレス形式)


※匿名投稿を許可しています。ゆるめのコメント管理のポリシーを持っています。この記事にまったく関係のないコメントはこのリンク先で受け付けています。
※暗号化パスワードを設定すれば、後に「削除」、すなわち JavaScript で非表示に設定できます。暗号解読者を気にしないならメールアドレスでもかまいません。この設定は平文のメールで管理者に届きます。
※コメントを書くために<b>ボールド</b>、<pre>詩文やソースコード</pre>、<a href="">リンク</a>、その他のHTMLタグが使えます。また、漢字[かんじ]でルビが、[google: キーワード] で検索指定が使えます。


ランダムことわざ: 温故知新。

今日のネットの話題: 画像・動画はタダ。普通、プライバシーはバッチリ。