smb は様々な Web サービスが提供しているソーシャル(メディア)ボタンと呼ばれるボタンを表示させるための JavaScript ライブラリです.現在,以下の Web サービスのソーシャルボタンに対応しています. ライブラリ内で一部 MD5 ハッシュ値を計算する必要がありますが,MD5 のハッシュ値の計算には CybozuLabs.MD5 を利用させて頂きました.
ライセンスは,修正 BSD ライセンスです.
<script type="text/javascript" src="md5.js"></script> <script type="text/javascript" src="smb.js"></script>
ヘッダで上記のように smb.js を(場合によっては md5.js も)ロードした後, ソーシャルボタンを表示させたい箇所で以下のように記述して下さい(option は省略可).
smb.show(kind, option);
kind には,以下のリストの中から表示したいソーシャルボタンを指定します. kind は "|" (OR 演算子)で複数指定する事が可能です.
option には,現在,以下の 2 つを指定する事ができます. 両方指定する場合には "|" (OR 演算子)で結合して下さい.
ソーシャルボタンは,第 1 引数の指定順序に関係なく特定の順序で表示されます. 順序を変えたい場合は,smb.show() を複数回コールするなどして対応して下さい.
<script type="text/javascript"><!-- smb.show(smb.hatena | smb.twitter | smb.facebook | smb.tumblr | smb.delicious); //--></script>
第1引数で指定したソーシャルボタンが簡易表示モードで表示されます. デフォルトの設定で表示させる場合,引数 option は省略する事ができます.
<script type="text/javascript"><!-- smb.show( smb.hatena | smb.twitter | smb.facebook | smb.tumblr | smb.livedoor | smb.buzzurl | smb.evernote, smb.detail ); //--></script>
引数 option に smb.detail を指定すると,各ソーシャルボタンが詳細モードで表示されます. この場合,多くの SMB サービスではブックマーク数も併せて表示されます. また,,一部のソーシャルボタンでは,詳細モードの時にはアイコンが変化します.
<script type="text/javascript"><!-- smb.show( smb.hatena | smb.twitter | smb.facebook | smb.evernote | smb.livedoor | smb.buzzurl | smb.yahoo, smb.detail | smb.showentry ); //--></script>
先ほどの例に加えて,引数 option に smb.showentry も指定した例です. この場合,各ボタンをクリックしたときの動作が「ブックマークする」から 「該当エントリのブックマークページを表示する」に変わります(一部,変わらないボタン有). また,一部のソーシャルボタンでは,smb.entry を指定するとアイコンが変化します.
<script type="text/javascript"><!-- smb.show(smb.delicious | smb.livedoor | smb.buzzurl | smb.evernote); smb.show(smb.google_plus1 | smb.twitter | smb.facebook | smb.hatena, smb.detail); //--></script>
Twitter, Facebook, はてなブックマーク,Google +1 のみカウントを表示させた例です. ソーシャルボタンによって表示設定を変えたい場合は,上記のように smb.show() を複数回コールして下さい.
<script type="text/javascript"><!-- smb.show(smb.delicious | smb.livedoor | smb.buzzurl, smb.showentry); smb.show(smb.newsing | smb.atode | smb.evernote); smb.show(smb.tumblr | smb.twitter | smb.facebook | smb.hatena, smb.detail); //--></script>
Twitter, Facebook, はてなブックマークの 3種類は詳細表示, SMB 各種ソーシャルボタンはクリック時の動作を「該当エントリのブックマークページを表示する」 に変更して簡易表示,それ以外のソーシャルボタンはデフォルトの設定で表示させた例です.
<script type="text/javascript"><!-- smb.show( smb.hatena | smb.hatena_old | smb.twitter | smb.facebook | smb.tumblr | smb.google | smb.google_plus1 | smb.delicious | smb.livedoor | smb.yahoo | smb.buzzurl | smb.newsing | smb.atode | smb.evernote | smb.gree ); //--></script>
表示可能な全てのソーシャルボタンを表示させた例です. 引数 kind で指定した順序に関わらず,表示順は上記の通りになります.