読者です 読者をやめる 読者になる 読者になる

鈴木うどんの横須賀おもしろ生活

撮った写真や思ったことや技術ネタなど。出来るだけ大きなディスプレイで見ると良いと思う。ここでの発言は個人の見解であり、所属する組織の公式見解ではありません。

はてなブログの日付の表示フォーマットをJavascriptで無理やり整形した

設定画面で見つからなかったのでJavascriptで書いたけれどこれでよかったかはわからない。

<script type="text/javascript">
!function(){
    var m2b = function(month){
        var m = parseInt(month);
        var ary_b = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
        return isNaN(m) || m < 1 || 12 < m  ? month : ary_b[m-1];
    };
    var ymd2D = function(y, m, d){
        var ary_D = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
        var y = parseInt(y);
        var m = parseInt(m);
        var d = parseInt(d);
        return isNaN(y) || isNaN(m) || isNaN(d) ? "" : ary_D[new Date(y,m-1,d).getDay()];
    }
    var dateFormat = function(elm){
        var timeElm = elm.getElementsByTagName('time')[0];
        var year = timeElm.getElementsByClassName('date-year')[0].innerHTML;
        var month = timeElm.getElementsByClassName('date-month')[0].innerHTML;
        var day = timeElm.getElementsByClassName('date-day')[0].innerHTML;
        timeElm.innerHTML = [[ymd2D(year, month, day), m2b(month), day].join(' '), year].join(', ');
    };

    var dateElements = document.getElementsByClassName('date');
    Array.prototype.forEach.call(dateElements, dateFormat);
}();
</script>

デザインカスタマイズのフッタのところに挿入すると動く。AutoPagerize に対応させようかと思ったけど、思っただけでやらなかった。