Greasy Fork is available in English.

EasyCSDN

这是一款促进CSDN极致简洁和高效的插件。免费共享大量创新功能,如:净化页面、展示全屏、临时显示推荐等。让我们的学习体验无比简洁、专注、高效、畅快。

Verze ze dne 06. 12. 2023. Zobrazit nejnovější verzi.

  1. // ==UserScript==
  2. // @name EasyCSDN
  3. // @description 这是一款促进CSDN极致简洁和高效的插件。免费共享大量创新功能,如:净化页面、展示全屏、临时显示推荐等。让我们的学习体验无比简洁、专注、高效、畅快。
  4. // @version 19.0
  5. // @author xcanwin
  6. // @namespace https://github.com/xcanwin/EasyCSDN/
  7. // @supportURL https://github.com/xcanwin/EasyCSDN/
  8. // @license GPL-2.0-only
  9. // @match *://blog.csdn.net/*/article/details/*
  10. // @match *://*.blog.csdn.net/article/details/*
  11. // @grant GM_addStyle
  12. // @run-at document-start
  13. // ==/UserScript==
  14.  
  15. (function() {
  16. 'use strict';
  17.  
  18. const $ = (Selector, el) => (el || document).querySelector(Selector);
  19. const $$ = (Selector, el) => (el || document).querySelectorAll(Selector);
  20.  
  21. /*电脑端净化样式*/
  22. const purify_style_pc = `
  23. .passport-login-container /*隐藏[置顶的]登录提示*/,
  24. .passport-login-tip-container /*隐藏[置顶的]登录权益提示*/,
  25. body>#toolbarBox /*隐藏[置顶的][顶部的]菜单栏*/,
  26. .left-toolbox /*隐藏[置顶的][底部的]关注栏*/,
  27. .blog_container_aside /*隐藏[左边的]栏*/,
  28. #rightAside /*隐藏[右边的]栏*/,
  29. .csdn-side-toolbar /*隐藏[右边的]磁吸栏*/,
  30. .blog-footer-bottom /*隐藏[底部的]网站介绍*/,
  31. .recommend-nps-box /*隐藏[底部的]打分*/,
  32. .blog-tags-box /*隐藏[正文的][顶部的]分类*/,
  33. .column-group /*隐藏[正文的][顶部的]加入社区*/,
  34. #blogColumnPayAdvert /*隐藏[正文的][顶部的]专栏*/,
  35. .more-toolbox-new /*隐藏[正文的][底部的]关注栏*/,
  36. #treeSkill /*隐藏[正文的][底部的]技能树*/,
  37. .recommend-box /*隐藏[正文的][底部的]推荐文章*/,
  38. .hljs-button.signin /*隐藏[正文的][代码块的]复制提示*/,
  39. .article-search-tip /*隐藏[正文的]搜索提示*/
  40. {
  41. display: none !important;
  42. }
  43.  
  44. /*隐藏背景*/
  45. body {
  46. background: none !important;
  47. background-image: unset !important;
  48. background-color: unset !important;
  49. }
  50.  
  51. /*标题居中增大*/
  52. #articleContentId {
  53. display: flex;
  54. justify-content: center;
  55. font-size: 33px;
  56. padding-top:10px;
  57. padding-bottom: 10px;
  58. }
  59.  
  60. /*正文的div居中*/
  61. #mainBox {
  62. display: flex;
  63. justify-content: center;
  64. }
  65.  
  66. /*展示全屏*/
  67. #mainBox {
  68. width: 100%;
  69. }
  70. #mainBox main {
  71. width: 95%;
  72. margin-bottom: unset !important;
  73. }
  74. .main_father {
  75. padding: unset !important;
  76. }
  77. .main_father.d-flex {
  78. display: unset !important;
  79. }
  80.  
  81. /*临时显示*/
  82. .show-temp {
  83. display: unset !important;
  84. }
  85.  
  86. /*适当展示图片*/
  87. img {
  88. max-width: 70% !important;
  89. }
  90. `;
  91.  
  92.  
  93. /*移动端净化样式*/
  94. const purify_style_mb = `
  95. #csdn-toolbar /*隐藏[置顶的][顶部的]菜单栏*/,
  96. #operate /*隐藏[置顶的][底部的]搜索标签与评论*/,
  97. .aside-header-fixed /*隐藏[顶部的]关注*/
  98. {
  99. display: none !important;
  100. }
  101.  
  102. /*展示全屏*/
  103. body #main {
  104. padding-top: unset !important;
  105. margin-top: unset !important;
  106. }
  107. body {
  108. padding-bottom: unset !important;
  109. }
  110.  
  111. /*展示分界线*/
  112. .spec_space {
  113. background-color: #ffebeb !important;
  114. height: 32px !important;
  115. }
  116. `;
  117.  
  118. //净化页面
  119. const purifyPage = function() {
  120. GM_addStyle(purify_style_pc);
  121. GM_addStyle(purify_style_mb);
  122. };
  123.  
  124. //显示推荐的开关
  125. const showRecommend = function() {
  126. const sr = document.createElement("div");
  127. sr.style = "height: 64px; background-color: #eaeaea;";
  128. sr.onclick = function() {
  129. $$(".recommend-box").forEach(el => {
  130. el.classList.toggle("show-temp");
  131. });
  132. $(".recommend-box")?.scrollIntoView();
  133. };
  134. $('main').insertBefore(sr, $('.recommend-box'));
  135. };
  136.  
  137. //展开代码
  138. const prettyCode = function() {
  139. const browser_menu_height = window.outerHeight - window.innerHeight; //浏览器顶部菜单栏高度
  140. const browser_height_max = screen.height - browser_menu_height; //浏览器最大可展示高度
  141. $$('.prettyprint').forEach(el => {
  142. if (el.clientHeight <= browser_height_max * 0.8) {
  143. //预判代码块实际高度,若是浏览器最大可展示高度的80%以内,则自动展开代码
  144. $(".hide-preCode-bt", el)?.click();
  145. }
  146. });
  147. };
  148.  
  149. window.onload = function() {
  150. showRecommend();
  151. prettyCode();
  152. };
  153.  
  154. purifyPage();
  155.  
  156. })();