octopressのsidebarにgithub repoとかcoderwallとか表示する
サイドバーのGitHub Repos
がずっとStatus updating...
だったのを直した。
github api v3じゃなくてv2を使ってたのが原因だったらしい。
作業としてはoctopress 2.1をマージしてrake update
した。
ついでにcoderwallのバッチを表示するようにした。
アイコンだけだとよくわからないのでgithub/jaz303/tipsyを使ってバッジの説明を表示するようにした。
# 以下にtipsyを配置 source/javascripts/jquery.tipsy.js source/stylesheets/tipsy.css
- source/_includes/sidebars/sections/coderwall.html
{% if site.coderwall_user %} <section class="well"> <ul class="nav"> <li class="nav-header">Coderwall Badges</li> </ul> <div id="coderwall_badges"></div> <a href="http://coderwall.com/{{site.coderwall_user}}">@{{site.coderwall_user}}</a> on coderwall <link rel="stylesheet" href="/stylesheets/tipsy.css" type="text/css" /> <script type='text/javascript' src='/javascripts/jquery.tipsy.js'></script> <script type="text/javascript"> $(document).ready(function(){ $.getJSON("http://coderwall.com/{{site.coderwall_user}}.json?callback=?", function(data){ for(var i = 0; i < data.data.badges.length ; i++){ var badge = data.data.badges[i]; var badge_tag = $("<img />"); badge_tag.css("width", "25%"); badge_tag.attr("src",badge.badge); badge_tag.attr("title", "<strong>" + badge.name + "</strong><br>" + badge.description); badge_tag.tipsy({gravity: 'se', html: true}); $("#coderwall_badges").append(badge_tag); } }); }); </script> </section> {% endif %}
- source/_includes/sidebars/blog_index_default.html
<!--以下を追記--> {% include sidebars/sections/coderwall.html %} <!-- page, postのデフォルトサイドバーは以下のファイルへ source/_includes/sidebars/page_default.html source/_includes/sidebars/post_default.html -->
octopress 2.1からsource/_includes/aside
じゃなくてsource/_includes/sidebars
を使うようになってて、最初ちょっと混乱した。
参考:
Octopress のサイドバーに Coderwall Badges を表示 - Yoshiori Blog
http://yoshiori.github.com/blog/2012/07/12/coderwall-badges/