I made a script that can reorder any group of tags. Reordered tags will be moved to the top, and sorted by their assigned ordinal number. Plus color bars on left. (I just recoloring wiki question marks, the links are still work.)
Screenshot: http://i.imgur.com/C5n4JrC.png
(Tested on Firefox.)
Optional Features:
- tagHighlighter: Highlight specific tags that can help you quickly spot them.
- tagHider: Hide specific tags that are unimportant to you.
- newCategory: Insert new category rows into sidebar.
- nullifyReorder: (wip)
- missingTags: (wip)
- ratingChecker: (wip)
Script:
Version 0.1 beta
// ==UserScript==
// @name e621 Tag Reorder
// @namespace ZaSigma4
// @description Reorder a post's tags.
// @version 0.1 beta
// @match https://e621.net/post/show/*
// @match http://e621.net/post/show/*
// @match https://e926.net/post/show/*
// @match http://e926.net/post/show/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js
// @grant none
// ==/UserScript==
this.$ = this.jQuery = jQuery.noConflict(true);
//////////////////////////////////////////////////
// Tag Group Database (Sort by: ordinal, groupName, color, tags...)
var index1 = [
["1100", "character_count", "Pink", "zero_pictured", "solo", "duo", "group"],
["1110", "optics_1", "Pink", "solo_focus", "duo_focus"],
// ["1120", "group_types", "Pink", "audience", "crowd", "absolutely_everyone"],
["1200", "body_types_1", "#00E6FF", "ambiguous_form", "anthro", "feral"],
["1201", "body_types_sub", "#00E6FF", "semi-anthro", "busty_feral"],
["1210", "body_types_change", "#00E6FF", "anthrofied", "feralized", "pokémorph", "digimorph"],
["1220", "species_change", "#00E6FF", "alternate_species", "humanized", "humanoidized", "furrification", "ponification", "dragonification", "personification"],
["1240", "body_types_interaction", "Blue", "feral_on_feral", "human_on_anthro", "human_on_human", "human_on_humanoid", "humanoid_on_anthro", "humanoid_on_humanoid", "anthro_on_taur", "human_on_taur", "humanoid_on_taur", "taur_on_taur"],
["1241", "bestiality_main", "DarkBlue", "bestiality"],
["1242", "bestiality_types", "DarkBlue", "anthro_on_feral", "human_on_feral", "humanoid_on_feral", "feral_on_taur"],
["1243", "bestiality_genders", "DarkBlue", "male_on_feral", "female_on_feral", "intersex_on_feral", "cuntboy_on_feral", "dickgirl_on_feral", "herm_on_feral", "maleherm_on_feral"],
["1300", "genders", "#FFFF50", "ambiguous_gender", "male", "female", "intersex", "cuntboy", "dickgirl", "herm", "maleherm"],
// ["1301", "genders_sub", "#FFFF50", "crossgender", "manly", "girly", "tomboy"],
["1310", "sexual_interaction", "DarkOrange", "male%2Ffemale", "male%2Fmale", "female%2Ffemale", "intersex%2Fmale", "cuntboy%2Fmale", "dickgirl%2Fmale", "herm%2Fmale", "maleherm%2Fmale", "intersex%2Ffemale", "cuntboy%2Ffemale", "dickgirl%2Ffemale", "herm%2Ffemale", "maleherm%2Ffemale", "intersex%2Fintersex", "cuntboy%2Fcuntboy", "dickgirl%2Fcuntboy", "dickgirl%2Fdickgirl", "dickgirl%2Fherm", "herm%2Fcuntboy", "herm%2Fherm", "maleherm%2Fcuntboy", "maleherm%2Fdickgirl", "maleherm%2Fherm", "maleherm%2Fmaleherm", "ambiguous%2Fambiguous", "male%2Fambiguous", "female%2Fambiguous", "intersex%2Fambiguous", "cuntboy%2Fambiguous", "dickgirl%2Fambiguous", "herm%2Fambiguous", "maleherm%2Fambiguous"],
["1311", "bisexual", "DarkOrange", "bisexual", "bisexual_sandwich"],
["1400", "sex_positions", "DarkRed", "1691", "69_position", "amazon_position", "anvil_position", "arch_position", "ass_to_ass", "chair_position", "cowgirl_position", "daisy_chain", "deck_chair_position", "doggystyle", "from_behind_position", "leg_glider_position", "lotus_position", "mastery_position", "missionary_position", "mounting", "piledriver_position", "polesitting", "prison_guard_position", "reverse_cowgirl_position", "reverse_piledriver_position", "reverse_missionary_position", "sandwich_position", "speed_bump_position", "spitroast", "spoon_position", "stand_and_carry_position", "table_lotus_position", "train_position", "triangle_position", "unusual_position", "wheelbarrow_position"],
// ["2000", "sexual_acts", "", "anal", "oral", "vaginal", "urethral"],
// ["2100", "sex_acts", "", "sex"],
// ["2110", "group_sex", "", "group_sex"],
// ["2200", "masturbation_acts", "", "masturbation"],
// ["3000", "genitals/sex_characteristics", "", ""],
// ["5000", "nudity", "", "nude", "clothed"],
// ["9000", "background", "", "simple_background", "detailed_background"],
// ["10100", "misc_1", "", "story", "story_in_description", "story_at_source"],
// ["10110", "misc_2", "", "what", "humor", "lol_comments", "tag_panic"],
// ["20010", "year", "", "2016"],
// ["20020", "image_size", "", "low_res", "hi_res", "absurd_res", "superabsurd_res", "wallpaper"],
// ["20030", "image_type", "", "animated", "animated_png", "flash"],
// ["20100", "art_info", "", "digital_media_(artwork)", "not_furry"],
// ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
["10900", "requests", "White", "tagme", "translation_request", "source_request", "uncensor_request"]
];
var index2 = [
["910", "disambiguation", "LightSlateGray", "_%28disambiguation%29"]
];
var index3 = [
["0", "body_types_2", "#00E6FF", "human", "humanoid", "taur", "animal_head", "animate_inanimate", "living_machine", "penis_creature", "tentacle_monster", "waddling_head", "eldritch_horror", "flora_fauna", "food_creature", "glitch", "goo", "monster", "robot", "undead", "boobipede"]
];
//////////////////////////////////////////////////
// Variables
var sIndex, sGroup, sTag, sCategory, // "s" means selected
indexLength, groupLength, categoryLength,
wikiLink, postLink, currentStyle,
i, j, k;
//////////////////////////////////////////////////
// Control Panel
cssSetUp();
tagReorder();
tagHighlighter(
["character_count", "body_types_1", "body_types_2", "genders"],
["Pink", "#00E6FF", "#00E6FF", "#FFFF50"]
);
// tagHider(["tag-type-general", "genders"]);
newCategory([ // (Sort by: ordinal, categoryName, requiredGroups...)
// ["", "", "", "", ""],
["900", "Disambiguation", "disambiguation"]
]);
// nullifyReorder(["", "", ""]);
// missingTags(["", "", ""]);
// ratingChecker();
//////////////////////////////////////////////////
// Functions
function cssSetUp() {
$('#tag-sidebar').css({
"display": "-webkit-box",
"display": "-moz-box",
// "display": "box",
"-webkit-box-orient": "vertical",
"-moz-box-orient": "vertical",
"box-orient": "vertical",
"-webkit-box-sizing": "border-box",
"-moz-box-sizing": "border-box",
"box-sizing": "border-box"
});
$('#category-general, #category-hidden-general').css({
"-webkit-box-ordinal-group": "1000",
"-moz-box-ordinal-group": "1000",
"box-ordinal-group": "1000"
});
$('.tag-type-general').css({
"-webkit-box-ordinal-group": "10000",
"-moz-box-ordinal-group": "10000",
"box-ordinal-group": "10000"
});
}
function tagReorder() {
for (i = 1; i < 4; i++) { // Select index
switch (i) {
case 1: sIndex = index1; break;
case 2: sIndex = index2; break;
case 3: sIndex = index3;
}
indexLength = sIndex.length;
for (j = 0; j < indexLength; j++) { // Select group
sGroup = sIndex[j];
groupLength = sGroup.length;
for (k = 3; k < groupLength; k++) { // Select tag
sTag = sGroup[k];
switch (i) {
case 1:
case 3:
$('#tag-sidebar > li:has(a[href$="=' + sTag + '"])').addClass(sGroup[1]); break;
case 2:
$('#tag-sidebar > li:has(a[href*="' + sTag + '"])').addClass(sGroup[1]);
}
}
if (i == 1 || i == 2) { // Reorder tags and add color bars.
$('li.' + sGroup[1]).css({
"-webkit-box-ordinal-group": sGroup[0],
"-moz-box-ordinal-group": sGroup[0],
"box-ordinal-group": sGroup[0]
});
wikiLink = 'li.' + sGroup[1] + ' > a[href^="/wiki"]';
currentStyle = $(wikiLink).attr("style");
$(wikiLink).attr("style", currentStyle + " color: " + sGroup[2] + " !important;").css({
"background-color": sGroup[2]
});
}
}
}
}
function tagHighlighter(groupName, groupColor) {
indexLength = groupName.length;
for (i = 0; i < indexLength; i++) {
wikiLink = 'li.' + groupName[i] + ' > a[href^="/wiki"]';
currentStyle = $(wikiLink).attr("style");
$(wikiLink).attr("style", currentStyle + " color: " + groupColor[i] + " !important;");
postLink = 'li.' + groupName[i] + ' > a[href^="/post"]';
$(postLink).attr("style", "color: " + groupColor[i] + " !important;").css({
"font-weight": "bold"
});
}
}
function tagHider(groupName) {
indexLength = groupName.length;
for (i = 0; i < indexLength; i++) {
if (groupName[i].startsWith("tag-type-") == true) {
$('#tag-sidebar > li[class="' + groupName[i] + '"]').hide();
} else {
$('#tag-sidebar > li.' + groupName[i]).hide();
}
}
}
function newCategory(categoryIndex) {
indexLength = categoryIndex.length;
for (j = 0; j < indexLength; j++) {
sCategory = categoryIndex[j];
categoryLength = sCategory.length;
for (k = 2; k < categoryLength; k++) {
sGroup = sCategory[k];
$('#tag-sidebar > li.' + sGroup).addClass("child-" + sCategory[1]);
}
if ($('#tag-sidebar > li').hasClass("child-" + sCategory[1])) {
$("#tag-sidebar").append('<li id="category-' + sCategory[1] + '"><b>' + sCategory[1] + '</b></li>');
$('#category-' + sCategory[1]).css({
"-webkit-box-ordinal-group": sCategory[0],
"-moz-box-ordinal-group": sCategory[0],
"box-ordinal-group": sCategory[0]
});
}
}
}
Note:
- If you don't know how to install script on your browser ask google.
- I am not gonna host this script on other site because of porno tags, so just copy-paste that wall of code.
- crappy buggy laggy & not really helping