mn-docs-mcp 0.6.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/.trae/documents/libmn_cleanup_plan.md +51 -0
  2. package/.trae/documents/libmn_doc_restructure_plan.md +140 -0
  3. package/.trae/documents/libmn_indentation_plan.md +116 -0
  4. package/.trae/documents/libmn_title_hierarchy_plan.md +91 -0
  5. package/README.md +9 -7
  6. package/next-env.d.ts +6 -0
  7. package/next.config.mjs +14 -0
  8. package/package.json +25 -10
  9. package/postcss.config.mjs +7 -0
  10. package/scripts/sync-definitions.mjs +33 -0
  11. package/source.config.ts +5 -0
  12. package/src/app/[[...slug]]/page.tsx +259 -0
  13. package/src/app/api/search/route.ts +6 -0
  14. package/src/app/global.css +81 -0
  15. package/src/app/layout.tsx +33 -0
  16. package/src/components/JsbApiFooter.tsx +251 -0
  17. package/src/content/docs/{guides/contributing.md → contributing.md} +31 -6
  18. package/src/content/docs/{guides/cookbook → cookbook}/addon-settings.md +2 -2
  19. package/src/content/docs/{guides/cookbook → cookbook}/embed-webview-panel.md +2 -2
  20. package/src/content/docs/cookbook/meta.json +13 -0
  21. package/src/content/docs/{guides/cookbook → cookbook}/network-api-call.md +2 -2
  22. package/src/content/docs/{guides/cookbook → cookbook}/webview-bidirectional-js.md +1 -1
  23. package/src/content/docs/guides/getting-started.md +2 -2
  24. package/src/content/docs/guides/lifecycle-and-window.md +4 -4
  25. package/src/content/docs/guides/meta.json +14 -0
  26. package/src/content/docs/guides/mindmap-and-selection.md +2 -2
  27. package/src/content/docs/guides/native-ui.md +4 -4
  28. package/src/content/docs/guides/network-requests.md +8 -9
  29. package/src/content/docs/guides/notes-and-database.md +2 -2
  30. package/src/content/docs/guides/shortcut-keys.md +9 -9
  31. package/src/content/docs/guides/storage-and-files.md +4 -4
  32. package/src/content/docs/guides/toolbar-and-commands.md +1 -1
  33. package/src/content/docs/index.mdx +13 -38
  34. package/src/content/docs/libmn/data-converter.md +1572 -0
  35. package/src/content/docs/libmn/frame.md +279 -0
  36. package/src/content/docs/libmn/headers.md +234 -0
  37. package/src/content/docs/libmn/index.md +60 -0
  38. package/src/content/docs/libmn/internal-exposed.md +46 -0
  39. package/src/content/docs/libmn/locale.md +307 -0
  40. package/src/content/docs/libmn/menu.md +77 -0
  41. package/src/content/docs/libmn/meta.json +27 -0
  42. package/src/content/docs/libmn/mnbutton.md +966 -0
  43. package/src/content/docs/libmn/mncomment.md +533 -0
  44. package/src/content/docs/libmn/mnconnection.md +717 -0
  45. package/src/content/docs/libmn/mndocument.md +309 -0
  46. package/src/content/docs/libmn/mnextension-panel.md +340 -0
  47. package/src/content/docs/libmn/mnnote.md +533 -0
  48. package/src/content/docs/libmn/mnnotebook.md +725 -0
  49. package/src/content/docs/libmn/mnutil.md +2936 -0
  50. package/src/content/docs/libmn/mnwebview.md +693 -0
  51. package/src/content/docs/libmn/mustache.md +65 -0
  52. package/src/content/docs/libmn/response.md +352 -0
  53. package/src/content/docs/libmn/runtime-assets.md +64 -0
  54. package/src/content/docs/libmn/runtime-web-view-host.md +77 -0
  55. package/src/content/docs/libmn/runtime.md +178 -0
  56. package/src/content/docs/libmn/vendor-globals.md +34 -0
  57. package/src/content/docs/meta.json +11 -0
  58. package/src/content/docs/reference/black-box.md +2 -2
  59. package/src/content/docs/reference/foundation/meta.json +4 -0
  60. package/src/content/docs/reference/foundation/ns-attributed-string.md +1 -1
  61. package/src/content/docs/reference/foundation/ns-counted-set.md +1 -1
  62. package/src/content/docs/reference/foundation/ns-date-components.md +2 -2
  63. package/src/content/docs/reference/foundation/ns-date-formatter.md +1 -3
  64. package/src/content/docs/reference/foundation/ns-decimal-number.md +1 -1
  65. package/src/content/docs/reference/foundation/ns-enumerator.md +1 -1
  66. package/src/content/docs/reference/foundation/ns-error.md +2 -2
  67. package/src/content/docs/reference/foundation/ns-file-manager.md +1 -1
  68. package/src/content/docs/reference/foundation/ns-formatter.md +2 -2
  69. package/src/content/docs/reference/foundation/ns-json-serialization.md +10 -2
  70. package/src/content/docs/reference/foundation/ns-mutable-attributed-string.md +1 -1
  71. package/src/content/docs/reference/foundation/ns-mutable-character-set.md +1 -1
  72. package/src/content/docs/reference/foundation/ns-mutable-dictionary.md +1 -1
  73. package/src/content/docs/reference/foundation/ns-mutable-index-set.md +1 -1
  74. package/src/content/docs/reference/foundation/ns-mutable-set.md +1 -1
  75. package/src/content/docs/reference/foundation/ns-mutable-string.md +1 -1
  76. package/src/content/docs/reference/foundation/ns-mutable-url-request.md +2 -3
  77. package/src/content/docs/reference/foundation/ns-null.md +1 -1
  78. package/src/content/docs/reference/foundation/ns-number-formatter.md +1 -1
  79. package/src/content/docs/reference/foundation/ns-operation.md +2 -2
  80. package/src/content/docs/reference/foundation/ns-pointer-array.md +1 -1
  81. package/src/content/docs/reference/foundation/ns-proxy.md +5 -3
  82. package/src/content/docs/reference/foundation/ns-scanner.md +7 -1
  83. package/src/content/docs/reference/foundation/ns-set.md +1 -1
  84. package/src/content/docs/reference/foundation/ns-simple-c-string.md +3 -4
  85. package/src/content/docs/reference/foundation/ns-time-zone.md +1 -1
  86. package/src/content/docs/reference/foundation/ns-ubiquitous-key-value-store.md +61 -0
  87. package/src/content/docs/reference/foundation/ns-url-connection.md +2 -2
  88. package/src/content/docs/reference/foundation/ns-url-request.md +2 -2
  89. package/src/content/docs/reference/foundation/ns-url-response.md +5 -5
  90. package/src/content/docs/reference/foundation/ns-url.md +1 -1
  91. package/src/content/docs/reference/foundation/ns-user-defaults.md +5 -5
  92. package/src/content/docs/reference/foundation/ns-value.md +15 -15
  93. package/src/content/docs/reference/global/agent-tools.md +91 -0
  94. package/src/content/docs/reference/global/application.md +4 -4
  95. package/src/content/docs/reference/global/builtin-commands.md +2 -2
  96. package/src/content/docs/reference/global/database.md +4 -4
  97. package/src/content/docs/reference/global/document.md +21 -0
  98. package/src/content/docs/reference/global/global-variables.md +22 -5
  99. package/src/content/docs/reference/global/jsb.md +6 -4
  100. package/src/content/docs/reference/global/meta.json +18 -0
  101. package/src/content/docs/reference/global/note.md +2 -2
  102. package/src/content/docs/reference/global/notebook.md +21 -0
  103. package/src/content/docs/reference/global/popup-menu-item.md +2 -2
  104. package/src/content/docs/reference/global/popup-menu.md +5 -6
  105. package/src/content/docs/reference/global/search-manager.md +12 -6
  106. package/src/content/docs/reference/global/self.md +1 -13
  107. package/src/content/docs/reference/js-runtime.md +5 -4
  108. package/src/content/docs/reference/marginnote/document-controller.md +37 -5
  109. package/src/content/docs/reference/marginnote/jsextension.md +7 -7
  110. package/src/content/docs/reference/marginnote/mb-book-note.md +162 -72
  111. package/src/content/docs/reference/marginnote/mb-book.md +3 -3
  112. package/src/content/docs/reference/marginnote/mb-model-tool.md +2 -2
  113. package/src/content/docs/reference/marginnote/mb-topic.md +13 -2
  114. package/src/content/docs/reference/marginnote/meta.json +18 -0
  115. package/src/content/docs/reference/marginnote/mindmap-node.md +2 -2
  116. package/src/content/docs/reference/marginnote/mindmap-view.md +2 -2
  117. package/src/content/docs/reference/marginnote/notebook-controller.md +1 -1
  118. package/src/content/docs/reference/marginnote/outline-view.md +2 -2
  119. package/src/content/docs/reference/marginnote/reader-controller.md +1 -1
  120. package/src/content/docs/reference/marginnote/study-controller.md +19 -19
  121. package/src/content/docs/reference/meta.json +14 -0
  122. package/src/content/docs/reference/quartzcore/caanimation-group.md +3 -3
  123. package/src/content/docs/reference/quartzcore/cabasic-animation.md +3 -3
  124. package/src/content/docs/reference/quartzcore/caemitter-layer.md +44 -0
  125. package/src/content/docs/reference/quartzcore/cagradient-layer.md +1 -1
  126. package/src/content/docs/reference/quartzcore/cakeyframe-animation.md +3 -3
  127. package/src/content/docs/reference/quartzcore/calayer.md +1 -1
  128. package/src/content/docs/reference/quartzcore/camedia-timing-function.md +1 -1
  129. package/src/content/docs/reference/quartzcore/caproperty-animation.md +1 -1
  130. package/src/content/docs/reference/quartzcore/careplicator-layer.md +2 -2
  131. package/src/content/docs/reference/quartzcore/cascroll-layer.md +1 -1
  132. package/src/content/docs/reference/quartzcore/cashape-layer.md +2 -2
  133. package/src/content/docs/reference/quartzcore/catext-layer.md +4 -4
  134. package/src/content/docs/reference/quartzcore/catransaction.md +5 -3
  135. package/src/content/docs/reference/quartzcore/catransform-layer.md +3 -3
  136. package/src/content/docs/reference/quartzcore/catransition.md +10 -6
  137. package/src/content/docs/reference/quartzcore/cavalue-function.md +1 -1
  138. package/src/content/docs/reference/quartzcore/meta.json +4 -0
  139. package/src/content/docs/reference/uikit/meta.json +4 -0
  140. package/src/content/docs/reference/uikit/ns-mutable-paragraph-style.md +3 -3
  141. package/src/content/docs/reference/uikit/ns-paragraph-style.md +3 -4
  142. package/src/content/docs/reference/uikit/ns-text-storage.md +4 -5
  143. package/src/content/docs/reference/uikit/uiactivity-indicator-view.md +2 -2
  144. package/src/content/docs/reference/uikit/uiapplication.md +1 -1
  145. package/src/content/docs/reference/uikit/uibar-button-item.md +3 -4
  146. package/src/content/docs/reference/uikit/uibar-item.md +2 -3
  147. package/src/content/docs/reference/uikit/uibezier-path.md +2 -2
  148. package/src/content/docs/reference/uikit/uibutton.md +1 -1
  149. package/src/content/docs/reference/uikit/uicollection-view-cell.md +5 -5
  150. package/src/content/docs/reference/uikit/uicollection-view-controller.md +22 -2
  151. package/src/content/docs/reference/uikit/uicollection-view-flow-layout.md +54 -0
  152. package/src/content/docs/reference/uikit/uicollection-view-layout.md +9 -2
  153. package/src/content/docs/reference/uikit/uicollection-view.md +13 -4
  154. package/src/content/docs/reference/uikit/uicolor.md +1 -1
  155. package/src/content/docs/reference/uikit/uicontrol.md +3 -5
  156. package/src/content/docs/reference/uikit/uidate-picker.md +1 -1
  157. package/src/content/docs/reference/uikit/uievent.md +2 -2
  158. package/src/content/docs/reference/uikit/uifont.md +1 -1
  159. package/src/content/docs/reference/uikit/uigesture-recognizer.md +1 -1
  160. package/src/content/docs/reference/uikit/uiimage-picker-controller.md +1 -1
  161. package/src/content/docs/reference/uikit/uiimage-view.md +2 -2
  162. package/src/content/docs/reference/uikit/uiimage.md +2 -2
  163. package/src/content/docs/reference/uikit/uikey-command.md +2 -2
  164. package/src/content/docs/reference/uikit/uilabel.md +3 -3
  165. package/src/content/docs/reference/uikit/uilocal-notification.md +2 -2
  166. package/src/content/docs/reference/uikit/uilong-press-gesture-recognizer.md +2 -2
  167. package/src/content/docs/reference/uikit/uinavigation-bar.md +2 -2
  168. package/src/content/docs/reference/uikit/uinavigation-controller.md +1 -1
  169. package/src/content/docs/reference/uikit/uinavigation-item.md +1 -1
  170. package/src/content/docs/reference/uikit/uipage-control.md +1 -1
  171. package/src/content/docs/reference/uikit/uipage-view-controller.md +1 -1
  172. package/src/content/docs/reference/uikit/uipan-gesture-recognizer.md +1 -1
  173. package/src/content/docs/reference/uikit/uipasteboard.md +1 -1
  174. package/src/content/docs/reference/uikit/uipicker-view.md +3 -3
  175. package/src/content/docs/reference/uikit/uipinch-gesture-recognizer.md +1 -1
  176. package/src/content/docs/reference/uikit/uipopover-controller.md +1 -1
  177. package/src/content/docs/reference/uikit/uiresponder.md +3 -4
  178. package/src/content/docs/reference/uikit/uirotation-gesture-recognizer.md +1 -1
  179. package/src/content/docs/reference/uikit/uiscreen-mode.md +2 -2
  180. package/src/content/docs/reference/uikit/uiscrollview.md +1 -1
  181. package/src/content/docs/reference/uikit/uisearch-bar.md +25 -2
  182. package/src/content/docs/reference/uikit/uisegmented-control.md +1 -1
  183. package/src/content/docs/reference/uikit/uislider.md +1 -1
  184. package/src/content/docs/reference/uikit/uiswipe-gesture-recognizer.md +1 -1
  185. package/src/content/docs/reference/uikit/uiswitch.md +2 -2
  186. package/src/content/docs/reference/uikit/uitab-bar-controller.md +2 -2
  187. package/src/content/docs/reference/uikit/uitab-bar-item.md +1 -1
  188. package/src/content/docs/reference/uikit/uitab-bar.md +1 -1
  189. package/src/content/docs/reference/uikit/uitable-view-cell.md +6 -6
  190. package/src/content/docs/reference/uikit/uitable-view-controller.md +1 -1
  191. package/src/content/docs/reference/uikit/uitable-view.md +3 -3
  192. package/src/content/docs/reference/uikit/uitap-gesture-recognizer.md +2 -2
  193. package/src/content/docs/reference/uikit/uitext-input-mode.md +7 -3
  194. package/src/content/docs/reference/uikit/uitext-position.md +5 -5
  195. package/src/content/docs/reference/uikit/uitext-range.md +4 -4
  196. package/src/content/docs/reference/uikit/uitext-view.md +2 -2
  197. package/src/content/docs/reference/uikit/uitextfield.md +3 -3
  198. package/src/content/docs/reference/uikit/uitoolbar.md +1 -1
  199. package/src/content/docs/reference/uikit/uitouch.md +3 -3
  200. package/src/content/docs/reference/uikit/uiview-controller.md +2 -2
  201. package/src/content/docs/reference/uikit/uiview.md +5 -5
  202. package/src/content/docs/reference/uikit/uiwebview.md +5 -5
  203. package/src/content/docs/reference/uikit/uiwindow.md +2 -2
  204. package/src/content/docs/reference/utility/menu-controller.md +1 -1
  205. package/src/content/docs/reference/utility/meta.json +4 -0
  206. package/src/content/docs/reference/utility/sqlite-result-set.md +1 -1
  207. package/src/content/docs/reference/utility/sqlite-statement.md +2 -2
  208. package/src/content/docs/reference/utility/zip-archive.md +13 -14
  209. package/src/content/docs/reference/value-sturct.md +105 -0
  210. package/src/lib/layout.tsx +31 -0
  211. package/src/lib/source.ts +7 -0
  212. package/tsconfig.json +42 -3
  213. package/astro.config.mjs +0 -126
  214. package/src/client/jsb-api-footer.ts +0 -242
  215. package/src/components/Footer.astro +0 -57
  216. package/src/components/Search.astro +0 -330
  217. package/src/content.config.ts +0 -7
  218. package/src/styles/starlight-overrides.css +0 -23
  219. /package/src/content/docs/{guides/cookbook → cookbook}/append-selection-as-comment.md +0 -0
  220. /package/src/content/docs/{guides/cookbook → cookbook}/batch-rename-notes.md +0 -0
  221. /package/src/content/docs/{guides/cookbook → cookbook}/export-notebook.md +0 -0
  222. /package/src/content/docs/{guides/cookbook → cookbook}/focus-note-in-mindmap.md +0 -0
@@ -18,8 +18,8 @@ description: 单个文档的控制器,提供当前文档与选区。
18
18
  | `visibleFocusNote` | `MbBookNote` \| undefined | 当前可见的焦点笔记。 |
19
19
  | `lastFocusNote` | `MbBookNote` \| undefined | 上一次的焦点笔记。 |
20
20
  | `selectionText` | `string` \| undefined | 用户在 PDF 中当前选中的文本。 |
21
- | `currPageNo` | `number` | 当前页码(运行时定义,通常从 1 开始)。 |
22
- | `currPageIndex` | `number` | 当前页索引(运行时定义,通常从 0 开始)。 |
21
+ | `currPageNo` | `number` | 当前页码(默认从 1 开始)。 |
22
+ | `currPageIndex` | `number` | 当前页索引(默认从 0 开始)。 |
23
23
  | `isSelectionText` | `boolean` | 当前是否存在文本选区。 |
24
24
 
25
25
  ### 方法
@@ -29,14 +29,46 @@ description: 单个文档的控制器,提供当前文档与选区。
29
29
  | `imageFromSelection()` | — | `NSData` | 从当前选区导出图片数据(若可用)。 |
30
30
  | `imageFromFocusNote()` | — | `NSData` | 从当前焦点笔记导出图片数据(若可用)。 |
31
31
  | `setPageAtIndex(index)` | index: number | — | 跳转到指定页索引。 |
32
- | `indicesFromPageNo(pageNo)` | pageNo: number | `NSArray<number>` | 由页码得到可能的页索引列表。 |
32
+ | `indicesFromPageNo(pageNo)` | pageNo: number | `NSArray<number>` | 由页码得到会的页索引列表。 |
33
33
  | `indexFromPageNo(pageNo)` | pageNo: number | number | 由页码得到页索引。 |
34
34
  | `pageNoFromIndex(index)` | index: number | number | 由页索引得到页码。 |
35
- | `highlightFromSelection()` | — | `any` | 从当前选区生成高亮对象(类型依赖运行时)。 |
35
+ | `highlightFromSelection()` | — | `MbBookNote \| undefined` | 从当前选区创建或定位高亮笔记并返回该笔记。 |
36
+
37
+ ### `highlightFromSelection`
38
+
39
+ ```javascript
40
+ highlightFromSelection(): MbBookNote | undefined
41
+ ```
42
+
43
+ **定义:**
44
+
45
+ 从当前文档选区创建或定位一条高亮笔记并返回。
46
+
47
+ **返回:**
48
+
49
+ - 有有效选区时返回`MbBookNote`。
50
+ - 无选区时返回`undefined`。
51
+
52
+ **行为:**
53
+
54
+ - 调用前可通过`selectionText`与`isSelectionText`读取当前选区状态。
55
+ - 调用后可直接读取返回对象的`noteId`确认结果。
56
+
57
+ **副作用:**
58
+
59
+ - 会更新当前焦点笔记或当前笔记状态。
60
+ - 会刷新与选区相关的界面状态。
61
+
62
+ **最小验证:**
63
+
64
+ 1. 读取`selectionText`与`isSelectionText`。
65
+ 2. 调用`highlightFromSelection()`。
66
+ 3. 检查返回对象是否存在且包含`noteId`。
67
+ 4. 清空选区后重复调用,确认返回`undefined`。
36
68
 
37
69
  ## 类成员 (Class members)
38
70
 
39
- 当前运行时未额外暴露 `DocumentController` 的类成员。
71
+ 当前接口未额外暴露 `DocumentController` 的类成员。
40
72
 
41
73
  ## 相关
42
74
 
@@ -56,31 +56,31 @@ description: 插件主类必须继承的基类,处理生命周期与工具栏
56
56
 
57
57
  ### `queryShortcutKeyWithKeyFlags(command,keyFlags)`语义
58
58
 
59
- `queryShortcutKeyWithKeyFlags(command,keyFlags)`用于“查询状态”,系统可能在以下场景批量调用它:
59
+ `queryShortcutKeyWithKeyFlags(command,keyFlags)`用于“查询状态”,系统会在以下场景批量调用它:
60
60
 
61
61
  - 判断当前上下文哪些快捷键可用(disabled/checked状态)。
62
62
  - 重建或刷新键盘命令列表(keyCommands)。
63
63
  - 某些焦点/编辑态变化引发的状态刷新。
64
64
 
65
- 因此你可能“只按了一次Left”,但看到大量不同的`command`与`keyFlags`日志。这是正常现象。
65
+ 因此你会“只按了一次Left”,但看到大量不同的`command`与`keyFlags`日志。这是正常现象。
66
66
 
67
67
  #### command的两类来源
68
68
 
69
- 已确认`command`可能来自两条路径:
69
+ 已确认`command`会来自两条路径:
70
70
 
71
71
  - 内建命令名:例如`NewChildNote`、`ToggleExpand`、`EditAddTitle`等。
72
72
  - 输入常量/字符:例如`UIKeyInputLeftArrow`、`UIKeyInputUpArrow`,以及`z`这类字符输入。
73
73
 
74
- 建议:在query里只匹配你关心的组合键,其余直接`return null`保持静默;不要在query里做任何数据库/笔记结构修改。
74
+ 要求:在query里只匹配你关心的组合键,其余直接`return null`保持静默;不要在query里做任何数据库/笔记结构修改。
75
75
 
76
- 返回值通常包含:
76
+ 返回值默认包含:
77
77
 
78
78
  - `disabled:boolean`:是否不可用。
79
79
  - `checked:boolean`:是否勾选态(用于UI状态展示)。
80
80
 
81
81
  ### `processShortcutKeyWithKeyFlags(command,keyFlags)`语义
82
82
 
83
- `processShortcutKeyWithKeyFlags(command,keyFlags)`用于“处理按下”,真正的业务动作应放在这里(例如outdent/移动层级等)。建议遵循:
83
+ `processShortcutKeyWithKeyFlags(command,keyFlags)`用于“处理按下”,真正的业务动作应放在这里(例如outdent/移动层级等)。遵循:
84
84
 
85
85
  - query只返回状态,不产生副作用。
86
86
  - process里执行操作,并用`UndoManager.undoGrouping(...)`包裹可撤销修改。
@@ -99,7 +99,7 @@ description: 插件主类必须继承的基类,处理生命周期与工具栏
99
99
 
100
100
  ### 已知限制:编辑态会吞键
101
101
 
102
- 当用户正在编辑文本(例如评论输入框等)时,当前firstResponder通常会优先消费按键,插件快捷键可能不触发。这是预期行为,建议将快捷键主要用于非编辑态操作。
102
+ 当用户正在编辑文本(例如评论输入框等)时,当前firstResponder默认会优先消费按键,插件快捷键会不触发。这是预期行为,将快捷键主要用于非编辑态操作。
103
103
 
104
104
  ## 类成员 (Class members)
105
105
 
@@ -2,50 +2,49 @@
2
2
  title: MbBookNote
3
3
  description: 笔记核心对象,代表脑图中的一条笔记及其摘录、评论、链接与层级。
4
4
  ---
5
-
6
- 插件开发中最核心的数据对象,代表一条笔记(脑图节点)。可通过 [Database.getNoteById](/reference/global/database/)、[NotebookController.focusNote](/reference/marginnote/notebook-controller/)、[MindMapNode.note](/reference/marginnote/mindmap-node/) 等获取。修改后建议使用 [UndoManager.undoGrouping](/reference/utility/undo-manager/) 包裹并刷新界面。
5
+ 插件开发中最核心的数据对象,代表一条笔记(脑图节点)。可通过 [Database.getNoteById](/reference/global/database/)、[NotebookController.focusNote](/reference/marginnote/notebook-controller/)、[MindMapNode.note](/reference/marginnote/mindmap-node/) 等获取。修改后使用 [UndoManager.undoGrouping](/reference/utility/undo-manager/) 包裹并刷新界面。
7
6
 
8
7
  ## 实例成员 (Instance members)
9
8
 
10
9
  ### 可读写属性
11
10
 
12
- | 属性 | 类型 | 说明 |
13
- | :--- | :--- | :--- |
14
- | `noteTitle` | `string` | 笔记标题。 |
15
- | `excerptText` | `string` | 摘录文本。 |
16
- | `excerptTextMarkdown` | `number` | 摘录文本是否为 Markdown(运行时字段,通常为 0/1)。 |
17
- | `colorIndex` | `number` | 颜色索引 (0–15)。 |
18
- | `fillIndex` | `number` | 填充类型。 |
11
+ | 属性 | 类型 | 说明 |
12
+ | :---------------------- | :--------- | :-------------------------------------------- |
13
+ | `noteTitle` | `string` | 笔记标题。 |
14
+ | `excerptText` | `string` | 摘录文本。 |
15
+ | `excerptTextMarkdown` | `number` | 摘录文本是否为 Markdown(接口字段,为 0/1)。 |
16
+ | `colorIndex` | `number` | 颜色索引 (0–15)。 |
17
+ | `fillIndex` | `number` | 填充类型。 |
19
18
 
20
19
  ### 只读属性
21
20
 
22
- | 属性 | 类型 | 说明 |
23
- | :--- | :--- | :--- |
24
- | `noteId` | `string` | 笔记唯一 ID。 |
25
- | `docMd5` | `string` | 来源文档 MD5。 |
26
- | `notebookId` | `string` | 所属笔记本 ID。 |
27
- | `startPage` / `endPage` | `NSNumber` | 摘录起止页码。 |
28
- | `startPos` / `endPos` | `string` | 摘录起止位置。 |
29
- | `excerptPic` | `NSDictionary` | 摘录图片信息。 |
30
- | `createDate` / `modifiedDate` | `NSDate` | 创建/修改时间。 |
31
- | `mediaList` | `string` | 媒体列表。 |
32
- | `originNoteId` | `string` | 原始笔记 ID(如 Evernote)。 |
33
- | `mindmapBranchClose` | `NSNumber` | 脑图分支是否折叠。 |
34
- | `notesText` | `string` | 笔记文本聚合。 |
35
- | `groupNoteId` | `string` | 分组笔记 ID。 |
36
- | `comments` | `NSArray` | 评论数组,元素为 [NoteComment](/reference/marginnote/note-comment/) 结构。 |
37
- | `parentNote` | `MbBookNote` \| undefined | 父笔记。 |
38
- | `childMindMap` | `MbBookNote` \| undefined | 子脑图。 |
39
- | `linkedNotes` | `NSArray` | 链接的笔记。 |
40
- | `childNotes` | `NSArray` | 子笔记数组。 |
41
- | `summaryLinks` | `NSArray` | 摘要链接。 |
42
- | `zLevel` / `hidden` / `toc` / `annotation` / `textFirst` / `groupMode` / `flashcard` / `flagged` | `NSNumber` | 各类标志。 |
43
- | `summary` | `boolean` | 是否有摘要链接。 |
44
- | `textHighlight` / `options` | `NSDictionary` | 文本高亮与选项。 |
21
+ | 属性 | 类型 | 说明 |
22
+ | :--------------------------------------------------------------------------------------------------------------- | :-------------------------- | :--------------------------------------------------------------------- |
23
+ | `noteId` | `string` | 笔记唯一 ID。 |
24
+ | `docMd5` | `string` | 来源文档 MD5。 |
25
+ | `notebookId` | `string` | 所属笔记本 ID。 |
26
+ | `startPage` / `endPage` | `NSNumber` | 摘录起止页码。 |
27
+ | `startPos` / `endPos` | `string` | 摘录起止位置。 |
28
+ | `excerptPic` | `NSDictionary` | 摘录图片信息。 |
29
+ | `createDate` / `modifiedDate` | `NSDate` | 创建/修改时间。 |
30
+ | `mediaList` | `string` | 媒体列表。 |
31
+ | `originNoteId` | `string` | 原始笔记 ID(如 Evernote)。 |
32
+ | `mindmapBranchClose` | `NSNumber` | 脑图分支是否折叠。 |
33
+ | `notesText` | `string` | 笔记文本聚合。 |
34
+ | `groupNoteId` | `string` | 分组笔记 ID。 |
35
+ | `comments` | `NSArray` | 评论数组,元素为[NoteComment](/reference/marginnote/note-comment/) 结构。 |
36
+ | `parentNote` | `MbBookNote` \| undefined | 父笔记。 |
37
+ | `childMindMap` | `MbBookNote` \| undefined | 子脑图。 |
38
+ | `linkedNotes` | `NSArray` | 链接的笔记。 |
39
+ | `childNotes` | `NSArray` | 子笔记数组。 |
40
+ | `summaryLinks` | `NSArray` | 摘要链接。 |
41
+ | `zLevel` / `hidden` / `toc` / `annotation` / `textFirst` / `groupMode` / `flashcard` / `flagged` | `NSNumber` | 各类标志。 |
42
+ | `summary` | `boolean` | 是否有摘要链接。 |
43
+ | `textHighlight` / `options` | `NSDictionary` | 文本高亮与选项。 |
45
44
 
46
45
  ### 实例方法
47
46
 
48
- ### `appendTextComment`
47
+ #### `appendTextComment`
49
48
 
50
49
  添加一条文本评论。
51
50
 
@@ -55,11 +54,11 @@ appendTextComment(text: string): void
55
54
 
56
55
  **Parameters:**
57
56
 
58
- | Name | Type | Description |
59
- | :--- | :--- | :--- |
60
- | `text` | `string` | 评论内容。 |
57
+ | Name | Type | Description |
58
+ | :------- | :--------- | :---------- |
59
+ | `text` | `string` | 评论内容。 |
61
60
 
62
- ### `appendMarkdownComment`
61
+ #### `appendMarkdownComment`
63
62
 
64
63
  添加一条 Markdown 格式评论。
65
64
 
@@ -69,11 +68,11 @@ appendMarkdownComment(text: string): void
69
68
 
70
69
  **Parameters:**
71
70
 
72
- | Name | Type | Description |
73
- | :--- | :--- | :--- |
71
+ | Name | Type | Description |
72
+ | :------- | :--------- | :------------------------ |
74
73
  | `text` | `string` | Markdown 格式的评论内容。 |
75
74
 
76
- ### `appendNoteLink`
75
+ #### `appendNoteLink`
77
76
 
78
77
  添加指向另一条笔记的链接。
79
78
 
@@ -83,13 +82,13 @@ appendNoteLink(note: MbBookNote): void
83
82
 
84
83
  **Parameters:**
85
84
 
86
- | Name | Type | Description |
87
- | :--- | :--- | :--- |
85
+ | Name | Type | Description |
86
+ | :------- | :------------- | :------------- |
88
87
  | `note` | `MbBookNote` | 目标笔记对象。 |
89
88
 
90
89
  **说明**:会在 `comments` 数组中添加一条 `TextNote` 类型的评论,`text` 字段存储格式为 `marginnote4app://note/{noteId}`。
91
90
 
92
- ### `merge`
91
+ #### `merge`
93
92
 
94
93
  添加笔记链接(历史命名;等价于“把另一条笔记作为链接加入 comments”)。
95
94
 
@@ -97,26 +96,26 @@ appendNoteLink(note: MbBookNote): void
97
96
  merge(note: MbBookNote): void
98
97
  ```
99
98
 
100
- ### `appendHtmlComment`
99
+ #### `appendHtmlComment`
101
100
 
102
- 添加 HTML 评论(已废弃,建议使用 `appendMarkdownComment`)。
101
+ 添加 HTML 评论。
103
102
 
104
103
  ```javascript
105
104
  appendHtmlComment(html: string, text: string, size: CGSize, tag: string): void
106
105
  ```
107
106
 
108
- **Parameters:**
107
+ 其中 `size`类型见[`CGSize`](/reference/value-sturct/#cgsize)。
109
108
 
110
- | Name | Type | Description |
111
- | :--- | :--- | :--- |
112
- | `html` | `string` | HTML 内容。 |
113
- | `text` | `string` | 纯文本内容(用于搜索等)。 |
114
- | `size` | `CGSize` | 渲染尺寸。 |
115
- | `tag` | `string` | 标签标识。 |
109
+ **Parameters:**
116
110
 
117
- **说明**:此方法已废弃,HTML 评论不再单独存储,建议使用 `appendMarkdownComment` 替代。
111
+ | Name | Type | Description |
112
+ | :------- | :----------------------------------------- | :------------------------- |
113
+ | `html` | `string` | HTML 内容。 |
114
+ | `text` | `string` | 纯文本内容(用于搜索等)。 |
115
+ | `size` | [`CGSize`](/reference/value-sturct/#cgsize) | 渲染尺寸。 |
116
+ | `tag` | `string` | 标签标识。 |
118
117
 
119
- ### `removeCommentByIndex`
118
+ #### `removeCommentByIndex`
120
119
 
121
120
  按索引删除一条评论。
122
121
 
@@ -126,11 +125,11 @@ removeCommentByIndex(index: number): void
126
125
 
127
126
  **Parameters:**
128
127
 
129
- | Name | Type | Description |
130
- | :--- | :--- | :--- |
128
+ | Name | Type | Description |
129
+ | :-------- | :--------- | :--------------------------------- |
131
130
  | `index` | `number` | 评论在 `comments` 数组中的索引。 |
132
131
 
133
- ### `clearFormat`
132
+ #### `clearFormat`
134
133
 
135
134
  清除笔记文本格式。
136
135
 
@@ -138,7 +137,7 @@ removeCommentByIndex(index: number): void
138
137
  clearFormat(): void
139
138
  ```
140
139
 
141
- ### `paste`
140
+ #### `paste`
142
141
 
143
142
  粘贴(将剪贴板内容作为评论或摘录)。
144
143
 
@@ -146,7 +145,7 @@ clearFormat(): void
146
145
  paste(): void
147
146
  ```
148
147
 
149
- ### `allNoteText`
148
+ #### `allNoteText`
150
149
 
151
150
  获取笔记全部文本(标题+摘录+评论)。
152
151
 
@@ -158,11 +157,114 @@ allNoteText(): string
158
157
 
159
158
  - `string`: 聚合文本。
160
159
 
160
+ #### `removeFromParent`
161
+
162
+ 从父节点移除当前笔记。
163
+
164
+ ```javascript
165
+ removeFromParent(): void
166
+ ```
167
+
168
+ #### `insertChildBefore`
169
+
170
+ 在指定子节点前插入一条子笔记。
171
+
172
+ ```javascript
173
+ insertChildBefore(note: MbBookNote, beforeNote: MbBookNote): void
174
+ ```
175
+
176
+ #### `addChild`
177
+
178
+ 添加一条子笔记。
179
+
180
+ ```javascript
181
+ addChild(note: MbBookNote): void
182
+ ```
183
+
184
+ #### `sortCommentsByNewIndices`
185
+
186
+ 按新索引数组重排 `comments`。
187
+
188
+ ```javascript
189
+ sortCommentsByNewIndices(newIndices: NSArray): void
190
+ ```
191
+
192
+ #### `realGroupNoteIdForTopicId`
193
+
194
+ 获取分组笔记在指定笔记本下的真实ID。
195
+
196
+ ```javascript
197
+ realGroupNoteIdForTopicId(topicid: string): string
198
+ ```
199
+
200
+ #### `processMarkdownBase64Images`
201
+
202
+ ```javascript
203
+ processMarkdownBase64Images(): boolean
204
+ ```
205
+
206
+ **定义:**
207
+
208
+ 处理当前笔记中符合条件的Markdown文本里的 `data:image...base64`图片引用。
209
+
210
+ **返回:**
211
+
212
+ - `true`表示发生了实际改写。
213
+ - `false`表示未发生改写。
214
+
215
+ **行为:**
216
+
217
+ - 仅处理满足条件的Markdown文本。
218
+ - 命中base64图片引用时会转存媒体并替换引用。
219
+
220
+ **副作用:**
221
+
222
+ - 会改写笔记内容相关字段。
223
+ - 会更新 `mediaList`。
224
+ - 会更新笔记修改时间。
225
+
226
+ **最小验证:**
227
+
228
+ 1. 短文本+无base64。
229
+ 2. 短文本+有base64。
230
+ 3. 长文本+无base64。
231
+ 4. 长文本+有base64。
232
+
233
+ 分别记录调用前后内容与返回值。
234
+
235
+ #### `getDrawingSize`
236
+
237
+ ```javascript
238
+ getDrawingSize(): NSNumber
239
+ ```
240
+
241
+ **定义:**
242
+
243
+ 返回该笔记绘图相关媒体的二进制总字节数。
244
+
245
+ **返回:**
246
+
247
+ - `NSNumber`,值为字节总数。
248
+
249
+ #### `getStrokesCount`
250
+
251
+ ```javascript
252
+ getStrokesCount(): NSInteger
253
+ ```
254
+
255
+ **定义:**
256
+
257
+ 返回该笔记绘图笔画总数。
258
+
259
+ **返回:**
260
+
261
+ - `NSInteger`,值为笔画数量。
262
+
161
263
  ## 类成员 (Class members)
162
264
 
163
265
  ### `createWithTitleNotebookDocument`
164
266
 
165
- 创建新笔记类方法。在JS侧通常通过全局注入的`Note`对象调用同名方法。
267
+ 创建新笔记类方法。在JS侧默认通过全局注入的 `Note`对象调用同名方法。
166
268
 
167
269
  ```javascript
168
270
  static createWithTitleNotebookDocument(title: string, notebook: MbTopic, document: MbBook): MbBookNote
@@ -174,18 +276,6 @@ static createWithTitleNotebookDocument(title: string, notebook: MbTopic, documen
174
276
 
175
277
  - [Note](/reference/global/note/) — `Note.createWithTitleNotebookDocument(title, notebook, doc)`
176
278
 
177
- ## 其他常用实例方法
178
-
179
- | 方法 | 说明 |
180
- |------|------|
181
- | `removeFromParent()` | 从父节点移除。 |
182
- | `insertChildBefore(note, beforeNote)` | 在指定子节点前插入。 |
183
- | `addChild(note)` | 添加子节点。 |
184
- | `processMarkdownBase64Images()` | 处理 Markdown 中的 base64 图片(按运行时实现)。 |
185
- | `sortCommentsByNewIndices(newIndices)` | 按新索引数组重排 comments。 |
186
- | `getDrawingSize()` / `getStrokesCount()` | 绘制相关信息(按运行时实现)。 |
187
- | `realGroupNoteIdForTopicId(topicid)` | 获取分组笔记在指定笔记本下的真实 ID。 |
188
-
189
279
  ## 相关
190
280
 
191
281
  - [NoteComment](/reference/marginnote/note-comment/)、[MbTopic](/reference/marginnote/mb-topic/)、[MbBook](/reference/marginnote/mb-book/)
@@ -14,7 +14,7 @@ description: 文档对象,代表一个 PDF/EPUB 文档。
14
14
  | `docMd5` | `string` | 文档唯一MD5。 |
15
15
  | `docTitle` | `string` | 文档标题。 |
16
16
  | `pathFile` | `string` | 文档在 MarginNote 存储中的相对路径。 |
17
- | `fullPathFileName` | `string` | 文档的完整路径(若环境可用)。 |
17
+ | `fullPathFileName` | `string` | 文档的完整路径。 |
18
18
  | `currentTopicId` | `string` | 当前所属笔记本ID。 |
19
19
  | `lastVisit` | `NSDate` | 最后访问时间。 |
20
20
  | `pageCount` | `number` | 总页数。 |
@@ -23,12 +23,12 @@ description: 文档对象,代表一个 PDF/EPUB 文档。
23
23
 
24
24
  | 方法 | 参数 | 返回值 | 说明 |
25
25
  |------|------|--------|------|
26
- | `textContentsForPageNo(pageNo)` | pageNo: number | `NSArray` | 获取指定页的文本内容(实现/结构依赖运行时)。 |
26
+ | `textContentsForPageNo(pageNo)` | pageNo: number | `NSArray` | 获取指定页文本内容。已确认返回二维数组结构,外层为行/段集合,内层元素为对象;键结构不稳定,先打印后使用。 |
27
27
  | `tocAll()` | — | `NSArray` | 获取文档目录(Table of Contents)。 |
28
28
 
29
29
  ## 类成员 (Class members)
30
30
 
31
- 当前运行时未额外暴露 `MbBook` 的类成员。
31
+ 当前接口未额外暴露 `MbBook` 的类成员。
32
32
 
33
33
  ## 相关
34
34
 
@@ -58,8 +58,8 @@ description: 数据库工具协议,Database 单例的实现类型,提供笔
58
58
 
59
59
  | 方法 | 说明 |
60
60
  |------|------|
61
- | `sharedInstance()` | 获取单例(通常通过全局对象 [Database](/reference/global/database/) 使用)。 |
62
- | `transDictionaryToJSCompatible(dic)` / `transArrayToJSCompatible(arr)` | 将原生容器转换为更易于 JS 使用的结构(按运行时实现)。 |
61
+ | `sharedInstance()` | 获取单例(默认通过全局对象 [Database](/reference/global/database/) 使用)。 |
62
+ | `transDictionaryToJSCompatible(dic)` / `transArrayToJSCompatible(arr)` | 将原生容器转换为更易于 JS 使用的结构。 |
63
63
 
64
64
  ## 相关
65
65
 
@@ -25,11 +25,22 @@ description: 笔记本(主题)对象,包含根笔记列表与关联文档
25
25
  | `notes` | `NSArray` | R | 笔记本中所有**根节点**笔记。 |
26
26
  | `hideLinksInMindMapNode` | `boolean` | R/W | 是否在脑图节点中隐藏链接。 |
27
27
  | `flags` | `NSNumber` | R | 标志位。 |
28
- | `type` | `NSNumber` | R | 笔记本类型(例如卡片/脑图/文档等,具体枚举以运行时为准)。 |
28
+ | `type` | `NSNumber` | R | 笔记本类型枚举值。 |
29
+
30
+ ### `type`枚举值
31
+
32
+ `type`本质是四字符常量转成的`NSNumber`。当前可用映射如下:
33
+
34
+ | 类型 | 四字符常量 | 数值 |
35
+ |------|------------|------|
36
+ | `CardDeck` | `'NtCd'` | `1316242276` |
37
+ | `MindMap` | `'NtMn'` | `1316244846` |
38
+ | `DocumentNotebook` | `'NtDn'` | `1316242542` |
39
+ | `Null` | `'NtNn'` | `1316245102` |
29
40
 
30
41
  ## 类成员 (Class members)
31
42
 
32
- 当前运行时未额外暴露 `MbTopic` 的类成员。
43
+ 当前接口未额外暴露 `MbTopic` 的类成员。
33
44
 
34
45
  ## 相关
35
46
 
@@ -0,0 +1,18 @@
1
+ {
2
+ "title": "MarginNote核心",
3
+ "pages": [
4
+ "jsextension",
5
+ "study-controller",
6
+ "notebook-controller",
7
+ "reader-controller",
8
+ "document-controller",
9
+ "mindmap-view",
10
+ "outline-view",
11
+ "mindmap-node",
12
+ "mb-book-note",
13
+ "note-comment",
14
+ "mb-topic",
15
+ "mb-book",
16
+ "mb-model-tool"
17
+ ]
18
+ }
@@ -15,11 +15,11 @@ description: 脑图中的单个节点,关联一条 MbBookNote 与父子节点
15
15
  | `parentNode` | `MindMapNode` \| undefined | 父节点。 |
16
16
  | `childNodes` | `NSArray` | 子节点数组。 |
17
17
  | `summaryLinks` | `NSArray` | 摘要链接。 |
18
- | `frame` | `CGRect` | 节点在脑图视图中的位置与大小。 |
18
+ | `frame` | [`CGRect`](/reference/value-sturct/#cgrect) | 节点在脑图视图中的位置与大小。 |
19
19
 
20
20
  ## 类成员 (Class members)
21
21
 
22
- 当前运行时未额外暴露 `MindMapNode` 的类成员。
22
+ 当前接口未额外暴露 `MindMapNode` 的类成员。
23
23
 
24
24
  ## 相关
25
25
 
@@ -12,11 +12,11 @@ description: 脑图视图,继承自 UIScrollView,展示脑图节点列表与
12
12
  | 属性 | 类型 | 说明 |
13
13
  |------|------|------|
14
14
  | `mindmapNodes` | `NSArray` | 脑图中所有节点(MindMapNode 或等价类型)。 |
15
- | `selViewLst` | `NSArray` | 当前选中的节点视图列表,每项通常包含 `note`(MindMapNode)与 `view`(UIView)。 |
15
+ | `selViewLst` | `NSArray` | 当前选中的节点视图列表,每项默认包含 `note`(MindMapNode)与 `view`(UIView)。 |
16
16
 
17
17
  ## 类成员 (Class members)
18
18
 
19
- 当前运行时未额外暴露 `MindMapView` 的类成员。
19
+ 当前接口未额外暴露 `MindMapView` 的类成员。
20
20
 
21
21
  ## 相关
22
22
 
@@ -28,7 +28,7 @@ description: 脑图与大纲的控制器,提供当前笔记本与焦点笔记
28
28
 
29
29
  ## 类成员 (Class members)
30
30
 
31
- 当前运行时未额外暴露 `NotebookController` 的类成员。
31
+ 当前接口未额外暴露 `NotebookController` 的类成员。
32
32
 
33
33
  ## 相关
34
34
 
@@ -3,7 +3,7 @@ title: OutlineView
3
3
  description: 大纲视图(旧版接口)。继承自 UITableView,并提供从 indexPath 反查笔记的能力。
4
4
  ---
5
5
 
6
- `OutlineView` 用于展示笔记本的大纲/列表视图。在插件运行时它继承自 [UITableView](/reference/uikit/uitable-view/),并额外暴露了一个把 `indexPath` 映射回笔记对象的方法。
6
+ `OutlineView` 用于展示笔记本的大纲/列表视图。它继承自 [UITableView](/reference/uikit/uitable-view/),并额外暴露了一个把 `indexPath` 映射回笔记对象的方法。
7
7
 
8
8
  ## 实例成员 (Instance members)
9
9
 
@@ -13,7 +13,7 @@ description: 大纲视图(旧版接口)。继承自 UITableView,并提供
13
13
 
14
14
  ## 类成员 (Class members)
15
15
 
16
- 当前运行时未额外暴露 `OutlineView` 的类成员。
16
+ 当前接口未额外暴露 `OutlineView` 的类成员。
17
17
 
18
18
  ## 相关
19
19
 
@@ -18,7 +18,7 @@ description: 文档阅读区域控制器,管理当前显示的文档控制器
18
18
 
19
19
  ## 类成员 (Class members)
20
20
 
21
- 当前运行时未额外暴露 `ReaderController` 的类成员。
21
+ 当前接口未额外暴露 `ReaderController` 的类成员。
22
22
 
23
23
  ## 相关
24
24