ao3 tweak formatting

quick tools for text formatting

当前为 2017-03-06 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name ao3 tweak formatting
  3. // @namespace https://greasyfork.org/en/users/36620
  4. // @version 2.1
  5. // @description quick tools for text formatting
  6. // @author scriptfairy
  7. // @include /https?://archiveofourown\.org/works/\d+/
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. function doubleBreak() {
  12. document.getElementById('chapters').innerHTML = document.getElementById('chapters').innerHTML.replace(/<br>/g,'<br><br>').replace(/<br\/>/g,'<br><br>');
  13. }
  14.  
  15. function deSpace() {
  16. var noBreak = document.createElement("style");
  17. noBreak.innerText = '#chapters br+br {display:none}';
  18. noBreak.type = 'text/css';
  19. document.head.appendChild(noBreak);
  20. document.getElementById('chapters').innerHTML = document.getElementById('chapters').innerHTML.replace(/&nbsp;/g, ' ');
  21. }
  22.  
  23. function stripAlign() {
  24. document.getElementById('chapters').innerHTML = document.getElementById('chapters').innerHTML.replace(/align="left"/g, '').replace(/align="center"/g, '').replace(/align="right"/g, '');
  25. }
  26.  
  27. function stripItalics() {
  28. document.getElementById('chapters').innerHTML = document.getElementById('chapters').innerHTML.replace(/<em>/g,'').replace(/<\i>/g,'');
  29. }
  30.  
  31. function deAsterisk() {
  32. document.getElementById('chapters').innerHTML = document.getElementById('chapters').innerHTML.replace(/\*/g,'<i>').replace(/<i>\s/g,'</i>').replace(/<i>[^A-Za-z0-9]/g,'</i>');
  33. }
  34.  
  35. //
  36.  
  37. var links = document.createElement('div');
  38. links.innerHTML = '<button id="deAsterisk" onclick="deAsterisk()">*word* to <em>word</em> (experimental)</button> &nbsp; <button id="stripItalics" onclick="stripItalics()">strip italics</button> &nbsp; <button id="stripAlign" onclick="stripAlign()">align to default</button> &nbsp; <button id="doubleBreak" onclick="doubleBreak()">insert line breaks</button> &nbsp; <button id="deSpace" onclick="deSpace()">remove line breaks</button>';
  39. links.classList.add('tweak-format');
  40.  
  41. var linksFormat = document.createElement('style');
  42. linksFormat.innerText = '.tweak-format {text-align:right; font-size:small;}';
  43. linksFormat.type = 'text/css';
  44.  
  45. document.head.appendChild(linksFormat);
  46. document.getElementById('chapters').parentNode.insertBefore(links, document.getElementById('chapters'));
  47.  
  48. document.getElementById('deAsterisk').onclick = function() {deAsterisk();};
  49. document.getElementById('stripItalics').onclick = function() {stripItalics();};
  50. document.getElementById('stripAlign').onclick = function() {stripAlign();};
  51. document.getElementById('doubleBreak').onclick = function() {doubleBreak();};
  52. document.getElementById('deSpace').onclick = function() {deSpace();};