leetcode-helper

LeetCode 题解助手 | 复制 LeetCode 题目描述 | 生成当前题目题解模板

  1. // ==UserScript==
  2. // @name leetcode-helper
  3. // @namespace https://github.com/tonngw
  4. // @version 1.1.3
  5. // @description LeetCode 题解助手 | 复制 LeetCode 题目描述 | 生成当前题目题解模板
  6. // @author tonngw
  7. // @run-at document-end
  8. // @match https://leetcode.cn/problems/*
  9. // @icon data:image/x-icon;base64,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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8BEhIScAcJCP0GBwf/BgcH/wYHB/8GBwf/BgcH/wcICPkUFxdkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////ARMRE3YICAj9BgcH/wYHB/8GBwf/BgcH/wYHB/8LDAzwJiYmLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wERERF2CAgJ/QYHB/8GBwf/BgcH/wYHB/8GBwf/EhISYgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8BEREUdQcICPwFBgb/BgcH/wYHB/8ICQn/HBwcSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////ARQUFHEJCgr2BwgI/wgJCf8QEBKdSUlJBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlKSk+JiYmhiYmJldVVVUGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAQAAAAAEA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
  10. // @require https://cdn.staticfile.org/jquery/3.4.1/jquery.min.js
  11. // @require https://unpkg.com/sweetalert/dist/sweetalert.min.js
  12. // @require https://unpkg.com/turndown/dist/turndown.js
  13. // @grant GM_registerMenuCommand
  14. // @grant GM_setClipboard
  15. // @license MIT
  16. // ==/UserScript==
  17.  
  18. (function () {
  19. 'use strict';
  20.  
  21. // 初始化 html to markdown 转换工具
  22. var turndownService = new TurndownService();
  23.  
  24. const window = unsafeWindow;
  25. const description = '.description__2b0C';
  26. var content = '';
  27.  
  28. // 注入菜单
  29. GM_registerMenuCommand("复制 LeetCode 题目为 Markdown,并存入剪切板", copy);
  30. GM_registerMenuCommand("生成当前题目的题解模板,并存入剪切板", generateSolution);
  31.  
  32. // 添加复制按钮
  33. var copyBtn = document.createElement("button"); //创建一个 input 对象(提示框按钮)
  34. copyBtn.id = "copyBtn";
  35. copyBtn.innerHTML = '<i class="fa fa-copy"></i> 复制';
  36. copyBtn.style.width = "50px";
  37. copyBtn.style.height = "25px";
  38. copyBtn.style.align = "center";
  39. copyBtn.style.marginLeft = "10px";
  40. copyBtn.title = "复制题目为 Markdown 格式";
  41.  
  42. // 添加生成题解按钮
  43. var generateSolutionBtn = document.createElement("button"); // 创建一个input对象(提示框按钮)
  44. generateSolutionBtn.id = "generateSolutionBtn";
  45. generateSolutionBtn.innerHTML = '<i class="fa fa-edit"></i> 生成';
  46. generateSolutionBtn.style.width = "50px";
  47. generateSolutionBtn.style.height = "25px";
  48. generateSolutionBtn.style.align = "center";
  49. generateSolutionBtn.style.marginLeft = "10px";
  50. generateSolutionBtn.title = "生成 Markdown 格式题解";
  51.  
  52. window.onload = setTimeout(function () {
  53. var x = document.getElementsByClassName("mr-2 text-label-1 dark:text-dark-label-1 hover:text-label-1 dark:hover:text-dark-label-1 text-lg font-medium")[0];
  54. console.log("I was invoked...");
  55. x.parentNode.appendChild(copyBtn);
  56. x.parentNode.appendChild(generateSolutionBtn);
  57. }, 1500);
  58.  
  59. // 为复制按钮绑定点击功能
  60. copyBtn.onclick = function (e) {
  61. e.preventDefault();
  62. copy();
  63. };
  64.  
  65. // 为复制按钮绑定点击功能
  66. generateSolutionBtn.onclick = function (e) {
  67. e.preventDefault();
  68. generateSolution();
  69. };
  70.  
  71. // 监听键盘按键,为功能绑定快捷键
  72. unsafeWindow.addEventListener("keydown", (evt) => {
  73. // console.log('evt', evt);
  74. if (evt.altKey) {
  75. // Alt + T 复制题目
  76. if (evt.keyCode == 84) {
  77. copy();
  78. }
  79. // Alt + C 生成当前题目题解模板
  80. if (evt.keyCode == 67) {
  81. generateSolution();
  82. }
  83. }
  84. });
  85.  
  86. // 题目复制功能实现
  87. function copy() {
  88. copyImpl();
  89. GM_setClipboard(content);
  90. swal({
  91. icon: "success",
  92. title: "复制成功",
  93. });
  94. }
  95.  
  96. function copyImpl() {
  97. // 题目描述 内容 Dom
  98. var contentDom = $('.xFUwe')[0].outerHTML;
  99. content = handleHtml(contentDom);
  100. }
  101.  
  102. // 生成题解功能实现
  103. function generateSolution() {
  104. generateSolutionImpl();
  105. swal({
  106. icon: "success",
  107. title: "生成成功",
  108. });
  109. }
  110.  
  111. function generateSolutionImpl() {
  112. var solutionTemplate = "";
  113. var problemDescConst = "### 题目描述\n";
  114. copyImpl();
  115. var problemDesc = content;
  116. var splitLine = "\n\n---\n";
  117. var algorithmConst = "### 算法\n"
  118. var specificAlgorithmConst = "#### (暴力枚举) $O(n^2)$";
  119. var solution = "\nwrite here...\n\n"
  120. var timeComplexityConst = "#### 时间复杂度";
  121. var timeComplexity = "\nwrite here...\n\n"
  122. var spaceComplexityConst = "#### 空间复杂度";
  123. var spaceComplexity = "\nwrite here...\n\n";
  124. var codeConst = "#### C++ 代码\n";
  125. var code = "```\n" + "my code...\n" + "```";
  126. solutionTemplate = problemDescConst + problemDesc + splitLine + algorithmConst + specificAlgorithmConst +
  127. solution + timeComplexityConst + timeComplexity + spaceComplexityConst + spaceComplexity + codeConst + code;
  128. GM_setClipboard(solutionTemplate);
  129. }
  130.  
  131. /**
  132. * html 转 markdown
  133. * @param html
  134. * @returns {void|*}
  135. */
  136. function handleHtml(html) {
  137. turndownService.addRule('strikethrough', {
  138. filter: ['pre'],
  139. replacement: function (content, node) {
  140. // console.log(node.innerText);
  141. return '\n```\n' + node.innerText.trim() + '\n```\n\n';
  142. }
  143. });
  144. turndownService.addRule('strikethrough', {
  145. filter: ['strong'],
  146. replacement: function (content) {
  147. return '**' + content + "**"
  148. }
  149. });
  150. turndownService.addRule('strikethrough', {
  151. filter: ['code'],
  152. replacement: function (content) {
  153. return '$' + content + "$"
  154. }
  155. });
  156. turndownService.addRule('strikethrough', {
  157. filter: ['sup'],
  158. replacement: function (content) {
  159. return '^{' + content + "}"
  160. }
  161. });
  162.  
  163. var markdown = turndownService.turndown(html);
  164. return markdown
  165. }
  166. })();