Movable Type ブログ記事とウェブページの文字数をカウントするMT-I18Nプラグイン

このサイトでは、MTのブログ記事の文字数を数える為のプラグインとして、MT-I18Nを使い、エントリーの下に、文章中の文字数を表示させています。元々はMT3用ですが、MT4でも問題なく動作します。

文字数をカウントする以外にも使い方があるようですが、ここでは文字数のカウントについて記述します。この方法は、ブログ記事テンプレートとウェブページテンプレートで使用できます。

使い方

まず、以下のサイトから、プラグインをダウンロードし、MTをインストールしたフォルダにあるpluginフォルダに転送します。

MT-I18Nのダウンロード先

次に、ブログ記事テンプレートとウェブページテンプレート(MT3.*ではエントリーアーカイブテンプレート)の表示させたい箇所に以下のタグを埋め込みます。

<div class="count">
<!-- 文字数カウント -->
<script type="text/javascript">
var length = <MTLengthText><$MTEntryTitle
remove_html="1"$></MTLengthText>+<MTLengthText><$MTEntryBody
remove_html="1"$></MTLengthText>+<MTLengthText><$MTEntryMore
remove_html="1"$></MTLengthText>;
document.write('この記事は ' + length + ' 文字です');
</script>
</div>

追加したら、保存して、ブログの再構築を行います。

MTInclude moduleタグを使って読み込ませる方法

MT4では標準的に使われているMTInclude moduleタグを使って読み込ませる方法も使えます(MT3でも使える)。この場合は、テンプレートモジュールの作成を行います。モジュール名は、文字数カウントとでもしておけばよいと思います。テンプレートモジュールの内容は、同じですが、再度書いておきます。

<div class="count">
<!-- 文字数カウント -->
<script type="text/javascript">
var length = <MTLengthText><$MTEntryTitle
remove_html="1"$></MTLengthText>+<MTLengthText><$MTEntryBody
remove_html="1"$></MTLengthText>+<MTLengthText><$MTEntryMore
remove_html="1"$></MTLengthText>;
document.write('この記事は ' + length + ' 文字です');
</script>
</div>

作成を行ったら、同じテンプレートモジュールであるブログ記事の詳細やウェブ記事の詳細を開いて、

<mt:include module="文字数カウント" />

というタグを埋め込み、保存してから再構築を行えば良いのです。因みに、このサイトでは記事の末尾に表示させるようにしてあります。

スタイルシートの追加

スタイルシートの記述の追加は以下のようにしました。

/* 文字数カウント */
.count {
font-size: 83.5%;
text-align: right;
}

このようにすると、右側に、本文記事よりやや小さい字で表示されます。

カウントされる文字数

この方法の場合だと、タイトル・エントリーの合計が表示されるようになります。エントリーの文字数は、エントリー本文と追記の合計が表示されます。

このスクリプトは、Javaを利用して文字数をカウントするものです。MT4.*からは、ウェブページの作成機能も追加されたわけですが、ブログ記事だけでなく、ウェブページの文字数もカウントできます。文字数はなるべく多く書いた方がSEO上も良いようですから、ぜひご活用下さい。

このプラグインは他にも使い方があるようですが、これについては機会があれば後日触れましょう。

トラックバックURL

このエントリーのトラックバックURL:
http://makky.s32.coreserver.jp/mt51/mt-tb.cgi/1509