// ==UserScript== // @name Acwing blog to markdown // @namespace acwing // @match https://www.acwing.com/blog/content/* // @grant GM_setClipboard // @grant GM_registerMenuCommand // @grant GM_unregisterMenuCommand // @version 1.0 // @author moeakwak // @description 用于将 Acwing 上的代码模板转换为 markdown // @require https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js // @require https://cdn.bootcdn.net/ajax/libs/turndown/7.1.1/turndown.min.js // @license MIT // @downloadURL none // ==/UserScript== $("[data-tab='preview-tab-content']").before(""); $("#html2md").click(function () { let doc = $("[data-tab='preview-tab-content']"); let turndownService = new TurndownService(); turndownService.addRule('pre', { filter: 'pre', replacement: function (content, node) { let t = $(node).attr("class").split(/\s+/).slice(-1); return "```" + t +"\n" + content + "```"; } }); let markdown = turndownService.turndown(doc.html()); GM_setClipboard(markdown); console.log(markdown); $("#html2md").text("已复制到剪贴板"); });