blacklist habr

Clear the main page of habr.com from blacklisted authors

  1. // ==UserScript==
  2. // @name blacklist habr
  3. // @author Nemo (S1egfr1ed)
  4. // @namespace Papageno
  5. // @version 1.2
  6. // @description Clear the main page of habr.com from blacklisted authors
  7. // @match https://habr.com/*
  8. // @require http://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js
  9. // @icon http://habr.com/favicon.ico
  10. // @grant GM_log
  11. // @license MIT
  12. // ==/UserScript==
  13.  
  14. var blacklist=[];
  15. // populate blacklist with you authors
  16. blacklist.push('AlexBaggins');
  17. blacklist.push('Androgenom');
  18. blacklist.push('amorev');
  19. blacklist.push('ATOM_Team');
  20. blacklist.push('dbalabolin');
  21. blacklist.push('dhppc');
  22. blacklist.push('divolko3');
  23. blacklist.push('editor_agima');
  24. blacklist.push('EddyLan');
  25. blacklist.push('Dataist');
  26. blacklist.push('DRoman0v');
  27. blacklist.push('GeeksCat');
  28. blacklist.push('HannaBilova');
  29. blacklist.push('ilusha_sergeevich');
  30. blacklist.push('Itstorytelling');
  31. blacklist.push('klimensky');
  32. blacklist.push('ko_ya');
  33. blacklist.push('Lexx_Nimofff');
  34. blacklist.push('m_ss');
  35. blacklist.push('oleg_rico');
  36. blacklist.push('olegmalahov1989');
  37. blacklist.push('PaskalEnotov');
  38. blacklist.push('RationalAnswer');
  39. blacklist.push('RED_SOFT');
  40. blacklist.push('RSHB_tsyfra');
  41. blacklist.push('rinace');
  42. blacklist.push('Seleditor');
  43. blacklist.push('slava_rumin');
  44. blacklist.push('shushara4241');
  45. blacklist.push('sokolovps');
  46. blacklist.push('spectr_dev');
  47. blacklist.push('ssj100');
  48. blacklist.push('Stas_smotrit_reklamu_1');
  49. blacklist.push('tw0face');
  50. blacklist.push('vStack');
  51. blacklist.push('YourBusinessCase');
  52. blacklist.push('yudeek');
  53. blacklist.push('YuriPanchul');
  54. blacklist.push('Wesha');
  55. blacklist.push('Wladradchenko');
  56. blacklist.push('Xcom-shop');
  57.  
  58. function main(){
  59. const articles = document.querySelectorAll('article');
  60.  
  61. for(const article of articles){
  62. var author = article.getElementsByClassName('tm-user-info__userpic')[0];
  63. //GM_log(author);
  64. if (typeof author === 'undefined') {
  65. }
  66. else{
  67. var name = author.attributes.getNamedItem('title').value;
  68. if(blacklist.includes(name)){
  69. GM_log(name);
  70. const newDiv = document.createElement("div");
  71. const newContent = document.createTextNode(name);
  72. newDiv.appendChild(newContent);
  73. article.parentElement.appendChild(newDiv);
  74. article.parentNode.removeChild(article);
  75. }
  76. }
  77. }
  78.  
  79. const links = document.querySelectorAll('link');
  80. for(const link of links){
  81. var as = link.getAttribute('as');
  82. if (typeof as === 'undefined') {
  83. }
  84. else{
  85. if ( as === 'script') {
  86. link.parentNode.removeChild(link);
  87. break;
  88. }
  89. }
  90. }
  91. }
  92.  
  93.  
  94. setTimeout(function(){
  95. main();
  96. }, 2000);
  97.  
  98. window.addEventListener(
  99. "scroll", main, false
  100. );
  101.