rule34 button to sort content by score
// ==UserScript==
// @name Rule 34 sort
// @namespace http://tampermonkey.net/
// @version 2025-07-13.03
// @description rule34 button to sort content by score
// @author peheidoma
// @match https://rule34.xxx/index.php?page=post*
// @icon https://www.google.com/s2/favicons?sz=64&domain=rule34.xxx
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
setTimeout(()=>{
const SORT_KEYWORD = 'sort:score:desc';
const search = document.querySelector("input[name=tags]").value;
const tags = [...document.querySelectorAll('.tag-type-general')].map(a => a.children[1].text).join();
const elem = document.createElement('button');
elem.innerText = `Sort ${search.indexOf(SORT_KEYWORD) >= 0 ? '(ON)' : '(OFF)'}`
elem.style="width: 100%; background-color: white; border: 1px solid; margin-top: 3px;"
elem.onclick = (_) => {
if(search.indexOf('sort:score:desc') >= 0) {
document.location = `https://rule34.xxx/index.php?page=post&s=list&tags=${encodeURI(search.replace(SORT_KEYWORD, ''))}`
} else {
document.location = `https://rule34.xxx/index.php?page=post&s=list&tags=${encodeURI(search + ' ' + SORT_KEYWORD)}`
}
}
document.getElementsByClassName("tag-search")[0].appendChild(elem);
})
})();