0.0.2 • Published 2 years ago

noob-service-compiler v0.0.2

Weekly downloads
-
License
AGPL-3.0-or-later
Repository
-
Last release
2 years ago

功能

这是noob主题的核心服务模块。

作用

主要作用是转译各种源代码,noob故名思义就是新手主题嘛,所以要减少各种开发配置,直接就能写主题就完事儿了。

原理

功能主要有本地代码转义和esm模块伺服以及笔记内容向代码的转译。

本地代码转义

本地代码转义依赖esbuild和es-module-lexer实现,能够直接伺服ts源码并解析裸导入。

由于思源是本地优先的软件,所以这里没有考虑代码打包之类的功能,只做了最简单的转义功能。

esm伺服

esm伺服主要是通过esm.sh提供的功能,默认情况下esm.sh会从npmmirror拉取代码并转译成esm模块,程序中的裸导入会被直接引导到内置的esm.sh服务。

笔记内容到代码的转译

主要是将块内容中的代码块识别并拼接,然后将代码块以外的内容作为注释提取。

支持裸导入。