tumblrにソーシャルブックマークボタンを付ける
このブログにもソーシャルブックマークボタンをつけてみた。 wordpressだったころはWP Social Bookmarking Liteというプラグインを使っていたんだけど、tumblrではそういうものは用意されていないようなので自分で作った。
とりあえず以下のボタンを用意した。
- Facebook Likeボタン
- Twitterにつぶやくボタン
- はてなブックマークボタン
- Google+1ボタン
- Share on tumblrボタン
まず、以下のコードを<head>タグの中か</body>タグの直前に貼り付ける。Facebook Likeボタンのみ、別途Facebook App IDの取得が必要(このへんに詳しく書いてある)。下記コードの中にFACEBOOKAPPIDという部分があるので、そこを取得したIDで置き換えないと動かない。
<!-- Include social buttons -->
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=FACEBOOKAPPID";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
<script type="text/javascript" src="http://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>
<script type="text/javascript">
(function() {
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = 'https://apis.google.com/js/plusone.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();
</script>
<!-- /Include social buttons -->
次に、ソーシャルブックマークボタンを付けたい場所に以下のコードを貼り付ける。
<!-- Social buttons -->
<div style="height:20px;padding:15px 30px 0;">
<div id="fb-root"></div>
<div style="float:left;margin-right:5px;"><div class="fb-like" data-href="{permalink}" data-send="false" data-layout="button_count" data-show-faces="false" data-font="arial"></div></div>
<div style="float:left;margin-right:5px;"><a href="https://twitter.com/share" class="twitter-share-button" data-url="{Permalink}" data-via="sanojimaru">Tweet</a></div>
<div style="float:left;margin-right:5px;"><a href="http://b.hatena.ne.jp/entry/{Permalink}" class="hatena-bookmark-button" data-hatena-bookmark-title="{Title}" data-hatena-bookmark-layout="standard" title="このエントリーをはてなブックマークに追加"><img src="http://b.st-hatena.com/images/entry-button/button-only.gif" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a></div>
<div style="float:left;margin-right:5px;"><g:plusone size="medium" href="{Permalink}"></g:plusone></div>
<div style="float:left;margin-right:5px;"><a href="http://www.tumblr.com/share" title="Share on Tumblr" style="display:inline-block; text-indent:-9999px; overflow:hidden; width:81px; height:20px; background:url('http://platform.tumblr.com/v1/share_1.png') top left no-repeat transparent;">Share on Tumblr</a></div>
</div>
<!-- /Social buttons -->
場所はどこでもいいと思うけど、<div class=”post-content”>タグの直前だとだいたいどのテーマでも収まりがいいような気がする。あとは保存して確認すればOKなんだけど、tumblrのCustomizeページのプレビューで見ると一部上手く動かないものもあるのでご注意を。