Github風芝生をブログに設置する

Github風芝生をブログに設置する

今回は、cal-heatmap.jsを使って、Githubのプロフィールページにある芝生(contributions)を実装してみたいと思います。

使い方

今回は、CDNを使って必要ライブラリを読み込みます。

html

<script type="text/javascript" src="//d3js.org/d3.v3.min.js"></script>
<script type="text/javascript" src="//cdn.jsdelivr.net/cal-heatmap/3.3.10/cal-heatmap.min.js"></script>
<link rel="stylesheet" href="//cdn.jsdelivr.net/cal-heatmap/3.3.10/cal-heatmap.css" />
<div id="cal-heatmap"></div>

js

var cal = new CalHeatMap();
cal.init({
	data: "http://localhost/datas.json"
});

オプションは、様々なものが用意されているので、公式ドキュメントを確認してみてください。

json

{
	"1530505222":1,
	"1520512222":1,
	"1530515222":1
}

データファイルは、json以外にも、csv、tsv、textを扱うことが可能です。

サンプル

html

<div id="example-heatmap"></div>

js

var now = new Date();
var cal = new CalHeatMap();
cal.init({
    itemSelector: '#example-heatmap',
    domain: "month",
    data: "/api/vi/dates.json",
    domainLabelFormat: '%Y-%m',
    start: new Date(now.getFullYear(), now.getMonth() - 11),
    cellSize: 10,
    range: 12,

    legend: [1, 3, 5, 7],
    legendColors: {
        min: "#efefef",
        max: "steelblue",
        empty: "#efefef"
    },
    tooltip: true
});