您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Auto hide some tags you don't like to see
当前为
- // ==UserScript==
- // @name ao3 hide some tags
- // @description Auto hide some tags you don't like to see
- // @namespace ao3
- // @include http*://archiveofourown.org/*
- // @grant unsafeWindow
- // @version 1
- // ==/UserScript==
- (function($) {
- /**** CONFIG ********************/
- var tagsToHide = ["camel spiders", "*worms", "ticks"]; // use * for wildcard
- var buttonLabel = "~";
- /********************************/
- $('.blurb ul.tags, .meta .tags ul').each(function() {
- var $list = $(this);
- $list.find('a.tag').each(function() {
- var $tag = $(this);
- var text = $tag.text();
- for (var i = 0, len = tagsToHide.length; i < len; i++) {
- if (termsMatch(text, tagsToHide[i])) {
- hideTagsList($list);
- return false;
- }
- }
- });
- });
- function hideTagsList($list) {
- $list.hide();
- $('<button>').addClass('hide-some-tags-userscript').text(buttonLabel).click(function() {
- $(this).next('ul').toggle();
- }).insertBefore($list);
- }
- function termsMatch(testTerm, listTerm) {
- testTerm = testTerm.toLowerCase();
- listTerm = listTerm.toLowerCase();
- if (testTerm == listTerm) { return true; }
- if (listTerm.indexOf('*') == -1) return false;
- var parts = listTerm.split('*'),
- prevPartIndex = 0,
- firstPart,
- lastPart;
- for (var i = 0, part, len = parts.length; i < len; i++) {
- part = parts[i];
- partIndex = testTerm.indexOf(part);
- if (part && partIndex < prevPartIndex) {
- return false;
- }
- prevPartIndex = partIndex + part.length;
- }
- firstPart = parts[0];
- lastPart = parts[parts.length-1];
- return !(
- firstPart && testTerm.indexOf(firstPart) != 0 ||
- lastPart && testTerm.indexOf(lastPart)+lastPart.length != testTerm.length
- );
- }
- })(unsafeWindow.jQuery);