PTH Tag Colours

Colourises some genre tags

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name           PTH Tag Colours
// @description    Colourises some genre tags
// @version        1.0
// @include        http*://*passtheheadphones.me/*
// @grant          GM_addStyle
// @namespace https://greasyfork.org/users/88604
// ==/UserScript==


var tagGroups = [

  {
    color: '#00ff00',
    tags:  'synth.pop, electro.pop, electronic'
  },

  {
    color: '#0000ff',
    tags:  'rock, alternative.rock'
  },

  {
    color: 'red',
    tags:  'jam.band'
  }

];


var style = '';
for (var i = tagGroups.length; i--; ) {
  tagGroups[i].tags = tagGroups[i].tags.trim().toLowerCase().split(/[ ,]+/);
  style += [
    'a.tagcolor_', i, ' { color: ', tagGroups[i].color, ' !important; }',
    'a.tagcolor_', i, ':hover { color: ', tagGroups[i].color, ' !important; opacity: 0.8; }'
  ].join('');
}
GM_addStyle(style);

var links = document.querySelectorAll('.tags > a, .box_tags li > a');
for (var i = links.length; i--; ) {
  var tag = links[i].textContent.trim();
  for (var j = tagGroups.length; j--; ) {
    if (tagGroups[j].tags.indexOf(tag) > -1) {
      links[i].classList.add('tagcolor_' + j);
      break;
    }
  }
}