投稿者のコメントだけをハイライトにする方法を紹介しています。Compare Pluginを使って条件分岐することで可能です。
Movable Type Compare Plugin(プラグイン)を使って投稿者のコメントだけをハイライトにする方法の紹介です。
百式の管理人さんが運営している他のブログでコメント欄を読みやすくする方法 | S i M P L E * S i M P L Eより
37signalsのブログ、Signal vs. Noiseのコメント欄はその記事を書いた投稿者のコメントだけをハイライトしてくれます。37signalsのブログ、Signal vs. Noiseのコメント欄はその記事を書いた投稿者のコメントだけをハイライトしてくれます。
ブログで議論がもりあがってくると全部のコメントを読むことがつらくなります。そういうときは全部のコメントを読むのではなくて、投稿者がそもそもどういうことを意味していたのかを知りたい場合が多いですよね(でもない?)。
そうしたときにこのテクニックは有効ですね。どなたかMovableTypeで実装する方法を教えてください・・・。
確かにコメントが多数寄せられるサイトには、いいアイデアだと思いました。
私もコメントしていただける方の情報というのは、自分のエントリーした内容に+αの要素を与えてくれる場合が多いと考える方なので、自分のコメントと差別化(メリハリをつけたい)したいなんて思い、同じMovableTypeなので今後のことも考えて「投稿者のコメントだけをハイライトにする方法」素人ながらいろいろと考えて、探してみました。行き着いた方法は、Compare Plugin for Movable Typeを使って実装することで可能という一つの答えが見つかりました。
投稿者のコメントだけをハイライトにする方法
Six Apart - Movable Type プラグインディレクトリで紹介されているCompare Plugin for Movable Typeを使います。
このプラグインを使い、コメント投稿者の入力名で条件分岐をするように設定しCSSセレクタを切り替えます。
Compare Plugin for Movable Type
MTタグの値を元にした条件分岐の機能を追加します。標準で
<MTIfNonZero>や<MTIfNonEmpty>という、 MTタグの値が0や空でないかを判定するタグはありますが、このプラグインを使うと、MTタグの値を文字列と比較したり、数値の大小の比較をすることもできます。基本的な使い方は、「a」というアトリビュートに指定した値と、「b」というアトリビュートに指定した値とを比較させることになります。
- ダウンロードサイト
Compare | Plugins for Movable Type | staggernation.com
- 導入
DLした【Compare.pl】ファイルを、Movable Typeのpluginsディレクトリにアップロードします。
Compareプラグインタグと使い方
Compareプラグインタグの詳細は、Compare Plugin for Movable Typeにて確認ください。(エントリーが長くなりますので省略します。)
コメント投稿者の入力名で条件分岐をする
今回は、<MTIfEqual></MTIfEqual>タグと<MTElse></MTElse>タグを組み合わせて実装します。
- MTIfEqual
aの値とbの値が等しいかを判定します。
MTIfEqualテンプレートコード
以下のようなコードを使います。コメント投稿者はMovable Type 3.2以降では、<$MTCommentAuthor$>の利用を推奨していますので
"a"のアトリビュートにMTCommentAuthorを指定します。
"b"のアトリビュートに自分の投稿者名を指定します。
上記のコードを使うと、
投稿者の名前が自分の投稿者名である場合、commentauthor(任意のセレクタ指定)がコードに生成表示されます。
投稿者の名前が他の場合、<MTElse></MTElse>内に指定したcomment(デフォルト指定セレクタ)がコードに生成表示されます。
コードの追加先
上記のMTIfEqualテンプレートコードを以下のように個別コメント欄のクラス指定セレクタ部分に書き換えます。デフォルトコードを使って追加先を紹介します。
上記のコードの8行目の部分は、デフォルトのコードの場合以下のようなコードです。
この部分を以下のように書き換えます。
あとは、CSSにcommentauthor(任意のセレクタ指定)の指定を追加することで表示を変えることができます。
今回私のブログでは、自分のコメントに関してのみ背景を変えるように指定しました。こんな感じです。(スカイが私の投稿者名)サンプルコメント
Compareプラグインは、かなりいろんな条件分岐をすることができるので、シーン別でさまざまな条件分岐に使えます。このプラグインを使って他のシーンや参考になる使い方をしている方法などあればトラックバックください。よろしくお願いします。
それから、ブログ機能をうまくカスタマイズすることでユーザービリティ向上を図ることができそうなコンセプトがあればいろいろとチャレンジしてみたいです。こんな使い方をしてみたいという意見・要望もできたらコメントください。
付録:考えられる他の方法
javascriptでCSSのセレクタ指定を切り替えることができるような気がします。全くコードがわからないのでプログラムのカスタマイズができないのです。javascriptであれば、MTだけでなくさまざまなブログでも応用できると思いますので、あれば便利ですよね。わかる方がいましたら一度作ってみてください。
今回できそうな感じの参考になるパターンとコードがありましたので紹介しておきます。
- stroll::blog | コメント投稿者名別アイコン表示
- http://melrose.jugem.cc/?eid=132
この方法をちょっと変えるだけで可能のような気がします。いろいろと調べましたが、まったく基礎が無いため断念しました。




こんにちは、スカイさん。
これは、bzbellさんの所(MovableType備忘録)で、取り上げたネタなんですが、投稿者の名前が1byte文字の場合(私やbzbellさんが該当します)に、それ(MTCommentAuthor)を直接CLASS名にしちゃうっていう方法もあります。
スカイさんの所のように、2byte文字の投稿者名だと問題がありますけど。
紹介されてるJavascriptも面白そうですね。なんか使えるかな?
お疲れさまです。
情報ありがとうございます。
海外のブログでは、このコメントを差別化する表示を結構使っている方がいますね。WP(ワードプレス)であれば、たぶんプラグインが存在するみたいな感じです。
今回のネタ元のS i M P L E * S i M P L Eさんで紹介されているブログのクラス指定は、すべて同じセレクタ名でした。
oscarさんの教えていただいた方法も考えましたが、日本語などは無理と思い、このCompareプラグインの使用を思いついた次第です。
本当は、javascriptの方が利便性が高いのですけどね。誰か作ってくれませんかね。やはり、javascriptの勉強しないといけませんね。つくづく思いました。
他にも使えそうなネタはあるのですが、プログラムできないだけにもったいない気もします。
また、何か情報ありましたらおしえてください。
ではでは