Skip to content

Instantly share code, notes, and snippets.

@shibayan
Created September 21, 2015 12:34
Show Gist options
  • Save shibayan/74b59cd86d34a56d7fcc to your computer and use it in GitHub Desktop.
Save shibayan/74b59cd86d34a56d7fcc to your computer and use it in GitHub Desktop.
jQuery を使わないはてなブログ用タグクラウド表示
<script>
!function () {
var range = 11, base = 90;
var data = [];
var list = document.querySelectorAll(".hatena-module-category ul li a");
for (var i = 0; i < list.length; i++) {
data.push(parseInt(list[i].innerHTML.match(/\((\d+)\)/)[1]));
}
var min = Math.min.apply(null, data), max = Math.max.apply(null, data);
var sqrtMin = Math.sqrt(min), sqrtMax = Math.sqrt(max);
var factor = range / (sqrtMax - sqrtMin);
for (var i = 0; i < list.length; i++) {
var count = data[i];
var level = parseInt((Math.sqrt(count) - sqrtMin) * factor);
var elem = list[i];
var text = elem.innerHTML.replace(/^\s+|\s+$/g, "");
elem.style.fontSize = (level * 10 + base) + "%";
elem.innerHTML = text.replace(/\([^\(\s +]+\)/, "").replace(/^\s+|\s+$/g, "");
elem.title = text;
}
}();
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment