web-dev-qa-db-fra.com

Voir la date de validation "réelle" dans github (heure/jour)

Existe-t-il un moyen de voir la date d'un commit dans github, avec une précision jour/heure? Les commits plus anciens apparaissent dans un format "lisible par l'homme", tel que "il y a 2 ans" au lieu d'indiquer la date réelle.

old github commit

S'il n'est pas possible d'afficher la date réelle sur github, existe-t-il une solution de contournement plus simple que git clone?

123
goncalopp

Passez votre souris sur le 2 years ago et vous obtiendrez l'horodatage.

237
Matt S.

La date réelle n'apparaît pas pour moi en survolant "il y a 2 ans", bien que le texte soit enveloppé par un élément <time> avec une valeur ISO sous son attribut datetime.

Si tout échoue, comme ce fut le cas pour moi, essayez d'inspecter le texte.

Élément de l'échantillon:

<time datetime="2015-01-22T20:48:13Z" is="relative-time" title="Jan 22, 2015, 2:48 PM CST">7 days ago</time>

5
Walter Roman

vous pouvez simplement utiliser ce marque-page js:

javascript:(function() { 
        var relativeTimeElements = window.document.querySelectorAll("relative time");
        relativeTimeElements.forEach(function(timeElement){
        timeElement.innerHTML = timeElement.innerHTML +" -- "+ timeElement.title;
        })
    }()
)

https://Gist.github.com/PhilippGrulich/7051832b344d4cbd30fbfd68524baa38

Il ajoute juste l'heure exacte: Comme ceci: Commis il y a 21 heures - 15. Février 2017, 15:49 MEZ

1
Philipp Grulich

Si vous cherchez un moyen d’afficher la date/heure de manière permanente sans survoler (par exemple, pour les captures d’écran), les solutions JavaScript ci-dessus ne correspondent pas au dernier code HTML Github (voir les commentaires). Et ils n'ont pas pris en compte le fait que les horodatages sont mis à jour automatiquement en fonction d'un minuteur ("X minutes auparavant" doivent changer toutes les minutes), ils réapparaîtront donc périodiquement.

Le script suivant semble fonctionner sur Github à partir du 30/10/2017:

(function() {
    var els = window.document.querySelectorAll("time-ago,relative-time");
    els.forEach(function(el) {
        el.innerHTML = el._date; // set original timestamp
        el.detachedCallback();   // stop auto-updates
    });
})();

Vous pouvez en faire un bookmarklet _ en préfixant le code avec javascript:, comme dans l'autre solution basée sur JS.

Et si vous voulez en faire un correctif permanent, vous pouvez l'enregistrer en tant que script TamperMonkey/Greasemonkey, comme suit:

// ==UserScript==
// @name         Github: always show absolute times
// @match        https://github.com/*
// ==/UserScript==

(function() {
    var els = window.document.querySelectorAll("time-ago,relative-time");
    els.forEach(function(el) {
        el.innerHTML = el._date; // set original timestamp
        el.detachedCallback();   // stop auto-updates
    });
})();
1
odony

J'ai essayé le script TamperMonkey/Greasemonkey de @ odony sur Chrome, mais je n'ai pas réussi à le faire fonctionner. detachCallback() n'a pas été reconnu. Ainsi, au lieu de détacher les rappels, j'ai simplement remplacé le nœud <relative-time>

// ==UserScript==
// @name         Github: always show absolute times
// @match        https://github.com/*
// ==/UserScript==

(function() {
    document.querySelectorAll("relative-time").forEach(function(el) {
        var parent = el.parentNode;
        var timestamp = el.title;
        var span = document.createElement("span");
        span.innerHTML = timestamp;
        parent.removeChild(el);
        parent.appendChild(span);
    });
})();

Désolé, je n'ai pas testé cela avec un autre navigateur, mais comme c'est du javascript basique, ça devrait marcher. :)

0
Mr. T

Avec gitlab 10, j'ai utilisé ceci pour ajouter le titre de l'info-bulle à l'élément en tant que texte standard:

javascript:(function() { 
  var relativeTimeElements = window.document.querySelectorAll("time");
  relativeTimeElements.forEach(function(timeElement){
    timeElement.innerHTML = timeElement.innerHTML +" -- "+ timeElement.getAttribute('data-original-title');
  })
}());
0
Xeno