ZhihuHelper

A real "helper" for Zhihu

  1. // ==UserScript==
  2. // @name ZhihuHelper
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.6
  5. // @description A real "helper" for Zhihu
  6. // @author You
  7. // @match https://*.zhihu.com/*
  8. // @grant none
  9. // @require http://code.jquery.com/jquery-3.3.1.min.js
  10. // ==/UserScript==
  11.  
  12. function AddPersonalStyle() {
  13. 'use strict';
  14. //Expend the read div width
  15.  
  16. var myStyle = document.createElement("style");
  17. myStyle.setAttribute("id","myStyle");
  18. myStyle.setAttribute("type","text/css");
  19. myStyle.appendChild(document.createTextNode(""));
  20. document.head.appendChild(myStyle);
  21. myStyle.sheet.insertRule('.GlobalSideBar{display:none}',0);
  22. //Hide images
  23. myStyle.sheet.insertRule('figure{display:none}',1);
  24. myStyle.sheet.insertRule('.ContentItem-title{font-size:15px;font-weight:400}',2);
  25. myStyle.sheet.insertRule('.RichContent-cover{display:none}',3);
  26. myStyle.sheet.insertRule('.ArticleItem-image{display:none}',3);
  27. //Buttons at the article bottom
  28. myStyle.sheet.insertRule('.Button--withIcon{display:none}',4);
  29. myStyle.sheet.insertRule('.Sticky div a svg{display:none}',5);
  30. myStyle.sheet.insertRule('.TopstoryItem--advertCard{display:none}',6);
  31. myStyle.sheet.insertRule('.btnFloatCorner{position:fixed;margin:20px;float:right;top:50px}',7);
  32. myStyle.sheet.insertRule('.VoteButton {background: #FFF; color: #000;}',8);
  33. myStyle.sheet.insertRule('.TopstoryItem--advertCard{display:none}',9);
  34. myStyle.sheet.insertRule('svg{display:none}',10);
  35. myStyle.sheet.insertRule('.ContentItem-more{float:right}', 11);
  36. myStyle.sheet.insertRule('.Topstory-container{width:70%}',12);
  37. myStyle.sheet.insertRule('.Topstory-mainColumn{width:100%}',12);
  38. myStyle.sheet.insertRule('.stackoverflow{width:10%;float:left}',12);
  39. }
  40. AddPersonalStyle();
  41. function AddControlBtn(){
  42. var ctlBtn = document.createElement("button");
  43. ctlBtn.setAttribute("id", "mainCtlBtn");
  44. ctlBtn.setAttribute("class", "btnFloatCorner");
  45. var btnImg = document.createElement("img");
  46. btnImg.setAttribute("src", "https://www.stackoverflowbusiness.com/hubfs/B2B-SO/images/SO_Talent.svg");
  47. btnImg.setAttribute("class", "stackoverflow");
  48. ctlBtn.appendChild(btnImg);
  49. document.body.appendChild(ctlBtn);
  50. }
  51. AddControlBtn();
  52. /*******************************Below is functions********************************** */
  53. //Control the img display
  54. $("#mainCtlBtn").on("click", function (){
  55. var styleElement = document.getElementById("myStyle");
  56. if(styleElement.sheet.cssRules[1].style.display == "none"){
  57. styleElement.sheet.cssRules[1].style.display = "block";
  58. }else{
  59. styleElement.sheet.cssRules[1].style.display = "none";
  60. }
  61. });