Skip to content

Commit 40a32fb

Browse files
authored
docs: Clarify JS engine init; use switches in settings (#73)
1 parent 1c464f9 commit 40a32fb

2 files changed

Lines changed: 13 additions & 7 deletions

File tree

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -666,7 +666,7 @@ extraApiJsRenderFinder.highlightCodeInHtml(htmlContent)
666666
- 文章内容 (`post`)
667667
- 页面内容 (`page`)
668668
- 性能说明:
669-
- 命中缓存时响应速度极快(微秒级),首次渲染需要 1-3 秒初始化 JS 环境
669+
- 命中缓存时响应速度极快(微秒级),首次实际调用 JS 渲染时需要 1-3 秒初始化 JS 环境
670670
- 批量处理策略:
671671
- 智能分组:根据 V8 引擎池大小动态分配任务(例如 14 个任务 + 5 个引擎 → 5 组,每组 2-3 个任务)
672672
- 并行执行:多个任务组并行处理,充分利用多核性能
@@ -759,7 +759,13 @@ extraApiJsRenderFinder.highlightCodeInHtml(htmlContent)
759759

760760
## 全量版使用须知
761761

762-
⏱️ **首次使用提示**: 全量版的 JavaScript 功能(如 Shiki 代码高亮)在首次调用时需要 1~3 秒进行环境初始化。这是正常现象,之后的调用速度会非常快。
762+
⏱️ **首次使用提示**: 全量版的 JavaScript 功能(如 Shiki 代码高亮)在首次实际调用时需要 1~3 秒进行环境初始化。这是正常现象,之后的调用速度会非常快。
763+
764+
补充说明:
765+
766+
- 全量版启动时会初始化 JS 引擎池服务对象。
767+
- 但不会在启动时立即创建 V8/Node 引擎实例。
768+
- 真正的引擎实例会在首次实际调用 JS 功能时按需创建;如果未调用相关功能,则不会创建这些引擎实例。
763769

764770
> ⚠️ **重要**: 全量版依赖 Javet 加载 Node.js 原生库(基于 JNI),受 Halo 插件架构限制,存在[已知问题](#全量版已知问题)。
765771

src/main/resources/extensions/settings.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ spec:
77
- group: pangu
88
label: 中英文混排格式化
99
formSchema:
10-
- $formkit: checkbox
10+
- $formkit: switch
1111
name: enabledPanguRender
1212
id: enabledPanguRender
1313
key: enabledPanguRender
@@ -25,7 +25,7 @@ spec:
2525
value: 1
2626
min: 1
2727
validation: required
28-
help: JS 引擎池的最小大小。每个引擎会预加载所需的 JS 模块。
28+
help: JS 引擎池最少保留的空闲引擎数量。引擎按需创建,创建后会预加载所需的 JS 模块;该值不能设为 0
2929
- $formkit: number
3030
name: poolMaxSize
3131
id: poolMaxSize
@@ -34,11 +34,11 @@ spec:
3434
value: 2
3535
min: 1
3636
validation: required
37-
help: JS 引擎池的最大大小。设置过大可能导致内存溢出。每个引擎会预加载所需的 JS 模块
37+
help: JS 引擎池允许扩容到的最大引擎数量。设置过大可能导致内存占用过高甚至内存溢出
3838
- group: shiki
3939
label: 代码高亮(仅全量版可用)
4040
formSchema:
41-
- $formkit: checkbox
41+
- $formkit: switch
4242
name: enabledShikiRender
4343
id: enabledShikiRender
4444
key: enabledShikiRender
@@ -259,7 +259,7 @@ spec:
259259
value: vitesse-dark
260260
- label: Vitesse Light(light)
261261
value: vitesse-light
262-
- $formkit: checkbox
262+
- $formkit: switch
263263
label: 明暗双倍渲染模式
264264
name: enabledDoubleRenderMode
265265
key: enabledDoubleRenderMode

0 commit comments

Comments
 (0)