【サンプルコードあり】ブクログのウィジェットをCSSで整形してみた

bookshelf

ブクログとは

ブクログとは、WEB上に自分の本棚を作成できるサービスです。レビューを記録できたり、本棚を公開できたりする(=自己紹介)のが便利なので、私も愛用しています。

ところでこのたび、その本棚をウィジェットとしてサイドバーに入れてみたのですが、デフォルトだと、改行位置とかテキトーだったりして、あまりオシャレじゃありません。というわけで改造してみました。

ブクログからAPIで本棚情報を取得する

下記のコードを「ウィジェットエリア」にテキストとして張付けましょう。
「fujimotoweb」になっているところは、ご自身のユーザー名に変えて使ってくださいね。

<script type="text/javascript">
    function booklog_minishelf(json) {
        var items = json["books"];
        var html = "";
 
        for(var i = 0; i < items.length; i++) {
            var elem = items[i];
            var text = '<ul class="bookshelf"><li class="bookImage"><a href="' + elem["url"] + '" target="_blank"><img src="' + elem["image"] + '" title="' + elem["title"] + '"width="52" height="75" alt="No Image" /></a></li><li class="bookTitle"><a href="' + elem["url"] + '" target="_blank">' + elem["title"] + '</a><div class="bookAuthor">' + elem["author"] + '</div></li></ul>';
        html += text;
        }
        document.getElementById("recent_books").innerHTML = html;
    }
</script>
<div id="recent_books"></div>
<div class="clear"></div>
 
<script src="http://api.booklog.jp/json/fujimotoweb?category=0&status=3&rank=5&count=10&callback=booklog_minishelf"></script>

 CSSの制御

下記の指定をstyle.cssに追加しましょう。デフォルトより少しだけオシャレになりますよ~。

#recent_books {
	margin: 0 auto;
	/*width: 600px;*/
}

#recent_books h2 img {
	border: 0;
	vertical-align: baseline;
}

.userInfo {
	text-align: center;
}

.userInfo span {
	display: inline-block;
	margin: 0 10px;
}

.bookshelf {
	padding: 0;
	border: 1px solid #ccc;
}

.bookshelf li {
	margin: 0;
	padding: 10px;
	/zoom: 1;
	list-style-type: none;
}

.bookshelf li:after {
	clear : both;
	display: block;
	content : '';
}

.bookshelf li:first-child {
	border: 0; 
}

.bookImage {
	float: left;
	display: block;
	margin-right: 10px;
	margin-left: 0px !important;
}

.bookInfo {
	overflow: hidden;
}

.bookTitle {
	font-weight: 700;
}

.bookAuthor {
	margin-bottom: 5px;
}


 まとめ

  •  ウィジェットに改造済のタグ追加
  • fujimotowebのところはご自身のユーザー名に
  • CSSにサンプルコード追加しましょう