Movable Type 備忘録

 Updated Today with jQuery

  • Jan242009
  • Vote:
    http://bizcaz.com/archives/2009/01/24-225303.php
  • Categories: jQuery
  • Tags:
  • Social Bookmark

こんばんわ^^

しょうもないものですが、だいぶ前に MovableType版 Updated Today という Movable Type のプラグインをご紹介したことがあります。
エントリを投稿したら 'Updated Today' という画像をその日、1 日だけ表示するというものですが、これの jQuery 版を作ってみました。
作ったというか、わたしのサイトで使ってるものを切り出したものです。

メリットとしては、

  • ブログを更新したよ・・・と訪問者さんに画像でお知らせします。
  • クリックするとそのページにジャンプします。( 厳密にはプラグインの機能ではないけど )
  • JavaScript なのですべてのページで即座に反映されます。

こんなとこでしょうか。
実際、訪問者さんが 'Updated Today' という画像を見てクリックしてるかどうかは分かりません (; ̄∇ ̄A はは
作る画像によっては効果的に新規投稿ページに促すことができるのではないかと思います。

たとえば、わたしのサイトでは日別アーカイブもマッピングしてますので、クリックされたら Ajax を使って当日のアーカイブページを表示するようにしてます。

ダウンロード

使い方

以下の手順で設置します。

  1. スクリプトのアップロード

    上記スクリプトをダウンロードしてサーバにアップロードします。
    アップロード先はどこでも構いません。 各自の環境に合わせて jquery.updtoday.js をアップロードします。

  2. テンプレートの変更

    まず、HTML ヘッダ( <head> ~ </head> )の間に以下を追加します。

    HTML ヘッダに追記

    1. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
    2. <script type="text/javascript" src="http://●●●.com/js/jquery.updtoday.js"></script>

    青字を各自の環境に合わせて変更します。

  3. コードの記述

    次に Updated Today プラグインのコードを記述します。
    先ほどと同様に HTML ヘッダ中に以下を追加します。

    コードの記述

    1. <script type="text/javascript">
    2. $(document).ready(function() {
    3. <MTEntries lastn="1">
    4.     var lastupd = '<$MTEntryDate format="%Y-%m-%d"$>';
    5.     var lasturl = '<$MTEntryPermalink valid_html="1"$>';
    6. </MTEntries>
    7.     $('...').UpdatedToday(lastupd);
    8.     $('#updated_today a').attr('href', lasturl);
    9. });
    10. </script>

    青字の部分では、Movable Type のタグを使って、エントリの作成日付( YYYY-mm-dd )と、エントリの URL を取得してます。
    赤字の部分は Updated Today の画像を表示したい場所をセレクタとして指定します。
    そして緑字の部分でリンク先をエントリページの URL に変更してます。

以上です。
後はお好みで各自の CSS に合わせてデザインしてください。

ちなみにわたしのサイトでは以下のようなコードで日別アーカイブをリンク先としてます。

bzbell 向けコードの記述

  1. mtmemo.last_updated = '<MTEntries lastn="1"><$MTEntryDate format="%Y-%m-%d"$></MTEntries>';
  2.  
  3. $('#bloglogo').UpdatedToday(mtmemo.last_updated);
  4. $('#updated_today a').click(function() {
  5.     var lastent = mtmemo.last_updated.replace(/-/g, '/');
  6.     $('#alpha').LoadPage([<$MTBlogArchiveURL$>, lastent, '/'].join(''));
  7. });

かんたんに説明すると、投稿日付( YYYY-mm-dd )を 'YYYY/mm/dd' というパスに変換して、'http://bizcaz.com/archives/2009/01/24/' という URL を作成してます。
その URL のページを Ajax を使って表示してるわけです ( ̄∇ ̄)b

マークアップ

Updated Today プラグインでは以下のようにマークアップされます。

マークアップ

  1. <span id="updated_today" style="display:block">
  2.     <a href="javascript:void(0);" title="Updated Today:YYYY-mm-dd"></a>
  3. </span>

たとえば、わたしのサイトでは以下のような CSS になります。

スタイルシート

  1. #updated_today {
  2.     position: absolute;
  3.     top: 0;
  4.     right: 10px;
  5.     z-index: 4;
  6. }
  7. #updated_today a {
  8.     width: 320px;
  9.     height: 260px;
  10.     display: block;
  11.     background: url(updated-today.png) no-repeat left top;
  12. }

以上です。

 Trackback Pings(0)

No trackbacks found.

 Comments(0)

No comments found.

 Post a Comment

 

コメント用フィード