// ==UserScript== // @name ao3 tweak formatting // @namespace https://greasyfork.org/en/users/36620 // @version 2.2 // @description quick tools for text formatting // @author scriptfairy // @include /https?://archiveofourown\.org/works/\d+/ // @grant none // @downloadURL none // ==/UserScript== function doubleBreak() { document.getElementById('chapters').innerHTML = document.getElementById('chapters').innerHTML.replace(/
/g,'

').replace(//g,'

'); } function deSpace() { var noBreak = document.createElement("style"); noBreak.innerText = '#chapters br+br {display:none}'; noBreak.type = 'text/css'; document.head.appendChild(noBreak); document.getElementById('chapters').innerHTML = document.getElementById('chapters').innerHTML.replace(/ /g, ' '); } function stripAlign() { document.getElementById('chapters').innerHTML = document.getElementById('chapters').innerHTML.replace(/align="left"/g, '').replace(/align="center"/g, '').replace(/align="right"/g, ''); } function stripItalics() { document.getElementById('chapters').innerHTML = document.getElementById('chapters').innerHTML.replace(//g,'').replace(/<\i>/g,''); } function deAsterisk() { document.getElementById('chapters').innerHTML = document.getElementById('chapters').innerHTML.replace(/\*/g,'').replace(/\s/g,'').replace(/[^A-Za-z0-9]/g,''); } function noTypewriter() { document.getElementById('chapters').innerHTML = document.getElementById('chapters').innerHTML.replace(/  /g,' ').replace(/  /g,' '); } // var links = document.createElement('div'); links.innerHTML = 'Tweak Format'; links.classList.add('tweak-format'); var linksFormat = document.createElement('style'); linksFormat.innerText = '.tweak-format {text-align:right; font-size:small; cursor:pointer} .tweak-format .click+.format-options {display:none;} .tweak-format .click::before {content:"\\25b6 \\0020";} .tweak-format .clicked+.format-options {display:block;} .tweak-format .clicked::before {content:"\\25bc \\0020";}'; linksFormat.type = 'text/css'; document.head.appendChild(linksFormat); document.getElementById('chapters').parentNode.insertBefore(links, document.getElementById('chapters')); document.getElementById('deAsterisk').onclick = function() {deAsterisk();}; document.getElementById('stripItalics').onclick = function() {stripItalics();}; document.getElementById('stripAlign').onclick = function() {stripAlign();}; document.getElementById('doubleBreak').onclick = function() {doubleBreak();}; document.getElementById('deSpace').onclick = function() {deSpace();}; document.getElementById('noTypewriter').onclick = function() {noTypewriter();}; document.getElementById('tweakFormat').onclick = function() { if (this.classList.contains('click')) { this.classList.remove('click'); this.classList += ' clicked'; } else { this.classList.remove('clicked'); this.classList += ' click'; } };