DIKUsjov Restyler

Gør DIKUsjov mindre ubehagelig.

  1. // ==UserScript==
  2. // @name DIKUsjov Restyler
  3. // @namespace http://mathemaniac.org
  4. // @version 1.0
  5. // @description Gør DIKUsjov mindre ubehagelig.
  6. // @match http://dikusjov.dk/koncern-it/*
  7. // @copyright 2014, Sebastian Paaske Tørholm
  8. // @require https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
  9. // ==/UserScript==
  10.  
  11. (function () {
  12. // Fjern det eksisterende stylesheet
  13. $('link').remove();
  14.  
  15. // Fjern tvungne linjeskift
  16. $('br').remove();
  17.  
  18. // Navngiv elementer
  19. $('h1:nth-of-type(1)').addClass('main-title');
  20. $('h1:nth-of-type(2)').addClass('secondary-title');
  21. $('.secondary-title + p').addClass('nav-menu');
  22.  
  23. // Flyt titlen + menuen ind i sin egen boks
  24. $('.main-title').before('<div id="title-box" />');
  25. $('#title-box').nextUntil('.secondary-title').appendTo('#title-box');
  26.  
  27. // Flyt author + titel sammen med nummer
  28. $('.comicbox p').appendTo('.secondary-title');
  29. $('.secondary-title p').before(" &ndash; ");
  30.  
  31. // Flyt titel + navigation ind i comic-boksen
  32. $('.secondary-title').prependTo('.comicbox');
  33. $('.nav-menu').appendTo('.comicbox');
  34.  
  35. // Centrér comic-boksen
  36. $('.comicbox').wrap('<div class="centerbox" />');
  37.  
  38. // Fjern "..." fra frem/tilbage
  39. $('.nav-menu').contents().filter(function() {
  40. return this.nodeType == 3; //Node.TEXT_NODE
  41. }).remove();
  42.  
  43. // Navngiv frem/tilbage-knapperne
  44. $('.nav-menu a:nth-child(1)').addClass('back-link');
  45. $('.nav-menu a:nth-child(2)').addClass('forward-link');
  46.  
  47. // Put pile på frem/tilbage-knapperne
  48. $('.back-link').prepend("&laquo; ");
  49. $('.forward-link').append(" &raquo;");
  50.  
  51. var css = [
  52. "body { margin: 0; background-color: #E0FEE0 }",
  53. "#title-box { width: 100%; text-align: center; background-color: darkseagreen; padding: 0.5em 0;}",
  54. ".main-title { margin: 0em; }",
  55. "p#menu { margin-top: 0.25em; margin-bottom: 0; }",
  56. ".secondary-title { margin: 0.25em; margin-left: 0.5em; padding: 0; }",
  57. ".secondary-title p { display: inline-block; margin: 0; }",
  58. ".comicbox { margin-left: 2em; display: inline-block; }",
  59. ".centerbox { text-align: center; width: 100%; }",
  60. ".back-link { float: left; }",
  61. ".forward-link { float: right; }",
  62. "a { text-decoration: none; }",
  63. ].join("\n");
  64.  
  65. var b64css = btoa(css);
  66.  
  67. $('head').append('<link type="text/css" rel="stylesheet" href="data:text/css;base64,' + b64css + '"/>');
  68. })();