您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
1-Click copies Danbooru, deep Danbooru tags. Useful as AI drawing prompts.
// ==UserScript== // @name Danbooru Tags Copier // @namespace ruocaled // @version 0.11 // @description 1-Click copies Danbooru, deep Danbooru tags. Useful as AI drawing prompts. // @author You // @match https://danbooru.donmai.us/posts/* // @match http://dev.kanotype.net:8003/deepdanbooru/* // @icon https://www.google.com/s2/favicons?sz=64&domain=donmai.us // @grant none // @license MIT // ==/UserScript== (function() { const copy = (hostname) => { if (hostname === "danbooru.donmai.us") { let tags = $(`.search-tag`).map((i, el) => $(el).text()).toArray().filter(tag => !tag.match(/hand|nail|finger|wrist/)).join(" ").toString(); if (tags) { navigator.clipboard.writeText(tags); } return tags; } else { let tags = $(".col-md-auto tr a").map((i, el) => { return { tag: $(el).text().replace(/_/g, " "), score: parseFloat($(el).parent().next().text()) }; }).toArray().sort((a, b) => (b.score - a.score)).filter(el => el.score > 0.6 && !el.tag.match(/rating:/i)).map(el => el.tag).join(","); return tags; } }; const addBtns = (hostname) => { if (hostname === "danbooru.donmai.us") { $("#post-options ul").append(`<li id="post-option-copy-tags"> <a class="copy-tags-link" href="#">Copy tags</a> </li>`); $("#post-option-copy-tags").click(() => { const tags = copy(hostname); $("#content").prepend(`<div class="notice notice-small post-notice"> Tags have been copied to your clipboard. (<span style="color:var(--link-color)">${tags}</span>) </div>`); }); } else { $('img').after(`<div class="col-sm"></div><a class="copy-tags-link" href="#">Copy tags</a></div>`); $(".copy-tags-link").click(() => { const tags = copy(hostname); $('.copy-tags-link').after(`<div>Sorted tags: <span style="color:blueviolet">${tags}</a> </div>`) }); } }; addBtns(location.hostname); // Your code here... })();