这是noob主题的核心服务模块。
主要作用是转译各种源代码,noob故名思义就是新手主题嘛,所以要减少各种开发配置,直接就能写主题就完事儿了。
功能主要有本地代码转义和esm模块伺服以及笔记内容向代码的转译。
本地代码转义依赖esbuild和es-module-lexer实现,能够直接伺服ts源码并解析裸导入。
由于思源是本地优先的软件,所以这里没有考虑代码打包之类的功能,只做了最简单的转义功能。
esm伺服主要是通过esm.sh提供的功能,默认情况下esm.sh会从npmmirror拉取代码并转译成esm模块,程序中的裸导入会被直接引导到内置的esm.sh服务。
主要是将块内容中的代码块识别并拼接,然后将代码块以外的内容作为注释提取。
支持裸导入。