您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add a clear date to the relative time in Github
当前为
- // ==UserScript==
- // @name Github Clear Date
- // @namespace https://github.com/wzshiming/userscripts
- // @version 0.3.0
- // @description Add a clear date to the relative time in Github
- // @author wzshiming
- // @match *://github.com/*
- // @grant none
- // @icon https://github.githubassets.com/pinned-octocat.svg
- // @supportURL https://github.com/wzshiming/userscripts/issues
- // @license MIT License
- // ==/UserScript==
- (function () {
- 'use strict';
- let MutationObserver = window.MutationObserver ||
- window.WebKitMutationObserver ||
- window.MozMutationObserver;
- let config = {
- childList: true,
- subtree: true,
- attributes: true,
- };
- let observer = new MutationObserver(mutationForce);
- observer.observe(document.body, config);
- mutate(document.body);
- })();
- function mutate(elem) {
- elem.querySelectorAll('relative-time').forEach(formatTime);
- }
- function mutationForce(mutationsList, observer) {
- mutation(mutationsList);
- setTimeout(function () {
- mutation(mutationsList);
- }, 1000 + Math.round(Math.random() * 1000));
- }
- function mutation(mutationsList) {
- for (let mutation of mutationsList) {
- mutate(mutation.target.parentNode);
- }
- }
- function formatTime(item) {
- let text = item.shadowRoot.innerHTML;
- if (text.length == 0 || text.indexOf("(") >= 0) {
- return
- }
- let date = item.datetime.split("T")[0].replaceAll("-", "/")
- if (date.length < 8) {
- return
- }
- let now = new Date();
- let year = now.getFullYear();
- if (date.indexOf(year) == 0) {
- date = date.substr(5);
- } else if (date[0] == "2" && date[1] == "0") {
- date = date.substr(2);
- }
- item.shadowRoot.innerHTML += "(" + date + ")";
- }