实现功能

通过油猴插件添加脚本,访问语雀时,自动插入按键,可以导出带锚点和语雀换行的MarkDown文件。
*用油猴是因为不想再装其他插件了,浏览器放不下了

新建一个油猴脚本

image.png

脚本编写界面

新建

image.png

完成

image.png

JavaScript脚本

  1. 获取当前文档原URL
  2. 给原URL添加参数“/markdown?attachment=true&latexcode=false&anchor=true&linebreak=true”构造下载URL
  3. 通过访问下载URL,下载MarkDown文件 ```javascript // ==UserScript== // @name 😎建瓯最坏🐷导出MarkDown文件 // @namespace https://www.yuque.com/jianouzuihuai // @version 22.03.28 // @description 通过油猴脚本导出带锚点和语雀换行的MarkDown文件 // @author 😎建瓯最坏🐷 // @match .yuque.com/// // @exclude .yuque.com/jianouzuihuai // @exclude *virus-analysis.yuque.com/lwb6kc/report-collection // @icon https://cdn.nlark.com/yuque/0/2021/png/1632223/1635923818567-7f54e0a1-144e-4fd0-9856-a24e5b2664c5.png // ==/UserScript==

(function() { “use strict”;

  1. setTimeout(function()
  2. {
  3. //alert("设置按键")
  4. var buttonExport = document.createElement("button"); //创建一个按钮
  5. buttonExport.textContent = "导出"; //按钮内容
  6. buttonExport.style.width = '66px'; //按钮宽度
  7. buttonExport.style.height = '32px'; //按钮高度
  8. buttonExport.style.marginLeft = '16px'; // 距离左边12px
  9. buttonExport.style.color = '#BA7CFF'; // 按钮文字颜色
  10. buttonExport.style.border = '2px #BA7CFF solid'; // 边框
  11. buttonExport.style.font = 'bold'; // 文字加粗
  12. buttonExport.style.background = '#EEC6FF'; // 按钮底色
  13. buttonExport.style.borderRadius = '4px'; // 按钮四个角弧度
  14. // 获取当前URL
  15. var strURL = window.location.href;
  16. // 获取页面的元素名
  17. var strClassNameInView = "header-action-item header-action-item-more";
  18. //var strClassNameInEdit = "lark-editor-header-more";
  19. if (strURL.indexOf("/edit") != -1)
  20. {
  21. //alert("编辑页面");
  22. //strURL = strURL.replace("/edit", "");
  23. //eleButton = document.getElementsByClassName(strClassNameInEdit)[0];
  24. }
  25. else
  26. {
  27. //alert("浏览页面")
  28. var arrElementsByClassName = document.getElementsByClassName(strClassNameInView);
  29. if (arrElementsByClassName.length)
  30. {
  31. var eleButton = arrElementsByClassName[0];
  32. eleButton.appendChild(buttonExport);
  33. //alert("已添加按键");
  34. }
  35. else
  36. {
  37. alert("未找到指定类名,请检查类名是否正确");
  38. //eleButton = document.getElementsByClassName("header-action-item header-action-item-more")[0];
  39. }
  40. }
  41. buttonExport.onclick = function ()
  42. {
  43. //检测到有锚点就删除
  44. if (strURL.indexOf("#") != -1)
  45. {
  46. var arrSplitPound = strURL.split("#");
  47. //alert("编辑页面")
  48. strURL = arrSplitPound[0];
  49. //eleButton = document.getElementsByClassName(strClassNameInEdit)[0];
  50. }
  51. //alert("绑定按键点击功能")
  52. var strURL_Export = strURL + "/markdown?attachment=true&latexcode=false&anchor=true&linebreak=true"
  53. window.open(strURL_Export);
  54. };
  55. },2000)//2秒后执行

})(); ```

显示效果

油猴插件

image.png

浏览状态

image.png

编辑状态

编辑状态导出的MarkDown并不是实时保存的,还是服务器上未更新的资源,已删除:
image.png

希望增加的功能

在浏览状态导出后,自动跳转至下一篇文章。