您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a customisable info box to the wrangling edit page
- // ==UserScript==
- // @name AO3: [Wrangling] Wrangling Page Info Box
- // @description Adds a customisable info box to the wrangling edit page
- // @author Ebonwing
- // @namespace http://tampermonkey.net/
- // @license GPL-3.0 <https://www.gnu.org/licenses/gpl.html>
- // @match *://*.archiveofourown.org/tags/*/edit
- // @grant none
- // @version 0.0.1.20211105173749
- // ==/UserScript==
- var settings = {};
- /*********************
- *
- *
- * Customise the tags you want infoboxes on and the infobox text here.
- *
- *
- **********************/
- //Replace the settings with tags and infotexts of your choosing. Copy and paste each new setting on a new line if you want more.
- //Inserting <br> makes a line break.
- //The tags in the brackets are not case sensitive.
- //If you want an infobox on all tags containing a specific keyword, do this.
- settings["example"] = "This setting inserts this text into all urls that include the word example.";
- //If you want to use a key term that has a space in it, replace the space(s) with %20
- settings["Dean%20Winchester"] = "This appears on any tag that contains 'Dean Winchester'.";
- //For key terms with slashes, use *s*
- settings["Dean*s*Sam"] = "This appears on any tag that contains 'Dean/Sam'.";
- //If you want a box only on specific tags, paste the entire link into the brackets.
- settings["https://archiveofourown.org/tags/ExampleTag/edit"] = "This tag appears only on the tag with that specific link.";
- //Example use cases:
- settings["edging"] = "Edging does not syn to edgeplay but to orgasm delay/denial.<br>";
- settings["aro"] = "Aroace tags aren't synned to ace tags.<br>";
- var default_text = "This is a default text that appears on all noncanonical tags.";
- //If you don't want this to be shown on tags that have specific infoboxes, change the true value underneath this line to false.
- var always_show_default_text = true;
- /*********************
- *
- *
- * Customise the style of your infobox here.
- *
- *
- **********************/
- //default style: cyan background, black border. Change the hex code after background: to customise it.
- var style = "background:#d1fcf6; border:1px solid black; padding:10px;";
- //style that mimics AO3's default design, so it will appear as a plain sentence.
- //var style = "background:#dddddd;";
- //Reversi compatible style:
- //var style = "background:#000;";
- /*********************
- *
- *
- * End of the customisation section
- *
- *
- **********************/
- var text = "";
- for (const [key, value] of Object.entries(settings)) {
- var url = window.location.href.toLowerCase();
- var tag = url.split("tags/")[1].split("/")[0];
- if(url == key){
- text = text + value;
- } else if(tag.includes(key)){
- text = text + value;
- }
- }
- if(!document.getElementById("tag_canonical").checked && always_show_default_text){
- text = text + default_text;
- }
- if(text != ""){
- const div = document.createElement('div');
- div.id = "cheat_sheet";
- if (typeof style === 'undefined') {
- var style = "background:#d1fcf6; border:1px solid black; padding:10px;";
- }
- div.style = style;
- div.innerHTML = text;
- var main = document.getElementById("main");
- var content = main.getElementsByTagName('dl');
- //content[0].parentNode.insertBefore(div, content[0]);
- //checks if tag is in a fandom, since that changes the node placement
- if(content[0].childNodes.length == 21){
- content[0].childNodes[15].childNodes[3].parentNode.replaceChild(div, content[0].childNodes[15].childNodes[3]);
- } else if(content[0].childNodes.length == 25){
- content[0].childNodes[19].childNodes[3].parentNode.replaceChild(div, content[0].childNodes[19].childNodes[3]);
- }
- }