// ==UserScript== // @name Ferium add command for modrinth // @namespace Violentmonkey Scripts // @match https://modrinth.com/* // @license MIT // @grant none // @version 0.2.3 // @author - // @description 2022/6/6 19:57:03 // @downloadURL https://update.greasyfork.icu/scripts/446086/Ferium%20add%20command%20for%20modrinth.user.js // @updateURL https://update.greasyfork.icu/scripts/446086/Ferium%20add%20command%20for%20modrinth.meta.js // ==/UserScript== const observer = new MutationObserver((mutations, observer) => { for(const mutation of mutations) { if (mutation.type === 'childList' && mutation.target.id === 'search-results') { for(const node of mutation.addedNodes) { if(!node) continue const buttons = node.querySelector('.title') if(node.className === 'project-card base-card padding-bg' && !buttons.querySelector('button[title^="ferium"]')) { const title = node.querySelector('.title a').href.match(/.*\/(.*)/)[1] buttons.innerHTML += `` } } } } }); observer.observe(document.body, { attributes: false, childList: true, subtree: true }); // Mod detail const tabs = document.querySelector(".navigation-card > nav"); const id = location.href.match(/mod\/(.+?)\/?$/) if(tabs && id) { tabs.innerHTML += `Ferium` } for(const node of Array.from(document.querySelectorAll('.project-card.base-card'))) { console.log(node) const buttons = node.querySelector('.title') if(!buttons.querySelector('button[title^="ferium"]')) { const title = node.querySelector('.title a').href.match(/.*\/(.*)/)[1] buttons.innerHTML += `` } }