Github-time-format-changer

Change Github time format.

目前為 2014-05-19 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @id             github.com-ff599db1-47d8-b14f-83b4-3e345f6d67e3@http://efcl.info/
// @name           Github-time-format-changer
// @version        1.0
// @namespace      http://efcl.info/
// @author         azu
// @license        MIT
// @description    Change Github time format.
// @include        https://github.com/*
// @run-at         document-end
// @grant          none
// @require        https://cdn.jsdelivr.net/momentjs/2.6.0/moment.min.js
// ==/UserScript==

var $ = unsafeWindow.$;
var toArray = Function.prototype.call.bind(Array.prototype.slice);
var relative = /ago/i;
function _update(body) {
    var times = body.getElementsByTagName("time");
    toArray(times).forEach(function (timeElement) {
        if (!relative.test(timeElement.textContent)) {
            timeElement.textContent = moment(timeElement.getAttribute("datetime")).fromNow();
        }
    });
}
function update(body) {
    requestAnimationFrame(function () {
        _update(body);
    });
}
$(document).on('pjax:popstate pjax:end', function pjaxEnd() {
    update(document.body);
});
var addFilterHandler = function (evt) {
    var node = evt.target;
    update(node);
};
document.body.addEventListener('AutoPagerize_DOMNodeInserted', addFilterHandler, false);
// MAIN =
setTimeout(function () {
    update(document.body);
}, 100);

window.addEventListener("load", function onLoad() {
    update(document.body);
});