jQuery Last.fm Profile Plugin

Last.fm の API を利用して、ユーザのプロファイルから最近聴いた曲やもっとも再生回数の多いアルバムやなんかを取得して表示する jQuery プラグイン。自分のサイト用に書いて使ってたんだけど、一部を書き直したり機能を追加したりして GitHub に公開してみました。まずはデモをどうぞ:

使い方。まず jQuery と一緒にプラグインをインクルードしてください。jQuery のバージョンは 1.4.3 以降である必要があります:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="/path/to/jquery.lastfm-profile.js"></script>

データを表示させたい箇所には以下のように適当な要素を置いてください:

<div id="my-favourite-artists"></div>

そして loadLastfmProfile() メソッドを呼び出します:

$(function () {
    $('#my-favourite-artists').loadLastfmProfile({
        user:   'terkeljp',
        method: 'TopArtists',
        period: 'overall'
    });
});

オプションはスクリプト呼び出し時に指定するだけではなく、HTML5 のカスタムデータ属性としてマークアップに仕込むこともできます:

<div id="my-favourite-artists"
    data-lastfm-user="terkeljp"
    data-lastfm-method="TopArtists"
    data-lastfm-period="overall"></div>

指定できるオプションは以下のとおりです:

user (data-lastfm-user)
データを取得する Last.fm ユーザ名。初期値は 'LAST.HQ'
method (data-lastfm-method)
取得するデータの種類。'TopArtists' (再生回数の多いアーティスト)、'TopAlbums' (再生回数の多いアルバム)、'TopTracks' (再生回数の多い楽曲)、'RecentTracks' (最近再生した楽曲)、'NowPlaying' (現在再生中の楽曲) のうちいずれかを指定。初期値は 'TopAlbums'
period (data-lastfm-period)
取得するデータの集計期間。'7day''3month''6month''12month''overall' のうちいずれかを指定。初期値は '7day'
limit (data-lastfm-limit)
取得するデータの件数。初期値は 10
image (data-lastfm-image)
各アイテムの画像を表示するかどうか。初期値は true
imageSize (data-lastfm-image-size)
各アイテムの取得する画像のサイズ。'small' (幅 34px)、'medium' (幅 64px)、'large' (幅 126px) のうちいずれかを指定。初期値は 'medium'
imageSquare (data-lastfm-image-square)
各アイテムの画像を正方形で取得したい場合は true を指定。初期値は true
text (data-lastfm-text)
各アイテムのタイトルやアーティスト名をテキストで表示するかどうか。false を指定すると画像の alt 属性とリンクの title 属性に同内容の値が入る。初期値は true
playcount (data-lastfm-playcount)
再生回数を表示するかどうか。初期値は true
loadingMessage (data-lastfm-loading-message)
データの取得が完了するまでの間に表示される内容を指定。初期値は 'Loading&#8230;'
errorMessage (data-lastfm-error-message)
データの取得に失敗した場合に表示される内容を指定。初期値は 'Failed to load data.'
contentBefore (data-lastfm-content-before)
アイテムのリストの前に挿入する内容。初期値は '' (何も挿入されない)
contentAfter (data-lastfm-content-after)
アイテムのリストの後ろに挿入する内容。初期値は '' (何も挿入されない)

プラグインのデータは以下でダウンロードできます:

Last.fm というと最近はあまり話題にのぼることが少ない気がしますが、サイトを利用してる人は淡々とログを蓄積し続けている、みたいな印象ですかね。API はいろんなデータがいじれてけっこう楽しいですよ。