Wikipedia Random Episode

random episode title from wikipedia

  1. // ==UserScript==
  2. // @name Wikipedia Random Episode
  3. // @namespace https://en.wikipedia.org/wiki/List_of_*episodes*
  4. // @version 0.2
  5. // @description random episode title from wikipedia
  6. // @author crisxh
  7. // @match https://en.wikipedia.org/wiki/List_of_*episodes*
  8. // @icon https://www.google.com/s2/favicons?domain=wikipedia.org
  9. // @grant none
  10. // @license MIT
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. 'use strict';
  15.  
  16. var randomBox=document.createElement("div");
  17. randomBox.id="randomBox";
  18. randomBox.style.display="flex";
  19. randomBox.style.flexDirection="row-reverse";
  20. randomBox.style.justifyContent="flex-end";
  21.  
  22.  
  23. /*let body=document.getElementById("bodyContent");*/
  24. var body=document.querySelector(".wikiepisodetable");
  25.  
  26. var randomOutput=document.createElement("div");
  27. randomOutput.id="randomOutput";
  28. randomOutput.style.backgroundColor="lightgrey";
  29. randomOutput.style.border="1px black solid";
  30. randomOutput.style.height="50px";
  31. randomOutput.style.width="300px";
  32. randomOutput.style.margin="10px";
  33. randomOutput.style.borderRadius="5%";
  34. randomOutput.style.padding="5px";
  35.  
  36.  
  37. var randomButton=document.createElement("button");
  38. randomButton.id="randomButton";
  39. randomButton.style.margin="10px";
  40. randomButton.style.border="none";
  41. randomButton.style.backgroundColor="green";
  42. randomButton.style.height="50px";
  43. randomButton.style.width="100px";
  44. randomButton.style.borderRadius="5%";
  45. randomButton.style.border="2px outset black";
  46. randomButton.style.color="white";
  47.  
  48. randomButton.addEventListener("click",function(){
  49. var episodes= document.querySelectorAll("td.summary");
  50. var titleRegex=/[^("\\")]\w+\s*[^(\\"")]/;
  51.  
  52. var epArr=[];
  53. var titles=[];
  54.  
  55.  
  56.  
  57.  
  58. for (let i=0;i<episodes.length;i++){
  59. epArr.push(episodes[i].innerText);
  60. }
  61.  
  62. var randomEp=epArr[Math.floor(Math.random()*epArr.length)];
  63. randomOutput.innerHTML="Your random episode title is: "+randomEp;
  64.  
  65.  
  66. });
  67.  
  68. randomButton.innerHTML="Random Episode";
  69.  
  70.  
  71.  
  72. body.prepend(randomBox);
  73. randomBox.append(randomOutput);
  74. randomBox.append(randomButton);
  75.  
  76.  
  77. randomButton.addEventListener("mousedown",e=>{
  78. randomButton.style.backgroundColor="darkgreen";
  79. randomButton.style.border="2px inset black";
  80. });
  81.  
  82. randomButton.addEventListener("mouseup",function(e){
  83. randomButton.style.backgroundColor="green";
  84. randomButton.style.border="2px outset black";
  85. });
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93. })();