github pageでコミットログを表示
http://pages.github.com を使用して久々にサイト構築をやり始めてみた。
github系のページなのでリポジトリのコミットログをRSSで取得しようとJavaScriptを書いたのだが...。github.com と teramako.github.com ならドメインがいっしょだからXMLHttpRequest出来るもんだと思っていたんだけど、違うねの orz
まぁそんなんで諦めるのは早いってことでGithub側でAPIを用意していないか探してみたらあったThe GitHub API - Guides - GitHub。JSONPが使える!
で、早速実装してみた結果→http://teramako.github.com/
使用しているJavaScript→http://teramako.github.com/js/commit_history.js
ただ、たぶんGeckoでないと動かない。内部でHTML文字を書くのが面倒でE4X使っちゃったりしているからね。
function formatDate(date, format){ function formatter(all, id){ var buf; switch (id){ case "Y": buf = date.getFullYear(); break; case "m": buf = date.getMonth() + 1; break; case "d": buf = date.getDate(); break; case "H": buf = date.getHours(); break; case "M": buf = date.getMinutes(); break; case "S": buf = date.getSeconds(); break; } return buf >= 10 ? buf : "0" + buf; } return format.replace(/%(.)/g, formatter); }
このformatDate
関数とか個人的には気にっているのだけど、String.replace
の第2引数にfunctionオブジェクトか他のエンジンでは使えそうにないんだよなぁ。
クロスブラウザなスクリプトを書きたいと思いつつ、ついつい安易に知っている方法を取ってしまう...。jQueryとかのライブラリ使えばそれなりに補完できるんだろうけど、使い方を覚えるのが面倒で敬遠しがちだし。