Acwing blog to markdown

用于将 Acwing 上的代码模板转换为 markdown

当前为 2022-03-19 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Acwing blog to markdown
  3. // @namespace acwing
  4. // @match https://www.acwing.com/blog/content/*
  5. // @grant GM_setClipboard
  6. // @grant GM_registerMenuCommand
  7. // @grant GM_unregisterMenuCommand
  8. // @version 1.0
  9. // @author moeakwak
  10. // @description 用于将 Acwing 上的代码模板转换为 markdown
  11. // @require https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js
  12. // @require https://cdn.bootcdn.net/ajax/libs/turndown/7.1.1/turndown.min.js
  13. // @license MIT
  14. // ==/UserScript==
  15.  
  16. $("[data-tab='preview-tab-content']").before("<button id='html2md'>转换为markdown</button>");
  17.  
  18. $("#html2md").click(function () {
  19. let doc = $("[data-tab='preview-tab-content']");
  20. let turndownService = new TurndownService();
  21. turndownService.addRule('pre', {
  22. filter: 'pre',
  23. replacement: function (content, node) {
  24. let t = $(node).attr("class").split(/\s+/).slice(-1);
  25. return "```" + t +"\n" + content + "```";
  26. }
  27. });
  28. let markdown = turndownService.turndown(doc.html());
  29. GM_setClipboard(markdown);
  30. console.log(markdown);
  31. $("#html2md").text("已复制到剪贴板");
  32. });