mn-docs-mcp 0.6.2 → 1.0.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 (157) hide show
  1. package/astro.config.mjs +4 -0
  2. package/package.json +1 -1
  3. package/src/content/docs/guides/contributing.md +4 -4
  4. package/src/content/docs/guides/getting-started.md +2 -2
  5. package/src/content/docs/guides/lifecycle-and-window.md +4 -4
  6. package/src/content/docs/guides/mindmap-and-selection.md +1 -1
  7. package/src/content/docs/guides/native-ui.md +2 -2
  8. package/src/content/docs/guides/network-requests.md +7 -8
  9. package/src/content/docs/guides/notes-and-database.md +1 -1
  10. package/src/content/docs/guides/shortcut-keys.md +9 -9
  11. package/src/content/docs/guides/storage-and-files.md +3 -3
  12. package/src/content/docs/guides/toolbar-and-commands.md +1 -1
  13. package/src/content/docs/reference/black-box.md +2 -2
  14. package/src/content/docs/reference/foundation/ns-attributed-string.md +1 -1
  15. package/src/content/docs/reference/foundation/ns-counted-set.md +1 -1
  16. package/src/content/docs/reference/foundation/ns-date-components.md +2 -2
  17. package/src/content/docs/reference/foundation/ns-date-formatter.md +1 -3
  18. package/src/content/docs/reference/foundation/ns-decimal-number.md +1 -1
  19. package/src/content/docs/reference/foundation/ns-enumerator.md +1 -1
  20. package/src/content/docs/reference/foundation/ns-error.md +2 -2
  21. package/src/content/docs/reference/foundation/ns-file-manager.md +1 -1
  22. package/src/content/docs/reference/foundation/ns-formatter.md +2 -2
  23. package/src/content/docs/reference/foundation/ns-json-serialization.md +10 -2
  24. package/src/content/docs/reference/foundation/ns-mutable-attributed-string.md +1 -1
  25. package/src/content/docs/reference/foundation/ns-mutable-character-set.md +1 -1
  26. package/src/content/docs/reference/foundation/ns-mutable-dictionary.md +1 -1
  27. package/src/content/docs/reference/foundation/ns-mutable-index-set.md +1 -1
  28. package/src/content/docs/reference/foundation/ns-mutable-set.md +1 -1
  29. package/src/content/docs/reference/foundation/ns-mutable-string.md +1 -1
  30. package/src/content/docs/reference/foundation/ns-mutable-url-request.md +2 -3
  31. package/src/content/docs/reference/foundation/ns-null.md +1 -1
  32. package/src/content/docs/reference/foundation/ns-number-formatter.md +1 -1
  33. package/src/content/docs/reference/foundation/ns-operation.md +2 -2
  34. package/src/content/docs/reference/foundation/ns-pointer-array.md +1 -1
  35. package/src/content/docs/reference/foundation/ns-proxy.md +5 -3
  36. package/src/content/docs/reference/foundation/ns-scanner.md +7 -1
  37. package/src/content/docs/reference/foundation/ns-set.md +1 -1
  38. package/src/content/docs/reference/foundation/ns-simple-c-string.md +3 -4
  39. package/src/content/docs/reference/foundation/ns-time-zone.md +1 -1
  40. package/src/content/docs/reference/foundation/ns-ubiquitous-key-value-store.md +61 -0
  41. package/src/content/docs/reference/foundation/ns-url-connection.md +2 -2
  42. package/src/content/docs/reference/foundation/ns-url-request.md +2 -2
  43. package/src/content/docs/reference/foundation/ns-url-response.md +5 -5
  44. package/src/content/docs/reference/foundation/ns-url.md +1 -1
  45. package/src/content/docs/reference/foundation/ns-user-defaults.md +4 -4
  46. package/src/content/docs/reference/foundation/ns-value.md +15 -15
  47. package/src/content/docs/reference/global/agent-tools.md +91 -0
  48. package/src/content/docs/reference/global/application.md +4 -4
  49. package/src/content/docs/reference/global/builtin-commands.md +2 -2
  50. package/src/content/docs/reference/global/database.md +4 -4
  51. package/src/content/docs/reference/global/document.md +21 -0
  52. package/src/content/docs/reference/global/global-variables.md +22 -5
  53. package/src/content/docs/reference/global/jsb.md +6 -4
  54. package/src/content/docs/reference/global/note.md +2 -2
  55. package/src/content/docs/reference/global/notebook.md +21 -0
  56. package/src/content/docs/reference/global/popup-menu-item.md +2 -2
  57. package/src/content/docs/reference/global/popup-menu.md +5 -6
  58. package/src/content/docs/reference/global/search-manager.md +12 -6
  59. package/src/content/docs/reference/global/self.md +1 -13
  60. package/src/content/docs/reference/js-runtime.md +5 -4
  61. package/src/content/docs/reference/marginnote/document-controller.md +37 -5
  62. package/src/content/docs/reference/marginnote/jsextension.md +7 -7
  63. package/src/content/docs/reference/marginnote/mb-book-note.md +121 -28
  64. package/src/content/docs/reference/marginnote/mb-book.md +3 -3
  65. package/src/content/docs/reference/marginnote/mb-model-tool.md +2 -2
  66. package/src/content/docs/reference/marginnote/mb-topic.md +13 -2
  67. package/src/content/docs/reference/marginnote/mindmap-node.md +2 -2
  68. package/src/content/docs/reference/marginnote/mindmap-view.md +2 -2
  69. package/src/content/docs/reference/marginnote/notebook-controller.md +1 -1
  70. package/src/content/docs/reference/marginnote/outline-view.md +2 -2
  71. package/src/content/docs/reference/marginnote/reader-controller.md +1 -1
  72. package/src/content/docs/reference/marginnote/study-controller.md +2 -2
  73. package/src/content/docs/reference/quartzcore/caanimation-group.md +3 -3
  74. package/src/content/docs/reference/quartzcore/cabasic-animation.md +3 -3
  75. package/src/content/docs/reference/quartzcore/caemitter-layer.md +44 -0
  76. package/src/content/docs/reference/quartzcore/cagradient-layer.md +1 -1
  77. package/src/content/docs/reference/quartzcore/cakeyframe-animation.md +3 -3
  78. package/src/content/docs/reference/quartzcore/calayer.md +1 -1
  79. package/src/content/docs/reference/quartzcore/camedia-timing-function.md +1 -1
  80. package/src/content/docs/reference/quartzcore/caproperty-animation.md +1 -1
  81. package/src/content/docs/reference/quartzcore/careplicator-layer.md +2 -2
  82. package/src/content/docs/reference/quartzcore/cascroll-layer.md +1 -1
  83. package/src/content/docs/reference/quartzcore/cashape-layer.md +2 -2
  84. package/src/content/docs/reference/quartzcore/catext-layer.md +4 -4
  85. package/src/content/docs/reference/quartzcore/catransaction.md +5 -3
  86. package/src/content/docs/reference/quartzcore/catransform-layer.md +3 -3
  87. package/src/content/docs/reference/quartzcore/catransition.md +10 -6
  88. package/src/content/docs/reference/quartzcore/cavalue-function.md +1 -1
  89. package/src/content/docs/reference/uikit/ns-mutable-paragraph-style.md +3 -3
  90. package/src/content/docs/reference/uikit/ns-paragraph-style.md +3 -4
  91. package/src/content/docs/reference/uikit/ns-text-storage.md +4 -5
  92. package/src/content/docs/reference/uikit/uiactivity-indicator-view.md +2 -2
  93. package/src/content/docs/reference/uikit/uiapplication.md +1 -1
  94. package/src/content/docs/reference/uikit/uibar-button-item.md +3 -4
  95. package/src/content/docs/reference/uikit/uibar-item.md +2 -3
  96. package/src/content/docs/reference/uikit/uibezier-path.md +2 -2
  97. package/src/content/docs/reference/uikit/uibutton.md +1 -1
  98. package/src/content/docs/reference/uikit/uicollection-view-cell.md +5 -5
  99. package/src/content/docs/reference/uikit/uicollection-view-controller.md +22 -2
  100. package/src/content/docs/reference/uikit/uicollection-view-flow-layout.md +54 -0
  101. package/src/content/docs/reference/uikit/uicollection-view-layout.md +9 -2
  102. package/src/content/docs/reference/uikit/uicollection-view.md +13 -4
  103. package/src/content/docs/reference/uikit/uicolor.md +1 -1
  104. package/src/content/docs/reference/uikit/uicontrol.md +3 -5
  105. package/src/content/docs/reference/uikit/uidate-picker.md +1 -1
  106. package/src/content/docs/reference/uikit/uievent.md +2 -2
  107. package/src/content/docs/reference/uikit/uifont.md +1 -1
  108. package/src/content/docs/reference/uikit/uigesture-recognizer.md +1 -1
  109. package/src/content/docs/reference/uikit/uiimage-picker-controller.md +1 -1
  110. package/src/content/docs/reference/uikit/uiimage-view.md +2 -2
  111. package/src/content/docs/reference/uikit/uiimage.md +2 -2
  112. package/src/content/docs/reference/uikit/uikey-command.md +2 -2
  113. package/src/content/docs/reference/uikit/uilabel.md +3 -3
  114. package/src/content/docs/reference/uikit/uilocal-notification.md +2 -2
  115. package/src/content/docs/reference/uikit/uilong-press-gesture-recognizer.md +2 -2
  116. package/src/content/docs/reference/uikit/uinavigation-bar.md +2 -2
  117. package/src/content/docs/reference/uikit/uinavigation-controller.md +1 -1
  118. package/src/content/docs/reference/uikit/uinavigation-item.md +1 -1
  119. package/src/content/docs/reference/uikit/uipage-control.md +1 -1
  120. package/src/content/docs/reference/uikit/uipage-view-controller.md +1 -1
  121. package/src/content/docs/reference/uikit/uipan-gesture-recognizer.md +1 -1
  122. package/src/content/docs/reference/uikit/uipasteboard.md +1 -1
  123. package/src/content/docs/reference/uikit/uipicker-view.md +3 -3
  124. package/src/content/docs/reference/uikit/uipinch-gesture-recognizer.md +1 -1
  125. package/src/content/docs/reference/uikit/uipopover-controller.md +1 -1
  126. package/src/content/docs/reference/uikit/uiresponder.md +3 -4
  127. package/src/content/docs/reference/uikit/uirotation-gesture-recognizer.md +1 -1
  128. package/src/content/docs/reference/uikit/uiscreen-mode.md +2 -2
  129. package/src/content/docs/reference/uikit/uiscrollview.md +1 -1
  130. package/src/content/docs/reference/uikit/uisearch-bar.md +25 -2
  131. package/src/content/docs/reference/uikit/uisegmented-control.md +1 -1
  132. package/src/content/docs/reference/uikit/uislider.md +1 -1
  133. package/src/content/docs/reference/uikit/uiswipe-gesture-recognizer.md +1 -1
  134. package/src/content/docs/reference/uikit/uiswitch.md +2 -2
  135. package/src/content/docs/reference/uikit/uitab-bar-controller.md +2 -2
  136. package/src/content/docs/reference/uikit/uitab-bar-item.md +1 -1
  137. package/src/content/docs/reference/uikit/uitab-bar.md +1 -1
  138. package/src/content/docs/reference/uikit/uitable-view-cell.md +6 -6
  139. package/src/content/docs/reference/uikit/uitable-view-controller.md +1 -1
  140. package/src/content/docs/reference/uikit/uitable-view.md +3 -3
  141. package/src/content/docs/reference/uikit/uitap-gesture-recognizer.md +2 -2
  142. package/src/content/docs/reference/uikit/uitext-input-mode.md +7 -3
  143. package/src/content/docs/reference/uikit/uitext-position.md +5 -5
  144. package/src/content/docs/reference/uikit/uitext-range.md +4 -4
  145. package/src/content/docs/reference/uikit/uitext-view.md +2 -2
  146. package/src/content/docs/reference/uikit/uitextfield.md +3 -3
  147. package/src/content/docs/reference/uikit/uitoolbar.md +1 -1
  148. package/src/content/docs/reference/uikit/uitouch.md +3 -3
  149. package/src/content/docs/reference/uikit/uiview-controller.md +2 -2
  150. package/src/content/docs/reference/uikit/uiview.md +5 -5
  151. package/src/content/docs/reference/uikit/uiwebview.md +3 -3
  152. package/src/content/docs/reference/uikit/uiwindow.md +2 -2
  153. package/src/content/docs/reference/utility/menu-controller.md +1 -1
  154. package/src/content/docs/reference/utility/sqlite-result-set.md +1 -1
  155. package/src/content/docs/reference/utility/sqlite-statement.md +2 -2
  156. package/src/content/docs/reference/utility/zip-archive.md +13 -14
  157. package/src/content/docs/reference/value-sturct.md +105 -0
@@ -3,7 +3,7 @@ title: NSSet
3
3
  description: 不可变无序集合(集合/去重容器)。
4
4
  ---
5
5
 
6
- `NSSet` 是不可变集合,适合表示“去重后的元素集合”。在插件环境中,你会在很多 API 里见到它(例如返回一组对象、或用于 membership 判断)。
6
+ `NSSet` 是不可变集合,适合表示“去重后的元素集合”。你会在很多 API 里见到它(例如返回一组对象、或用于 membership 判断)。
7
7
 
8
8
  ## 类成员 (Class members)
9
9
 
@@ -3,7 +3,7 @@ title: NSSimpleCString
3
3
  description: 内部字符串类型(可当作 NSString 使用)。
4
4
  ---
5
5
 
6
- `NSSimpleCString` 是一种内部字符串类型。在插件环境中你通常**不需要关心它本身**:它按“字符串”语义工作,可当作 `NSString`/JS 字符串的等价载体来使用。
6
+ `NSSimpleCString` 是一种内部字符串类型。你默认**不需要关心它本身**:它按“字符串”语义工作,可当作 `NSString`/JS 字符串的等价载体来使用。
7
7
 
8
8
  ## 实例成员 (Instance members)
9
9
 
@@ -11,10 +11,9 @@ description: 内部字符串类型(可当作 NSString 使用)。
11
11
 
12
12
  ## 类成员 (Class members)
13
13
 
14
- 当前运行时未额外暴露 `NSSimpleCString` 的类成员。
14
+ 当前接口未额外暴露 `NSSimpleCString` 的类成员。
15
15
 
16
16
  ## 说明
17
17
 
18
18
  - **没有额外可调用成员**:它不额外暴露独有方法/属性。
19
- - **使用建议**:把它当作普通字符串传递/拼接/比较即可。
20
-
19
+ - **使用规范**:把它当作普通字符串传递/拼接/比较即可。
@@ -3,7 +3,7 @@ title: NSTimeZone
3
3
  description: 时区对象。
4
4
  ---
5
5
 
6
- `NSTimeZone` 表示时区信息,通常与 `NSDateFormatter` 配合使用。
6
+ `NSTimeZone` 表示时区信息,默认与 `NSDateFormatter` 配合使用。
7
7
 
8
8
  ## 类成员 (Class members)
9
9
 
@@ -0,0 +1,61 @@
1
+ ---
2
+ title: NSUbiquitousKeyValueStore
3
+ description: iCloud键值存储对象。用于跨设备同步少量配置数据。
4
+ ---
5
+
6
+ `NSUbiquitousKeyValueStore`用于iCloud键值同步。适合存放小体积配置,不适合大数据或强一致事务。
7
+
8
+ ## 类成员 (Class members)
9
+
10
+ ### `defaultStore`
11
+
12
+ 获取默认iCloud键值存储实例。
13
+
14
+ ```javascript
15
+ static defaultStore(): NSUbiquitousKeyValueStore
16
+ ```
17
+
18
+ ## 实例成员 (Instance members)
19
+
20
+ ### 读取
21
+
22
+ | 方法 | 参数 | 返回值 | 说明 |
23
+ | --- | --- | --- | --- |
24
+ | `objectForKey(key)` | key: string | any | 读取任意对象。 |
25
+ | `stringForKey(key)` | key: string | string \| null | 读取字符串。 |
26
+ | `arrayForKey(key)` | key: string | NSArray \| null | 读取数组。 |
27
+ | `dictionaryForKey(key)` | key: string | NSDictionary \| null | 读取字典。 |
28
+ | `dataForKey(key)` | key: string | NSData \| null | 读取二进制数据。 |
29
+ | `longLongForKey(key)` | key: string | number | 读取long long。 |
30
+ | `doubleForKey(key)` | key: string | number | 读取double。 |
31
+ | `boolForKey(key)` | key: string | boolean | 读取布尔值。 |
32
+
33
+ ### 写入
34
+
35
+ | 方法 | 参数 | 返回值 | 说明 |
36
+ | --- | --- | --- | --- |
37
+ | `setObjectForKey(value, key)` | value: any, key: string | void | 写入对象。 |
38
+ | `setStringForKey(value, key)` | value: string, key: string | void | 写入字符串。 |
39
+ | `setArrayForKey(value, key)` | value: NSArray, key: string | void | 写入数组。 |
40
+ | `setDictionaryForKey(value, key)` | value: NSDictionary, key: string | void | 写入字典。 |
41
+ | `setDataForKey(value, key)` | value: NSData, key: string | void | 写入二进制数据。 |
42
+ | `setLongLongForKey(value, key)` | value: number, key: string | void | 写入long long。 |
43
+ | `setDoubleForKey(value, key)` | value: number, key: string | void | 写入double。 |
44
+ | `setBoolForKey(value, key)` | value: boolean, key: string | void | 写入布尔值。 |
45
+
46
+ ### 其他
47
+
48
+ | 方法 | 参数 | 返回值 | 说明 |
49
+ | --- | --- | --- | --- |
50
+ | `removeObjectForKey(key)` | key: string | void | 删除键。 |
51
+ | `dictionaryRepresentation()` | — | NSDictionary | 获取当前键值快照。 |
52
+ | `synchronize()` | — | boolean | 触发同步。 |
53
+
54
+ ## 使用规范
55
+
56
+ - 缺失key时,读取默认返回`nil/0/false`。
57
+ - `synchronize()`不保证强一致即时成功,受iCloud账号、网络和系统同步时机影响。
58
+
59
+ ## 相关
60
+
61
+ - [NSUserDefaults](/reference/foundation/ns-user-defaults/)
@@ -5,7 +5,7 @@ description: 插件环境中唯一导出的网络请求类(deprecated,但可
5
5
 
6
6
  完整用法见 [网络请求](/guides/network-requests/) 教程。
7
7
 
8
- `NSURLConnection` 是插件环境中导出的网络请求类(头文件标注为 deprecated,但在当前接口里仍可用)。它通常与 `NSURLRequest`/`NSMutableURLRequest`、`NSOperationQueue`、`NSData`、`NSError`、`NSHTTPURLResponse` 配合使用。
8
+ `NSURLConnection` 是插件环境中导出的网络请求类(头文件标注为 deprecated,但在当前接口里仍可用)。它默认与 `NSURLRequest`/`NSMutableURLRequest`、`NSOperationQueue`、`NSData`、`NSError`、`NSHTTPURLResponse` 配合使用。
9
9
 
10
10
  ## 类成员 (Class members)
11
11
 
@@ -102,7 +102,7 @@ originalRequest(): NSURLRequest
102
102
 
103
103
  ### `currentRequest`
104
104
 
105
- 当前请求(可能经重定向等变更)。
105
+ 当前请求(会经重定向等变更)。
106
106
 
107
107
  ```javascript
108
108
  currentRequest(): NSURLRequest
@@ -3,7 +3,7 @@ title: NSURLRequest
3
3
  description: 不可变 URL 请求对象,包含 URL、缓存策略、HTTP header/body 等只读访问。
4
4
  ---
5
5
 
6
- `NSURLRequest` 表示一个不可变的 URL 请求。通常在插件里用于读取请求信息,或作为 `NSMutableURLRequest` 的父接口使用。
6
+ `NSURLRequest` 表示一个不可变的 URL 请求。默认在插件里用于读取请求信息,或作为 `NSMutableURLRequest` 的父接口使用。
7
7
 
8
8
  ## 类成员 (Class members)
9
9
 
@@ -221,4 +221,4 @@ HTTPShouldUsePipelining(): boolean
221
221
 
222
222
  - `boolean`: 是否使用。
223
223
 
224
- > 建议:需要设置 method/header/body 等可变字段时,直接使用 [NSMutableURLRequest](/reference/foundation/ns-mutable-url-request/)。
224
+ > 要求:需要设置 method/header/body 等可变字段时,直接使用 [NSMutableURLRequest](/reference/foundation/ns-mutable-url-request/)。
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  title: NSURLResponse
3
- description: URL 响应对象,包含 MIMEType、编码、建议文件名等元信息。
3
+ description: URL 响应对象,包含 MIMEType、编码、期望文件名等元信息。
4
4
  ---
5
5
 
6
- `NSURLResponse` 是 URL 请求的响应对象基类。HTTP 响应通常会是其子类 `NSHTTPURLResponse`。
6
+ `NSURLResponse` 是 URL 请求的响应对象基类。HTTP 响应默认会是其子类 `NSHTTPURLResponse`。
7
7
 
8
8
  ## 实例成员 (Instance members)
9
9
 
@@ -78,7 +78,7 @@ textEncodingName(): string
78
78
 
79
79
  ### `suggestedFilename`
80
80
 
81
- 建议保存文件名。
81
+ 保存文件名。
82
82
 
83
83
  ```javascript
84
84
  suggestedFilename(): string
@@ -86,11 +86,11 @@ suggestedFilename(): string
86
86
 
87
87
  **Return Value:**
88
88
 
89
- - `string`: 建议文件名。
89
+ - `string`: 期望文件名。
90
90
 
91
91
  ## 类成员 (Class members)
92
92
 
93
- 当前运行时未额外暴露 `NSURLResponse` 的类成员。
93
+ 当前接口未额外暴露 `NSURLResponse` 的类成员。
94
94
 
95
95
  ## 相关
96
96
 
@@ -18,7 +18,7 @@ description: URL 对象,用于网页、文件路径与 Application.openURL。
18
18
 
19
19
  ## 实例成员 (Instance members)
20
20
 
21
- ### 属性(常用)
21
+ ### 属性
22
22
 
23
23
  | 属性 | 类型 | 说明 |
24
24
  |------|------|------|
@@ -25,7 +25,7 @@ static standardUserDefaults(): NSUserDefaults
25
25
 
26
26
  ### `setObjectForKey`
27
27
 
28
- 存储任意对象(通常为字符串、数字、数组、字典等可序列化类型)。
28
+ 存储任意对象(为字符串、数字、数组、字典等可序列化类型)。
29
29
 
30
30
  ```javascript
31
31
  setObjectForKey(value: any, key: string): void
@@ -203,7 +203,7 @@ integerForKey(key: string): number
203
203
 
204
204
  **Return Value:**
205
205
 
206
- - `number`: 整数值(若不存在通常返回 0)。
206
+ - `number`: 整数值(若不存在默认返回 0)。
207
207
 
208
208
  ### `floatForKey`
209
209
 
@@ -239,7 +239,7 @@ boolForKey(key: string): boolean
239
239
 
240
240
  **Return Value:**
241
241
 
242
- - `boolean`: 布尔值(若不存在通常返回 false)。
242
+ - `boolean`: 布尔值(若不存在默认返回 false)。
243
243
 
244
244
  ### `URLForKey`
245
245
 
@@ -281,7 +281,7 @@ synchronize(): boolean
281
281
 
282
282
  - `boolean`: 是否写入成功。
283
283
 
284
- **Note:** 系统通常会自动保存,仅在需要立即持久化时调用。
284
+ **Note:** 系统默认会自动保存,仅在需要立即持久化时调用。
285
285
 
286
286
  ### `registerDefaults`
287
287
 
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  title: NSValue
3
- description: 通用值对象封装(CGRect/CGPoint/CGSize/NSRange 等)。
3
+ description: 通用值对象封装([CGRect](/reference/value-sturct/#cgrect)/[CGPoint](/reference/value-sturct/#cgpoint)/[CGSize](/reference/value-sturct/#cgsize)/[NSRange](/reference/value-sturct/#nsrange)/[CGAffineTransform](/reference/value-sturct/#cgaffinetransform)/[CATransform3D](/reference/value-sturct/#catransform3d)等)。
4
4
  ---
5
5
 
6
- `NSValue` 用于封装非对象类型的值(例如 `CGPoint`、`CGRect`、`CGSize`、`NSRange`、`CGAffineTransform`、`CATransform3D` 等),以便在集合中传递或作为返回值使用。
6
+ `NSValue`用于封装非对象类型的值,例如[`CGPoint`](/reference/value-sturct/#cgpoint)、[`CGRect`](/reference/value-sturct/#cgrect)、[`CGSize`](/reference/value-sturct/#cgsize)、[`NSRange`](/reference/value-sturct/#nsrange)、[`CGAffineTransform`](/reference/value-sturct/#cgaffinetransform)、[`CATransform3D`](/reference/value-sturct/#catransform3d)等,以便在集合中传递或作为返回值使用。
7
7
 
8
8
  ## 类成员 (Class members)
9
9
 
10
10
  ### `valueWithCGPoint`
11
11
 
12
- CGPoint 创建。
12
+ [CGPoint](/reference/value-sturct/#cgpoint)创建。
13
13
 
14
14
  ```javascript
15
15
  static valueWithCGPoint(point: any): NSValue
@@ -27,7 +27,7 @@ static valueWithCGPoint(point: any): NSValue
27
27
 
28
28
  ### `valueWithCGSize`
29
29
 
30
- CGSize 创建。
30
+ [CGSize](/reference/value-sturct/#cgsize)创建。
31
31
 
32
32
  ```javascript
33
33
  static valueWithCGSize(size: any): NSValue
@@ -45,7 +45,7 @@ static valueWithCGSize(size: any): NSValue
45
45
 
46
46
  ### `valueWithCGRect`
47
47
 
48
- CGRect 创建。
48
+ [CGRect](/reference/value-sturct/#cgrect)创建。
49
49
 
50
50
  ```javascript
51
51
  static valueWithCGRect(rect: any): NSValue
@@ -63,7 +63,7 @@ static valueWithCGRect(rect: any): NSValue
63
63
 
64
64
  ### `valueWithCGAffineTransform`
65
65
 
66
- CGAffineTransform 创建。
66
+ [CGAffineTransform](/reference/value-sturct/#cgaffinetransform)创建。
67
67
 
68
68
  ```javascript
69
69
  static valueWithCGAffineTransform(transform: any): NSValue
@@ -81,7 +81,7 @@ static valueWithCGAffineTransform(transform: any): NSValue
81
81
 
82
82
  ### `valueWithRange`
83
83
 
84
- NSRange 创建。
84
+ [NSRange](/reference/value-sturct/#nsrange)创建。
85
85
 
86
86
  ```javascript
87
87
  static valueWithRange(range: any): NSValue
@@ -99,7 +99,7 @@ static valueWithRange(range: any): NSValue
99
99
 
100
100
  ### `valueWithCATransform3D`
101
101
 
102
- CATransform3D 创建(若环境中提供)。
102
+ [CATransform3D](/reference/value-sturct/#catransform3d)创建。
103
103
 
104
104
  ```javascript
105
105
  static valueWithCATransform3D(transform3d: any): NSValue
@@ -119,7 +119,7 @@ static valueWithCATransform3D(transform3d: any): NSValue
119
119
 
120
120
  ### `CGPointValue`
121
121
 
122
- CGPoint 值。
122
+ [CGPoint](/reference/value-sturct/#cgpoint)值。
123
123
 
124
124
  ```javascript
125
125
  CGPointValue(): any
@@ -131,7 +131,7 @@ CGPointValue(): any
131
131
 
132
132
  ### `CGSizeValue`
133
133
 
134
- CGSize 值。
134
+ [CGSize](/reference/value-sturct/#cgsize)值。
135
135
 
136
136
  ```javascript
137
137
  CGSizeValue(): any
@@ -143,7 +143,7 @@ CGSizeValue(): any
143
143
 
144
144
  ### `CGRectValue`
145
145
 
146
- CGRect 值。
146
+ [CGRect](/reference/value-sturct/#cgrect)值。
147
147
 
148
148
  ```javascript
149
149
  CGRectValue(): any
@@ -155,7 +155,7 @@ CGRectValue(): any
155
155
 
156
156
  ### `CGAffineTransformValue`
157
157
 
158
- CGAffineTransform 值。
158
+ [CGAffineTransform](/reference/value-sturct/#cgaffinetransform)值。
159
159
 
160
160
  ```javascript
161
161
  CGAffineTransformValue(): any
@@ -167,7 +167,7 @@ CGAffineTransformValue(): any
167
167
 
168
168
  ### `rangeValue`
169
169
 
170
- NSRange 值。
170
+ [NSRange](/reference/value-sturct/#nsrange)值。
171
171
 
172
172
  ```javascript
173
173
  rangeValue(): any
@@ -179,7 +179,7 @@ rangeValue(): any
179
179
 
180
180
  ### `CATransform3DValue`
181
181
 
182
- CATransform3D 值。
182
+ [CATransform3D](/reference/value-sturct/#catransform3d)值。
183
183
 
184
184
  ```javascript
185
185
  CATransform3DValue(): any
@@ -191,4 +191,4 @@ CATransform3DValue(): any
191
191
 
192
192
  ## 相关
193
193
 
194
- - `CGPoint` / `CGRect` / `CGSize` / `NSRange`(作为值类型)
194
+ - [`CGPoint`](/reference/value-sturct/#cgpoint) / [`CGRect`](/reference/value-sturct/#cgrect) / [`CGSize`](/reference/value-sturct/#cgsize) / [`NSRange`](/reference/value-sturct/#nsrange) / [`CGAffineTransform`](/reference/value-sturct/#cgaffinetransform) / [`CATransform3D`](/reference/value-sturct/#catransform3d)作为值类型
@@ -0,0 +1,91 @@
1
+ ---
2
+ title: AgentTools
3
+ description: 全局工具对象。用于注册、获取、列举与执行工具。
4
+ ---
5
+
6
+ **[Deprecated]** `AgentTools`是全局对象,不是原生类。用于注册工具并统一调用。
7
+
8
+ 已被弃用,不建议使用。
9
+
10
+ ## 实例成员 (Instance members)
11
+
12
+ `AgentTools`是全局对象,默认不以实例化方式使用。
13
+
14
+ ## 类成员 (Class members)
15
+
16
+ ### 方法
17
+
18
+ ### `register`
19
+
20
+ 注册工具对象。
21
+
22
+ ```javascript
23
+ register(tool: object): void
24
+ ```
25
+
26
+ <details>
27
+ <summary>目前内置的mn.search工具的注册源代码</summary>
28
+
29
+ ```javascript
30
+ register({
31
+ name: 'mn.search',
32
+ info: {name:'mn.search', kind:'search', scopes:['topic','all','page'], description:'Search notes or pages via SearchManager'},
33
+ run: function(input){
34
+ input = input || {};
35
+ var app2 = null;
36
+ try { app2 = Application.sharedInstance(); } catch (e2) {}
37
+ var mgr2 = app2 && app2.searchManager ? app2.searchManager : null;
38
+ if (!mgr2) { throw new Error('search_manager_unavailable'); }
39
+ var q = normalizeString(input.query, '');
40
+ var scope = normalizeString(input.scope, 'topic').toLowerCase();
41
+ if (scope !== 'topic' && scope !== 'all' && scope !== 'page') { scope = 'topic'; }
42
+ var titleOnly = !!input.titleOnly;
43
+ var beginsWith = !!input.beginsWith;
44
+ var limit = (input.limit != null) ? input.limit : 50;
45
+ var noteOnly = (input.noteOnly != null) ? !!input.noteOnly : false;
46
+ var topicid = normalizeNullable(input.topicid);
47
+ if (scope === 'page') {
48
+ return mgr2.searchPage(q, beginsWith, limit);
49
+ }
50
+ if (input.useFts) {
51
+ return mgr2.searchFts3Text(q, titleOnly, topicid, limit, noteOnly);
52
+ }
53
+ return mgr2.searchText(q, titleOnly, topicid, beginsWith, limit);
54
+ }
55
+ });
56
+ ```
57
+ </details>
58
+
59
+ ### `get`
60
+
61
+ 按名称获取工具。
62
+
63
+ ```javascript
64
+ get(name: string): object | null
65
+ ```
66
+
67
+ ### `list`
68
+
69
+ 列出已注册工具。
70
+
71
+ ```javascript
72
+ list(): object[]
73
+ ```
74
+
75
+ ### `run`
76
+
77
+ 执行指定工具。
78
+
79
+ ```javascript
80
+ run(name: string, input: any): Promise<any>
81
+ ```
82
+
83
+ ## 使用规范
84
+
85
+ - `register`时缺少名称会被忽略,同名注册会覆盖。
86
+ - `run`找不到工具时会抛错;工具对象没有`run`实现时常见返回`null`。
87
+ - 目前会内建工具`mn.search`,执行前可先`list/get`检查。
88
+
89
+ ## 相关
90
+
91
+ - [SearchManager](/reference/global/search-manager/)
@@ -58,7 +58,7 @@ studyController(window: UIWindow): StudyController
58
58
 
59
59
  | Name | Type | Description |
60
60
  | :--- | :--- | :--- |
61
- | `window` | `UIWindow` | 目标窗口(通常传 `self.window`)。 |
61
+ | `window` | `UIWindow` | 目标窗口(默认传 `self.window`)。 |
62
62
 
63
63
  **Return Value:**
64
64
 
@@ -163,7 +163,7 @@ queryCommandWithKeyFlagsInWindow(command: string, keyFlags: any, window: UIWindo
163
163
 
164
164
  该接口用于查询某个内建command在“当前窗口+修饰键(keyFlags)”上下文里是否可用,以及是否处于勾选态。你可以用它来:
165
165
 
166
- - 判断某个command当前是否能执行(例如编辑态/无焦点时可能禁用)。
166
+ - 判断某个command当前是否能执行(例如编辑态/无焦点时会禁用)。
167
167
  - 在调用`processCommandWithKeyFlagsInWindow(...)`之前做保护性判断。
168
168
 
169
169
  已确认返回值至少包含:
@@ -193,7 +193,7 @@ processCommandWithKeyFlagsInWindow(command: string, keyFlags: any, window: UIWin
193
193
 
194
194
  这里的command同样是MarginNote内建命令的字符串标识(可理解为某个菜单动作/操作的ID)。只要command字符串是系统可识别的命令标识,就可以直接调用执行(例如已确认`ZoomToFit`可执行)。
195
195
 
196
- 可用的command列表没有单一集中枚举,建议参考内建command清单页,并在运行时用`queryCommandWithKeyFlagsInWindow`确认`disabled:false`后再执行:
196
+ 可用的command列表没有单一集中枚举,参考内建command清单页,并用`queryCommandWithKeyFlagsInWindow`确认`disabled:false`后再执行:
197
197
 
198
198
  - [内建command清单](/reference/global/builtin-commands/)
199
199
 
@@ -288,7 +288,7 @@ unregsiterHtmlCommentEditor(commentTag: string): void
288
288
 
289
289
  ### `importDocument`
290
290
 
291
- 导入文档(由运行时实现决定入库位置与返回值含义)。
291
+ 导入文档,使得在MN可访问到的范围内的文档在文档库中可见。
292
292
 
293
293
  ```javascript
294
294
  importDocument(fileUrl: string): string
@@ -3,12 +3,12 @@ title: 内建command清单
3
3
  description: MarginNote内建command字符串速查表(用于query/processCommand调用)。
4
4
  ---
5
5
 
6
- 本页汇总一些常见内建command字符串。它们通常用于:
6
+ 本页汇总一些常见内建command字符串。它们默认用于:
7
7
 
8
8
  - `Application.queryCommandWithKeyFlagsInWindow(command,keyFlags,window)`查询可用性与checked状态。
9
9
  - `Application.processCommandWithKeyFlagsInWindow(command,keyFlags,window)`执行内建命令。
10
10
 
11
- 注意:该清单可能随版本变化;当某个command在运行时表现为`disabled:true`,可能是当前上下文不可用,也可能是版本差异导致不存在。
11
+ 注意:该清单会随版本变化;当某个command表现为`disabled:true`,是当前上下文不可用,也是版本差异导致不存在。
12
12
 
13
13
  ## Root(全局分发)
14
14
 
@@ -3,7 +3,7 @@ title: Database
3
3
  description: MarginNote 核心数据库访问对象(MbModelTool),用于获取/修改笔记、笔记本与文档。
4
4
  ---
5
5
 
6
- `Database` 即底层类型 `MbModelTool` 的单例,用于访问 MarginNote 的笔记与文档数据。通过 `Database.sharedInstance()` 获取。修改数据后建议使用 [UndoManager](/reference/utility/undo-manager/) 的 `undoGrouping(title, topicid, fn)` 包裹,并调用 `Application.sharedInstance().refreshAfterDBChanged(topicid)` 刷新界面。
6
+ `Database` 即底层类型 `MbModelTool` 的单例,用于访问 MarginNote 的笔记与文档数据。通过 `Database.sharedInstance()` 获取。修改数据后使用 [UndoManager](/reference/utility/undo-manager/) 的 `undoGrouping(title, topicid, fn)` 包裹,并调用 `Application.sharedInstance().refreshAfterDBChanged(topicid)` 刷新界面。
7
7
 
8
8
  ## 类成员 (Class members)
9
9
 
@@ -176,7 +176,7 @@ allDocuments(): NSArray
176
176
 
177
177
  ### `savedb`
178
178
 
179
- 手动保存数据库到磁盘。慎用,通常由系统自动管理。
179
+ 手动保存数据库到磁盘。慎用,默认由系统自动管理。
180
180
 
181
181
  ```javascript
182
182
  savedb(): void
@@ -371,7 +371,7 @@ getSketchNotesForMindMap(topicid: string): NSArray
371
371
 
372
372
  ### `transDictionaryToJSCompatible` / `transArrayToJSCompatible`
373
373
 
374
- 将原生容器转换为更易于 JS 使用的结构(行为以运行时实现为准)。
374
+ 将原生容器转换为更易于 JS 使用的结构。
375
375
 
376
376
  ```javascript
377
377
  static transDictionaryToJSCompatible(dic: NSDictionary): NSDictionary
@@ -387,7 +387,7 @@ static transArrayToJSCompatible(arr: NSArray): NSArray
387
387
 
388
388
  **Return Value:**
389
389
 
390
- - `any`: 导入结果(通常为导入的笔记本对象或状态)。
390
+ - `any`: 导入结果(为导入的笔记本对象或状态)。
391
391
 
392
392
  ## 相关
393
393
 
@@ -0,0 +1,21 @@
1
+ ---
2
+ title: Document
3
+ description: 全局别名对象。语义上等同于MbBook。
4
+ ---
5
+
6
+ `Document`是插件环境的全局导出别名,语义上等同于[MbBook](/reference/marginnote/mb-book/)。
7
+
8
+ ## 关系说明
9
+
10
+ - `Document`与`MbBook`是同一文档对象在全局入口层的别名语义,不是两套模型。
11
+ - 主键语义为`docMd5`。
12
+ - 对象生命周期由宿主数据层管理,不把投影字段当强一致缓存长期持有。
13
+
14
+ ## 用法
15
+
16
+ 完整属性与方法请直接参考[MbBook](/reference/marginnote/mb-book/)。
17
+
18
+ ## 相关
19
+
20
+ - [MbBook](/reference/marginnote/mb-book/)
21
+ - [Database](/reference/global/database/)
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  title: 全局入口对象(Global Variables)
3
- description: MarginNote插件运行时直接注入到JS环境的全局变量清单与用法入口。
3
+ description: MarginNote插件环境直接注入到JS环境的全局变量清单与用法入口。
4
4
  ---
5
- 本页列出MarginNote插件运行时可直接使用的全局变量名。这些全局名对应的对象通常是单例、工厂对象、或系统级入口。
5
+ 本页列出MarginNote插件环境可直接使用的全局变量名。这些全局名对应的对象默认是单例、工厂对象、或系统级入口。
6
6
 
7
7
  > 说明:本页仅做索引。每个对象的完整属性/方法请进入对应参考页。
8
8
 
@@ -42,6 +42,16 @@ description: MarginNote插件运行时直接注入到JS环境的全局变量清
42
42
  <td>数据库访问</td>
43
43
  <td><a href="/reference/global/database/">Database</a></td>
44
44
  </tr>
45
+ <tr>
46
+ <td><code>Document</code></td>
47
+ <td>文档入口别名(等同MbBook)</td>
48
+ <td><a href="/reference/global/document/">Document</a></td>
49
+ </tr>
50
+ <tr>
51
+ <td><code>Notebook</code></td>
52
+ <td>笔记本入口别名(等同MbTopic)</td>
53
+ <td><a href="/reference/global/notebook/">Notebook</a></td>
54
+ </tr>
45
55
  <tr>
46
56
  <td><code>Note</code></td>
47
57
  <td>创建笔记</td>
@@ -59,9 +69,14 @@ description: MarginNote插件运行时直接注入到JS环境的全局变量清
59
69
  </tr>
60
70
  <tr>
61
71
  <td><code>SearchManager</code></td>
62
- <td>搜索与索引(<code>Application.sharedInstance().searchManager</code>)</td>
72
+ <td>搜索与索引</td>
63
73
  <td><a href="/reference/global/search-manager/">SearchManager</a></td>
64
74
  </tr>
75
+ <tr>
76
+ <td><code>AgentTools</code></td>
77
+ <td>工具注册与执行</td>
78
+ <td><a href="/reference/global/agent-tools/">AgentTools</a></td>
79
+ </tr>
65
80
  </tbody>
66
81
  </table>
67
82
 
@@ -207,15 +222,16 @@ description: MarginNote插件运行时直接注入到JS环境的全局变量清
207
222
 
208
223
  ## 其它对象
209
224
 
210
- 本页不再列出Foundation/UIKit/QuartzCore与JavaScript原生环境的全量对象清单;它们的参考条目请在侧边栏对应分组中查阅。下面仅给出常见入口与例子。
225
+ MarginNote插件环境还可用绝大部分的Foundation/UIKit/QuartzCore与JavaScript原生环境,它们的参考条目请在侧边栏对应分组中查阅,下面仅给出常见入口与例子。
211
226
 
212
227
  ### Foundation
213
228
 
214
- 多数Foundation类可直接使用(通常以类/单例形式导出)。例:
229
+ 多数Foundation类可直接使用(默认以类/单例形式导出)。例:
215
230
 
216
231
  - [NSFileManager](/reference/foundation/ns-file-manager/)
217
232
  - [NSData](/reference/foundation/ns-data/)
218
233
  - [NSTimer](/reference/foundation/ns-timer/)
234
+ - [NSUbiquitousKeyValueStore](/reference/foundation/ns-ubiquitous-key-value-store/)
219
235
 
220
236
  ### UIKit
221
237
 
@@ -232,6 +248,7 @@ description: MarginNote插件运行时直接注入到JS环境的全局变量清
232
248
  - [CALayer](/reference/quartzcore/calayer/)
233
249
  - [CAShapeLayer](/reference/quartzcore/cashape-layer/)
234
250
  - [CATransaction](/reference/quartzcore/catransaction/)
251
+ - [CAEmitterLayer](/reference/quartzcore/caemitter-layer/)
235
252
 
236
253
  ### JavaScript原生环境
237
254
 
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  title: JSB
3
- description: JavaScript 桥接核心,连接插件 JS 与运行时对象的入口对象。
3
+ description: JavaScript 桥接核心,连接插件 JS 与宿主对象的入口对象。
4
4
  ---
5
- JSB(JavaScript Bridge)是插件运行时的桥接核心对象:类定义、插件入口、日志与包内脚本加载都通过它完成。
5
+ JSB(JavaScript Bridge)是插件环境的桥接核心对象:类定义、插件入口、日志与包内脚本加载都通过它完成。
6
6
 
7
7
  ## 实例成员 (Instance members)
8
8
 
9
- `JSB` 是全局对象,通常不以“实例化”的方式使用。
9
+ `JSB` 是全局对象,默认不以“实例化”的方式使用。
10
10
 
11
11
  ## 类成员 (Class members)
12
12
 
@@ -14,7 +14,9 @@ JSB(JavaScript Bridge)是插件运行时的桥接核心对象:类定义、
14
14
 
15
15
  ### `defineClass`
16
16
 
17
- 定义一个可被运行时识别并回调的类,**所有插件的入口**。
17
+ 定义一个可被插件环境识别并回调的类,只在插件入口处使用。
18
+
19
+ 注意:该方法定义的类非js的类,this并不会指向该类的实例,而应使用[self](/reference/global/self/) 替代
18
20
 
19
21
  ```javascript
20
22
  defineClass(declaration: string, instanceMembers: object, classMembers?: object): any
@@ -3,13 +3,13 @@ title: Note
3
3
  description: 全局注入的笔记工厂对象,用于创建新笔记(MbBookNote)。
4
4
  ---
5
5
 
6
- `Note` 是 MarginNote 运行时注入到 JavaScript 环境中的**全局对象**之一,用于创建新笔记。
6
+ `Note` 是 MarginNote 宿主注入到 JavaScript 环境中的**全局对象**之一,用于创建新笔记。
7
7
 
8
8
  需要特别注意:创建笔记的方法**不在** `MbBookNote` 类上,而是在全局 `Note` 对象上(这是由 MarginNote 的 JSExport 导出方式决定的)。
9
9
 
10
10
  ## 实例成员 (Instance members)
11
11
 
12
- `Note` 是全局对象,通常不以实例形式使用。
12
+ `Note` 是全局对象,默认不以实例形式使用。
13
13
 
14
14
  ## 类成员 (Class members)
15
15