GitHub Issue Highlighter

A userscript that highlights the linked-to comment

当前为 2016-05-22 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name          GitHub Issue Highlighter
// @version       1.0.0
// @description   A userscript that highlights the linked-to comment
// @license       https://creativecommons.org/licenses/by-sa/4.0/
// @namespace     http://github.com/Mottie
// @include       https://github.com/*
// @run-at        document-idle
// @grant         GM_addStyle
// @author        Rob Garrison
// ==/UserScript==
/* global GM_addStyle */
/*jshint unused:true */
(function() {
  "use strict";

  GM_addStyle([
    // !important needed to override styles added by
    // https://github.com/StylishThemes/GitHub-Dark
    ".timeline-comment.selected { border-color: #4183C4 !important; }",
    ".timeline-comment.selected:before { border-right-color: #4183C4 !important; }"
  ].join(""));

  var init = function(event) {
    if (document.querySelector("#discussion_bucket")) {
      var target, indx,
        hash = window.location.hash;
      // remove "selected" class on hashchange
      if (event) {
        target = document.querySelectorAll(".timeline-comment");
        indx = target.length;
        while (indx--) {
          target[indx].classList.remove("selected");
        }
      }
      // add "selected" class
      if (/^#issue(comment)?-\d+/.test(hash)) {
        target = document.querySelector(hash);
        if (target) {
          target.classList.add("selected");
        }
      }
    }
  };

  window.addEventListener("hashchange", init);
  init();

})();