一键生成通用高亮代码块到剪贴板,快捷粘贴兼容 TT/WX/BJ 编辑器( 二 )

*****/});wb.go( httpServer.getUrl("/index.html"));winform.button.oncommand = function(id,event){ winform.text = "HTML 代码块生成工具 - 本工具使用 aardio 语言编写" winform.editCode.show(false); winform.webCtrl.show(true); wb.xcall("highlight",winform.editCode.text,winform.cmbLangs.text);}winform.show();win.loopMessage();打开 aardio 创建工程,然后复制粘贴上面的代码到 main.aardio 里面就可以直接运行,或生成独立 EXE 文件:
一键生成通用高亮代码块到剪贴板,快捷粘贴兼容 TT/WX/BJ 编辑器

文章插图
这个软件的原理:
1、首先通过 WebView2 调用 Prism.js 高亮代码 。为了可以内存加载 Prism.js ( 支持生成独立 EXE ),我写了一个 aardio 扩展库 web.prism。
关于 WebView2 请参考:放弃 Electron,拥抱 WebView2!JavaScript 快速开发独立 EXE 程序
2、因为 Prism.js 生成的 HTML 代码块都是使用 class 属性指定样式,所以我们需要调用 getComputedStyle 获取最终渲染的字体颜色属性 。
3、最后在 JavaScript 里调用 aardio 函数处理生成的 HTML 代码块,aardio 的任务是将 HTML 修改为更合适直接粘贴的格式,并尽可能地处理各图文编辑器的兼容问题 。然后调用 win.clip.html 将处理好的 HTML 复制到系统剪贴板:
import win.clip.html;var cb = win.clip.html();cb.write(html);然后只要愉快地粘贴代码块就可以 。
如果是 aardio 代码不需要用这个工具,在 aardio 编辑器里右键直接点『 复制全部到 HTML 代码块 』就可以了:
一键生成通用高亮代码块到剪贴板,快捷粘贴兼容 TT/WX/BJ 编辑器

文章插图
注意按住 Ctrl 键再点 『 复制全部到 HTML 代码块 』 生成的高亮代码块会启用自动换行 。

经验总结扩展阅读