// ==UserScript== // @name Greasy Fork Install Button at search // @namespace - // @version 1.0.0 // @description adds install button at search and at user pages. // @author NotYou // @match *://*sleazyfork.org/* // @match *://*greasyfork.org/* // @grant none // @run-at document-idle // @license GPL-3.0-or-later // @downloadURL none // ==/UserScript== (function() { var $ = (s) => document.querySelector(s) var $$ = (s) => document.querySelectorAll(s) var appendHTML = function(el, html) { el.insertAdjacentHTML('beforeend', html) } var domain = location.host // STYLES appendHTML($('head'), [''].join('')) // USER SCRIPT $$('#user-script-list > li[data-script-type="public"] > article > h2 > a, #browse-script-list > li[data-script-type="public"] > article > h2 > a').forEach(function(e) { var data = e.parentNode.parentNode.parentNode.dataset var scriptId = data.scriptId var scriptName = data.scriptName appendHTML(e, 'Install') }) // USER STYLE $$('#user-script-list > li[data-script-language="css"] > article > h2 > a, #browse-script-list > li[data-script-language="css"] > article > h2 > a').forEach(function(e) { var data = e.parentNode.parentNode.parentNode.dataset var scriptId = data.scriptId var scriptName = data.scriptName appendHTML(e, 'Install as style') }) // LIBRARIES $$('#user-library-script-list > li > article > h2 > a, #browse-script-list > li[data-script-type="library"] > article > h2 > a').forEach(function(e) { var data = e.parentNode.parentNode.parentNode.dataset var scriptId = data.scriptId var scriptName = data.scriptName var _scriptName = scriptName.replace(/\s/g, "-") appendHTML(e, 'Copy URL') }) })()