一鍵生成通用高亮代碼塊到剪貼板,快捷粘貼兼容 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 代碼塊 』 生成的高亮代碼塊會啟用自動換行 。
【一鍵生成通用高亮代碼塊到剪貼板,快捷粘貼兼容 TT/WX/BJ 編輯器】

推薦閱讀