mn-docs-mcp 0.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 (529) hide show
  1. package/.env.example +4 -0
  2. package/.vscode/extensions.json +4 -0
  3. package/.vscode/launch.json +11 -0
  4. package/README.md +99 -0
  5. package/astro.config.mjs +126 -0
  6. package/package.json +30 -0
  7. package/pnpm-workspace.yaml +4 -0
  8. package/public/favicon.svg +1 -0
  9. package/scripts/mcp/build-index.mjs +9 -0
  10. package/scripts/mcp/cli.mjs +61 -0
  11. package/scripts/mcp/lib.mjs +303 -0
  12. package/scripts/mcp/server-http.mjs +74 -0
  13. package/scripts/mcp/server.mjs +91 -0
  14. package/src/assets/houston.webp +0 -0
  15. package/src/client/jsb-api-footer.ts +242 -0
  16. package/src/components/Footer.astro +57 -0
  17. package/src/components/Search.astro +330 -0
  18. package/src/content/docs/guides/contributing.md +82 -0
  19. package/src/content/docs/guides/cookbook/addon-settings.md +53 -0
  20. package/src/content/docs/guides/cookbook/append-selection-as-comment.md +46 -0
  21. package/src/content/docs/guides/cookbook/batch-rename-notes.md +53 -0
  22. package/src/content/docs/guides/cookbook/embed-webview-panel.md +158 -0
  23. package/src/content/docs/guides/cookbook/export-notebook.md +48 -0
  24. package/src/content/docs/guides/cookbook/focus-note-in-mindmap.md +34 -0
  25. package/src/content/docs/guides/cookbook/network-api-call.md +135 -0
  26. package/src/content/docs/guides/cookbook/webview-bidirectional-js.md +112 -0
  27. package/src/content/docs/guides/getting-started.md +88 -0
  28. package/src/content/docs/guides/lifecycle-and-window.md +76 -0
  29. package/src/content/docs/guides/mindmap-and-selection.md +76 -0
  30. package/src/content/docs/guides/native-ui.md +136 -0
  31. package/src/content/docs/guides/network-requests.md +309 -0
  32. package/src/content/docs/guides/notes-and-database.md +99 -0
  33. package/src/content/docs/guides/shortcut-keys.md +105 -0
  34. package/src/content/docs/guides/storage-and-files.md +91 -0
  35. package/src/content/docs/guides/toolbar-and-commands.md +64 -0
  36. package/src/content/docs/index.mdx +44 -0
  37. package/src/content/docs/reference/black-box.md +19 -0
  38. package/src/content/docs/reference/foundation/ns-array.md +699 -0
  39. package/src/content/docs/reference/foundation/ns-attributed-string.md +379 -0
  40. package/src/content/docs/reference/foundation/ns-character-set.md +436 -0
  41. package/src/content/docs/reference/foundation/ns-counted-set.md +78 -0
  42. package/src/content/docs/reference/foundation/ns-data.md +183 -0
  43. package/src/content/docs/reference/foundation/ns-date-components.md +24 -0
  44. package/src/content/docs/reference/foundation/ns-date-formatter.md +70 -0
  45. package/src/content/docs/reference/foundation/ns-date.md +236 -0
  46. package/src/content/docs/reference/foundation/ns-decimal-number.md +437 -0
  47. package/src/content/docs/reference/foundation/ns-dictionary.md +376 -0
  48. package/src/content/docs/reference/foundation/ns-enumerator.md +36 -0
  49. package/src/content/docs/reference/foundation/ns-error.md +75 -0
  50. package/src/content/docs/reference/foundation/ns-file-handle.md +445 -0
  51. package/src/content/docs/reference/foundation/ns-file-manager.md +275 -0
  52. package/src/content/docs/reference/foundation/ns-formatter.md +131 -0
  53. package/src/content/docs/reference/foundation/ns-hash-table.md +304 -0
  54. package/src/content/docs/reference/foundation/ns-http-url-response.md +73 -0
  55. package/src/content/docs/reference/foundation/ns-index-path.md +185 -0
  56. package/src/content/docs/reference/foundation/ns-index-set.md +527 -0
  57. package/src/content/docs/reference/foundation/ns-json-serialization.md +24 -0
  58. package/src/content/docs/reference/foundation/ns-keyed-archiver.md +364 -0
  59. package/src/content/docs/reference/foundation/ns-keyed-unarchiver.md +324 -0
  60. package/src/content/docs/reference/foundation/ns-locale.md +82 -0
  61. package/src/content/docs/reference/foundation/ns-map-table.md +216 -0
  62. package/src/content/docs/reference/foundation/ns-mutable-array.md +452 -0
  63. package/src/content/docs/reference/foundation/ns-mutable-attributed-string.md +336 -0
  64. package/src/content/docs/reference/foundation/ns-mutable-character-set.md +132 -0
  65. package/src/content/docs/reference/foundation/ns-mutable-data.md +206 -0
  66. package/src/content/docs/reference/foundation/ns-mutable-dictionary.md +176 -0
  67. package/src/content/docs/reference/foundation/ns-mutable-index-set.md +155 -0
  68. package/src/content/docs/reference/foundation/ns-mutable-ordered-set.md +465 -0
  69. package/src/content/docs/reference/foundation/ns-mutable-set.md +189 -0
  70. package/src/content/docs/reference/foundation/ns-mutable-string.md +190 -0
  71. package/src/content/docs/reference/foundation/ns-mutable-url-request.md +26 -0
  72. package/src/content/docs/reference/foundation/ns-notification-center.md +30 -0
  73. package/src/content/docs/reference/foundation/ns-notification.md +73 -0
  74. package/src/content/docs/reference/foundation/ns-null.md +24 -0
  75. package/src/content/docs/reference/foundation/ns-number-formatter.md +147 -0
  76. package/src/content/docs/reference/foundation/ns-number.md +393 -0
  77. package/src/content/docs/reference/foundation/ns-operation-queue.md +227 -0
  78. package/src/content/docs/reference/foundation/ns-operation.md +248 -0
  79. package/src/content/docs/reference/foundation/ns-ordered-set.md +706 -0
  80. package/src/content/docs/reference/foundation/ns-pointer-array.md +192 -0
  81. package/src/content/docs/reference/foundation/ns-predicate.md +199 -0
  82. package/src/content/docs/reference/foundation/ns-proxy.md +178 -0
  83. package/src/content/docs/reference/foundation/ns-scanner.md +448 -0
  84. package/src/content/docs/reference/foundation/ns-set.md +586 -0
  85. package/src/content/docs/reference/foundation/ns-simple-c-string.md +20 -0
  86. package/src/content/docs/reference/foundation/ns-time-zone.md +86 -0
  87. package/src/content/docs/reference/foundation/ns-timer.md +24 -0
  88. package/src/content/docs/reference/foundation/ns-url-components.md +80 -0
  89. package/src/content/docs/reference/foundation/ns-url-connection.md +169 -0
  90. package/src/content/docs/reference/foundation/ns-url-request.md +224 -0
  91. package/src/content/docs/reference/foundation/ns-url-response.md +97 -0
  92. package/src/content/docs/reference/foundation/ns-url.md +31 -0
  93. package/src/content/docs/reference/foundation/ns-user-defaults.md +302 -0
  94. package/src/content/docs/reference/foundation/ns-uuid.md +52 -0
  95. package/src/content/docs/reference/foundation/ns-value.md +194 -0
  96. package/src/content/docs/reference/global/application.md +301 -0
  97. package/src/content/docs/reference/global/builtin-commands.md +294 -0
  98. package/src/content/docs/reference/global/database.md +395 -0
  99. package/src/content/docs/reference/global/global-variables.md +32 -0
  100. package/src/content/docs/reference/global/jsb.md +89 -0
  101. package/src/content/docs/reference/global/note.md +64 -0
  102. package/src/content/docs/reference/global/popup-menu-item.md +18 -0
  103. package/src/content/docs/reference/global/popup-menu.md +38 -0
  104. package/src/content/docs/reference/global/search-manager.md +51 -0
  105. package/src/content/docs/reference/global/self.md +28 -0
  106. package/src/content/docs/reference/js-runtime.md +28 -0
  107. package/src/content/docs/reference/marginnote/document-controller.md +45 -0
  108. package/src/content/docs/reference/marginnote/jsextension.md +119 -0
  109. package/src/content/docs/reference/marginnote/mb-book-note.md +192 -0
  110. package/src/content/docs/reference/marginnote/mb-book.md +35 -0
  111. package/src/content/docs/reference/marginnote/mb-model-tool.md +66 -0
  112. package/src/content/docs/reference/marginnote/mb-topic.md +36 -0
  113. package/src/content/docs/reference/marginnote/mindmap-node.md +27 -0
  114. package/src/content/docs/reference/marginnote/mindmap-view.md +24 -0
  115. package/src/content/docs/reference/marginnote/note-comment.md +29 -0
  116. package/src/content/docs/reference/marginnote/notebook-controller.md +36 -0
  117. package/src/content/docs/reference/marginnote/outline-view.md +23 -0
  118. package/src/content/docs/reference/marginnote/reader-controller.md +26 -0
  119. package/src/content/docs/reference/marginnote/study-controller.md +100 -0
  120. package/src/content/docs/reference/quartzcore/caanimation-group.md +44 -0
  121. package/src/content/docs/reference/quartzcore/caanimation.md +23 -0
  122. package/src/content/docs/reference/quartzcore/cabasic-animation.md +19 -0
  123. package/src/content/docs/reference/quartzcore/cagradient-layer.md +27 -0
  124. package/src/content/docs/reference/quartzcore/cakeyframe-animation.md +19 -0
  125. package/src/content/docs/reference/quartzcore/calayer.md +135 -0
  126. package/src/content/docs/reference/quartzcore/camedia-timing-function.md +25 -0
  127. package/src/content/docs/reference/quartzcore/caproperty-animation.md +46 -0
  128. package/src/content/docs/reference/quartzcore/careplicator-layer.md +27 -0
  129. package/src/content/docs/reference/quartzcore/cascroll-layer.md +21 -0
  130. package/src/content/docs/reference/quartzcore/cashape-layer.md +34 -0
  131. package/src/content/docs/reference/quartzcore/catext-layer.md +28 -0
  132. package/src/content/docs/reference/quartzcore/catiled-layer.md +26 -0
  133. package/src/content/docs/reference/quartzcore/catransaction.md +46 -0
  134. package/src/content/docs/reference/quartzcore/catransform-layer.md +18 -0
  135. package/src/content/docs/reference/quartzcore/catransition.md +44 -0
  136. package/src/content/docs/reference/quartzcore/cavalue-function.md +22 -0
  137. package/src/content/docs/reference/uikit/ns-mutable-paragraph-style.md +20 -0
  138. package/src/content/docs/reference/uikit/ns-paragraph-style.md +20 -0
  139. package/src/content/docs/reference/uikit/ns-text-storage.md +20 -0
  140. package/src/content/docs/reference/uikit/uiactivity-indicator-view.md +20 -0
  141. package/src/content/docs/reference/uikit/uialertview.md +25 -0
  142. package/src/content/docs/reference/uikit/uiapplication.md +128 -0
  143. package/src/content/docs/reference/uikit/uibar-button-item.md +20 -0
  144. package/src/content/docs/reference/uikit/uibar-item.md +20 -0
  145. package/src/content/docs/reference/uikit/uibezier-path.md +143 -0
  146. package/src/content/docs/reference/uikit/uibutton.md +27 -0
  147. package/src/content/docs/reference/uikit/uicollection-view-cell.md +24 -0
  148. package/src/content/docs/reference/uikit/uicollection-view-controller.md +32 -0
  149. package/src/content/docs/reference/uikit/uicollection-view-layout-attributes.md +43 -0
  150. package/src/content/docs/reference/uikit/uicollection-view-layout.md +60 -0
  151. package/src/content/docs/reference/uikit/uicollection-view.md +83 -0
  152. package/src/content/docs/reference/uikit/uicolor.md +23 -0
  153. package/src/content/docs/reference/uikit/uicontrol.md +20 -0
  154. package/src/content/docs/reference/uikit/uidate-picker.md +37 -0
  155. package/src/content/docs/reference/uikit/uidevice.md +83 -0
  156. package/src/content/docs/reference/uikit/uievent.md +36 -0
  157. package/src/content/docs/reference/uikit/uifont.md +39 -0
  158. package/src/content/docs/reference/uikit/uigesture-recognizer.md +152 -0
  159. package/src/content/docs/reference/uikit/uiimage-picker-controller.md +41 -0
  160. package/src/content/docs/reference/uikit/uiimage-view.md +38 -0
  161. package/src/content/docs/reference/uikit/uiimage.md +58 -0
  162. package/src/content/docs/reference/uikit/uikey-command.md +31 -0
  163. package/src/content/docs/reference/uikit/uilabel.md +27 -0
  164. package/src/content/docs/reference/uikit/uilocal-notification.md +28 -0
  165. package/src/content/docs/reference/uikit/uilong-press-gesture-recognizer.md +25 -0
  166. package/src/content/docs/reference/uikit/uinavigation-bar.md +52 -0
  167. package/src/content/docs/reference/uikit/uinavigation-controller.md +46 -0
  168. package/src/content/docs/reference/uikit/uinavigation-item.md +42 -0
  169. package/src/content/docs/reference/uikit/uipage-control.md +35 -0
  170. package/src/content/docs/reference/uikit/uipage-view-controller.md +37 -0
  171. package/src/content/docs/reference/uikit/uipan-gesture-recognizer.md +32 -0
  172. package/src/content/docs/reference/uikit/uipasteboard.md +24 -0
  173. package/src/content/docs/reference/uikit/uipicker-view.md +37 -0
  174. package/src/content/docs/reference/uikit/uipinch-gesture-recognizer.md +23 -0
  175. package/src/content/docs/reference/uikit/uipopover-controller.md +39 -0
  176. package/src/content/docs/reference/uikit/uiresponder.md +20 -0
  177. package/src/content/docs/reference/uikit/uirotation-gesture-recognizer.md +23 -0
  178. package/src/content/docs/reference/uikit/uiscreen-mode.md +17 -0
  179. package/src/content/docs/reference/uikit/uiscreen.md +65 -0
  180. package/src/content/docs/reference/uikit/uiscrollview.md +134 -0
  181. package/src/content/docs/reference/uikit/uisearch-bar.md +58 -0
  182. package/src/content/docs/reference/uikit/uisegmented-control.md +64 -0
  183. package/src/content/docs/reference/uikit/uislider.md +50 -0
  184. package/src/content/docs/reference/uikit/uiswipe-gesture-recognizer.md +23 -0
  185. package/src/content/docs/reference/uikit/uiswitch.md +22 -0
  186. package/src/content/docs/reference/uikit/uitab-bar-controller.md +39 -0
  187. package/src/content/docs/reference/uikit/uitab-bar-item.md +34 -0
  188. package/src/content/docs/reference/uikit/uitab-bar.md +44 -0
  189. package/src/content/docs/reference/uikit/uitable-view-cell.md +57 -0
  190. package/src/content/docs/reference/uikit/uitable-view-controller.md +30 -0
  191. package/src/content/docs/reference/uikit/uitable-view.md +100 -0
  192. package/src/content/docs/reference/uikit/uitap-gesture-recognizer.md +20 -0
  193. package/src/content/docs/reference/uikit/uitext-input-mode.md +47 -0
  194. package/src/content/docs/reference/uikit/uitext-position.md +44 -0
  195. package/src/content/docs/reference/uikit/uitext-range.md +42 -0
  196. package/src/content/docs/reference/uikit/uitext-view.md +46 -0
  197. package/src/content/docs/reference/uikit/uitextfield.md +32 -0
  198. package/src/content/docs/reference/uikit/uitoolbar.md +35 -0
  199. package/src/content/docs/reference/uikit/uitouch.md +39 -0
  200. package/src/content/docs/reference/uikit/uiview-controller.md +36 -0
  201. package/src/content/docs/reference/uikit/uiview.md +47 -0
  202. package/src/content/docs/reference/uikit/uiwebview.md +229 -0
  203. package/src/content/docs/reference/uikit/uiwindow.md +47 -0
  204. package/src/content/docs/reference/utility/menu-controller.md +27 -0
  205. package/src/content/docs/reference/utility/speech-manager.md +118 -0
  206. package/src/content/docs/reference/utility/sqlite-database.md +201 -0
  207. package/src/content/docs/reference/utility/sqlite-result-set.md +266 -0
  208. package/src/content/docs/reference/utility/sqlite-statement.md +44 -0
  209. package/src/content/docs/reference/utility/undo-manager.md +89 -0
  210. package/src/content/docs/reference/utility/zip-archive.md +29 -0
  211. package/src/content.config.ts +7 -0
  212. package/src/definitions/Foundation/JSBFoundation.h +9 -0
  213. package/src/definitions/Foundation/JSBFoundation.m +530 -0
  214. package/src/definitions/Foundation/JSBNSArray.h +81 -0
  215. package/src/definitions/Foundation/JSBNSAssertionHandler.h +23 -0
  216. package/src/definitions/Foundation/JSBNSAttributedString.h +42 -0
  217. package/src/definitions/Foundation/JSBNSBlockOperation.h +20 -0
  218. package/src/definitions/Foundation/JSBNSBundle.h +80 -0
  219. package/src/definitions/Foundation/JSBNSByteCountFormatter.h +28 -0
  220. package/src/definitions/Foundation/JSBNSCache.h +31 -0
  221. package/src/definitions/Foundation/JSBNSCachedURLResponse.h +22 -0
  222. package/src/definitions/Foundation/JSBNSCalendar.h +88 -0
  223. package/src/definitions/Foundation/JSBNSCharacterSet.h +50 -0
  224. package/src/definitions/Foundation/JSBNSCoder.h +88 -0
  225. package/src/definitions/Foundation/JSBNSComparisonPredicate.h +27 -0
  226. package/src/definitions/Foundation/JSBNSCompoundPredicate.h +23 -0
  227. package/src/definitions/Foundation/JSBNSCondition.h +22 -0
  228. package/src/definitions/Foundation/JSBNSConditionLock.h +26 -0
  229. package/src/definitions/Foundation/JSBNSConstantString.h +18 -0
  230. package/src/definitions/Foundation/JSBNSCountedSet.h +21 -0
  231. package/src/definitions/Foundation/JSBNSData.h +44 -0
  232. package/src/definitions/Foundation/JSBNSDataDetector.h +20 -0
  233. package/src/definitions/Foundation/JSBNSDate.h +37 -0
  234. package/src/definitions/Foundation/JSBNSDateComponents.h +56 -0
  235. package/src/definitions/Foundation/JSBNSDateFormatter.h +91 -0
  236. package/src/definitions/Foundation/JSBNSDecimalNumber.h +47 -0
  237. package/src/definitions/Foundation/JSBNSDecimalNumberHandler.h +23 -0
  238. package/src/definitions/Foundation/JSBNSDictionary.h +79 -0
  239. package/src/definitions/Foundation/JSBNSDirectoryEnumerator.h +25 -0
  240. package/src/definitions/Foundation/JSBNSEnumerator.h +18 -0
  241. package/src/definitions/Foundation/JSBNSError.h +28 -0
  242. package/src/definitions/Foundation/JSBNSException.h +30 -0
  243. package/src/definitions/Foundation/JSBNSExpression.h +48 -0
  244. package/src/definitions/Foundation/JSBNSFileCoordinator.h +29 -0
  245. package/src/definitions/Foundation/JSBNSFileHandle.h +51 -0
  246. package/src/definitions/Foundation/JSBNSFileManager.h +82 -0
  247. package/src/definitions/Foundation/JSBNSFileSecurity.h +32 -0
  248. package/src/definitions/Foundation/JSBNSFileVersion.h +35 -0
  249. package/src/definitions/Foundation/JSBNSFileWrapper.h +41 -0
  250. package/src/definitions/Foundation/JSBNSFormatter.h +23 -0
  251. package/src/definitions/Foundation/JSBNSHTTPCookie.h +34 -0
  252. package/src/definitions/Foundation/JSBNSHTTPCookieStorage.h +26 -0
  253. package/src/definitions/Foundation/JSBNSHTTPURLResponse.h +21 -0
  254. package/src/definitions/Foundation/JSBNSHashTable.h +38 -0
  255. package/src/definitions/Foundation/JSBNSIndexPath.h +34 -0
  256. package/src/definitions/Foundation/JSBNSIndexSet.h +47 -0
  257. package/src/definitions/Foundation/JSBNSInputStream.h +28 -0
  258. package/src/definitions/Foundation/JSBNSInvocation.h +32 -0
  259. package/src/definitions/Foundation/JSBNSInvocationOperation.h +20 -0
  260. package/src/definitions/Foundation/JSBNSJSONSerialization.h +19 -0
  261. package/src/definitions/Foundation/JSBNSKeyedArchiver.h +40 -0
  262. package/src/definitions/Foundation/JSBNSKeyedUnarchiver.h +38 -0
  263. package/src/definitions/Foundation/JSBNSLinguisticTagger.h +31 -0
  264. package/src/definitions/Foundation/JSBNSLocale.h +39 -0
  265. package/src/definitions/Foundation/JSBNSLock.h +20 -0
  266. package/src/definitions/Foundation/JSBNSMachPort.h +26 -0
  267. package/src/definitions/Foundation/JSBNSMapTable.h +34 -0
  268. package/src/definitions/Foundation/JSBNSMessagePort.h +15 -0
  269. package/src/definitions/Foundation/JSBNSMetadataItem.h +22 -0
  270. package/src/definitions/Foundation/JSBNSMetadataQuery.h +53 -0
  271. package/src/definitions/Foundation/JSBNSMetadataQueryAttributeValueTuple.h +21 -0
  272. package/src/definitions/Foundation/JSBNSMetadataQueryResultGroup.h +24 -0
  273. package/src/definitions/Foundation/JSBNSMethodSignature.h +24 -0
  274. package/src/definitions/Foundation/JSBNSMutableArray.h +51 -0
  275. package/src/definitions/Foundation/JSBNSMutableAttributedString.h +39 -0
  276. package/src/definitions/Foundation/JSBNSMutableCharacterSet.h +26 -0
  277. package/src/definitions/Foundation/JSBNSMutableData.h +29 -0
  278. package/src/definitions/Foundation/JSBNSMutableDictionary.h +29 -0
  279. package/src/definitions/Foundation/JSBNSMutableIndexSet.h +25 -0
  280. package/src/definitions/Foundation/JSBNSMutableOrderedSet.h +50 -0
  281. package/src/definitions/Foundation/JSBNSMutableSet.h +28 -0
  282. package/src/definitions/Foundation/JSBNSMutableString.h +31 -0
  283. package/src/definitions/Foundation/JSBNSMutableURLRequest.h +38 -0
  284. package/src/definitions/Foundation/JSBNSNetService.h +43 -0
  285. package/src/definitions/Foundation/JSBNSNetServiceBrowser.h +33 -0
  286. package/src/definitions/Foundation/JSBNSNotification.h +23 -0
  287. package/src/definitions/Foundation/JSBNSNotificationCenter.h +27 -0
  288. package/src/definitions/Foundation/JSBNSNotificationQueue.h +22 -0
  289. package/src/definitions/Foundation/JSBNSNull.h +17 -0
  290. package/src/definitions/Foundation/JSBNSNumber.h +51 -0
  291. package/src/definitions/Foundation/JSBNSNumberFormatter.h +136 -0
  292. package/src/definitions/Foundation/JSBNSOperation.h +34 -0
  293. package/src/definitions/Foundation/JSBNSOperationQueue.h +32 -0
  294. package/src/definitions/Foundation/JSBNSOrderedSet.h +70 -0
  295. package/src/definitions/Foundation/JSBNSOrthography.h +27 -0
  296. package/src/definitions/Foundation/JSBNSOutputStream.h +33 -0
  297. package/src/definitions/Foundation/JSBNSPipe.h +26 -0
  298. package/src/definitions/Foundation/JSBNSPointerArray.h +33 -0
  299. package/src/definitions/Foundation/JSBNSPort.h +27 -0
  300. package/src/definitions/Foundation/JSBNSPredicate.h +31 -0
  301. package/src/definitions/Foundation/JSBNSProcessInfo.h +42 -0
  302. package/src/definitions/Foundation/JSBNSProgress.h +45 -0
  303. package/src/definitions/Foundation/JSBNSPropertyListSerialization.h +24 -0
  304. package/src/definitions/Foundation/JSBNSProxy.h +29 -0
  305. package/src/definitions/Foundation/JSBNSPurgeableData.h +16 -0
  306. package/src/definitions/Foundation/JSBNSRecursiveLock.h +20 -0
  307. package/src/definitions/Foundation/JSBNSRegularExpression.h +35 -0
  308. package/src/definitions/Foundation/JSBNSRunLoop.h +38 -0
  309. package/src/definitions/Foundation/JSBNSScanner.h +44 -0
  310. package/src/definitions/Foundation/JSBNSSet.h +52 -0
  311. package/src/definitions/Foundation/JSBNSSimpleCString.h +18 -0
  312. package/src/definitions/Foundation/JSBNSSortDescriptor.h +32 -0
  313. package/src/definitions/Foundation/JSBNSStream.h +26 -0
  314. package/src/definitions/Foundation/JSBNSString.h +178 -0
  315. package/src/definitions/Foundation/JSBNSTextCheckingResult.h +52 -0
  316. package/src/definitions/Foundation/JSBNSThread.h +46 -0
  317. package/src/definitions/Foundation/JSBNSTimeZone.h +46 -0
  318. package/src/definitions/Foundation/JSBNSTimer.h +29 -0
  319. package/src/definitions/Foundation/JSBNSURL.h +110 -0
  320. package/src/definitions/Foundation/JSBNSURLAuthenticationChallenge.h +24 -0
  321. package/src/definitions/Foundation/JSBNSURLCache.h +30 -0
  322. package/src/definitions/Foundation/JSBNSURLComponents.h +38 -0
  323. package/src/definitions/Foundation/JSBNSURLConnection.h +45 -0
  324. package/src/definitions/Foundation/JSBNSURLCredential.h +30 -0
  325. package/src/definitions/Foundation/JSBNSURLCredentialStorage.h +25 -0
  326. package/src/definitions/Foundation/JSBNSURLProtectionSpace.h +29 -0
  327. package/src/definitions/Foundation/JSBNSURLProtocol.h +32 -0
  328. package/src/definitions/Foundation/JSBNSURLRequest.h +40 -0
  329. package/src/definitions/Foundation/JSBNSURLResponse.h +22 -0
  330. package/src/definitions/Foundation/JSBNSURLSession.h +103 -0
  331. package/src/definitions/Foundation/JSBNSURLSessionConfiguration.h +58 -0
  332. package/src/definitions/Foundation/JSBNSURLSessionDataTask.h +18 -0
  333. package/src/definitions/Foundation/JSBNSURLSessionDownloadTask.h +20 -0
  334. package/src/definitions/Foundation/JSBNSURLSessionTask.h +58 -0
  335. package/src/definitions/Foundation/JSBNSURLSessionUploadTask.h +18 -0
  336. package/src/definitions/Foundation/JSBNSUUID.h +22 -0
  337. package/src/definitions/Foundation/JSBNSUbiquitousKeyValueStore.h +37 -0
  338. package/src/definitions/Foundation/JSBNSUndoManager.h +50 -0
  339. package/src/definitions/Foundation/JSBNSUserDefaults.h +52 -0
  340. package/src/definitions/Foundation/JSBNSValue.h +53 -0
  341. package/src/definitions/Foundation/JSBNSValueTransformer.h +24 -0
  342. package/src/definitions/Foundation/JSBNSXMLParser.h +34 -0
  343. package/src/definitions/JSBApplication.h +59 -0
  344. package/src/definitions/JSBDocumentController.h +32 -0
  345. package/src/definitions/JSBJSExtension.h +34 -0
  346. package/src/definitions/JSBMNFileSystem.h +50 -0
  347. package/src/definitions/JSBMNFileSystem.m +267 -0
  348. package/src/definitions/JSBMarginNote.h +9 -0
  349. package/src/definitions/JSBMarginNote.m +183 -0
  350. package/src/definitions/JSBMbBook.h +22 -0
  351. package/src/definitions/JSBMbBookNote.h +78 -0
  352. package/src/definitions/JSBMbModelTool.h +47 -0
  353. package/src/definitions/JSBMbTopic.h +28 -0
  354. package/src/definitions/JSBMenuController.h +21 -0
  355. package/src/definitions/JSBMindMapNode.h +20 -0
  356. package/src/definitions/JSBMindMapView.h +15 -0
  357. package/src/definitions/JSBNotebookController.h +22 -0
  358. package/src/definitions/JSBOutlineView.h +14 -0
  359. package/src/definitions/JSBPopupMenu.h +37 -0
  360. package/src/definitions/JSBPopupMenuItem.h +19 -0
  361. package/src/definitions/JSBReaderController.h +18 -0
  362. package/src/definitions/JSBSQLite.h +109 -0
  363. package/src/definitions/JSBSearchManager.h +55 -0
  364. package/src/definitions/JSBSearchManager.m +4 -0
  365. package/src/definitions/JSBSpeechManager.h +31 -0
  366. package/src/definitions/JSBStudyController.h +32 -0
  367. package/src/definitions/JSBUndoManager.h +23 -0
  368. package/src/definitions/JSBZipArchive.h +28 -0
  369. package/src/definitions/QuartzCore/JSBCAAnimation.h +21 -0
  370. package/src/definitions/QuartzCore/JSBCAAnimationGroup.h +37 -0
  371. package/src/definitions/QuartzCore/JSBCABasicAnimation.h +16 -0
  372. package/src/definitions/QuartzCore/JSBCADisplayLink.h +26 -0
  373. package/src/definitions/QuartzCore/JSBCAEAGLLayer.h +16 -0
  374. package/src/definitions/QuartzCore/JSBCAEmitterBehavior.h +24 -0
  375. package/src/definitions/QuartzCore/JSBCAEmitterCell.h +40 -0
  376. package/src/definitions/QuartzCore/JSBCAEmitterLayer.h +31 -0
  377. package/src/definitions/QuartzCore/JSBCAGradientLayer.h +20 -0
  378. package/src/definitions/QuartzCore/JSBCAKeyframeAnimation.h +16 -0
  379. package/src/definitions/QuartzCore/JSBCALayer.h +98 -0
  380. package/src/definitions/QuartzCore/JSBCAMediaTimingFunction.h +22 -0
  381. package/src/definitions/QuartzCore/JSBCAPropertyAnimation.h +39 -0
  382. package/src/definitions/QuartzCore/JSBCAReplicatorLayer.h +23 -0
  383. package/src/definitions/QuartzCore/JSBCAScrollLayer.h +18 -0
  384. package/src/definitions/QuartzCore/JSBCAShapeLayer.h +27 -0
  385. package/src/definitions/QuartzCore/JSBCATextLayer.h +23 -0
  386. package/src/definitions/QuartzCore/JSBCATiledLayer.h +21 -0
  387. package/src/definitions/QuartzCore/JSBCATransaction.h +32 -0
  388. package/src/definitions/QuartzCore/JSBCATransformLayer.h +15 -0
  389. package/src/definitions/QuartzCore/JSBCATransition.h +37 -0
  390. package/src/definitions/QuartzCore/JSBCAValueFunction.h +20 -0
  391. package/src/definitions/QuartzCore/JSBQuartzCore.h +9 -0
  392. package/src/definitions/QuartzCore/JSBQuartzCore.m +106 -0
  393. package/src/definitions/UIKit/JSBNSLayoutConstraint.h +30 -0
  394. package/src/definitions/UIKit/JSBNSLayoutManager.h +94 -0
  395. package/src/definitions/UIKit/JSBNSMutableParagraphStyle.h +16 -0
  396. package/src/definitions/UIKit/JSBNSParagraphStyle.h +37 -0
  397. package/src/definitions/UIKit/JSBNSShadow.h +20 -0
  398. package/src/definitions/UIKit/JSBNSStringDrawingContext.h +22 -0
  399. package/src/definitions/UIKit/JSBNSTextAttachment.h +24 -0
  400. package/src/definitions/UIKit/JSBNSTextContainer.h +27 -0
  401. package/src/definitions/UIKit/JSBNSTextStorage.h +31 -0
  402. package/src/definitions/UIKit/JSBNSTextTab.h +38 -0
  403. package/src/definitions/UIKit/JSBUIAcceleration.h +24 -0
  404. package/src/definitions/UIKit/JSBUIAccelerometer.h +28 -0
  405. package/src/definitions/UIKit/JSBUIAccessibilityElement.h +24 -0
  406. package/src/definitions/UIKit/JSBUIActionSheet.h +37 -0
  407. package/src/definitions/UIKit/JSBUIActivity.h +26 -0
  408. package/src/definitions/UIKit/JSBUIActivityIndicatorView.h +22 -0
  409. package/src/definitions/UIKit/JSBUIActivityItemProvider.h +22 -0
  410. package/src/definitions/UIKit/JSBUIActivityViewController.h +20 -0
  411. package/src/definitions/UIKit/JSBUIAlertView.h +39 -0
  412. package/src/definitions/UIKit/JSBUIApplication.h +37 -0
  413. package/src/definitions/UIKit/JSBUIAttachmentBehavior.h +26 -0
  414. package/src/definitions/UIKit/JSBUIBarButtonItem.h +48 -0
  415. package/src/definitions/UIKit/JSBUIBarItem.h +26 -0
  416. package/src/definitions/UIKit/JSBUIBezierPath.h +55 -0
  417. package/src/definitions/UIKit/JSBUIButton.h +51 -0
  418. package/src/definitions/UIKit/JSBUICollectionReusableView.h +26 -0
  419. package/src/definitions/UIKit/JSBUICollectionView.h +53 -0
  420. package/src/definitions/UIKit/JSBUICollectionViewCell.h +14 -0
  421. package/src/definitions/UIKit/JSBUICollectionViewController.h +21 -0
  422. package/src/definitions/UIKit/JSBUICollectionViewFlowLayout.h +29 -0
  423. package/src/definitions/UIKit/JSBUICollectionViewFlowLayoutInvalidationContext.h +25 -0
  424. package/src/definitions/UIKit/JSBUICollectionViewLayout.h +58 -0
  425. package/src/definitions/UIKit/JSBUICollectionViewLayoutAttributes.h +40 -0
  426. package/src/definitions/UIKit/JSBUICollectionViewLayoutInvalidationContext.h +36 -0
  427. package/src/definitions/UIKit/JSBUICollectionViewTransitionLayout.h +15 -0
  428. package/src/definitions/UIKit/JSBUICollectionViewUpdateItem.h +36 -0
  429. package/src/definitions/UIKit/JSBUICollisionBehavior.h +30 -0
  430. package/src/definitions/UIKit/JSBUIColor.h +67 -0
  431. package/src/definitions/UIKit/JSBUIControl.h +39 -0
  432. package/src/definitions/UIKit/JSBUIDatePicker.h +26 -0
  433. package/src/definitions/UIKit/JSBUIDevice.h +37 -0
  434. package/src/definitions/UIKit/JSBUIDictationPhrase.h +38 -0
  435. package/src/definitions/UIKit/JSBUIDocument.h +46 -0
  436. package/src/definitions/UIKit/JSBUIDocumentInteractionController.h +32 -0
  437. package/src/definitions/UIKit/JSBUIDynamicAnimator.h +27 -0
  438. package/src/definitions/UIKit/JSBUIDynamicBehavior.h +27 -0
  439. package/src/definitions/UIKit/JSBUIDynamicItemBehavior.h +30 -0
  440. package/src/definitions/UIKit/JSBUIEvent.h +24 -0
  441. package/src/definitions/UIKit/JSBUIFont.h +30 -0
  442. package/src/definitions/UIKit/JSBUIFontDescriptor.h +36 -0
  443. package/src/definitions/UIKit/JSBUIGestureRecognizer.h +44 -0
  444. package/src/definitions/UIKit/JSBUIGravityBehavior.h +24 -0
  445. package/src/definitions/UIKit/JSBUIImage.h +59 -0
  446. package/src/definitions/UIKit/JSBUIImagePickerController.h +30 -0
  447. package/src/definitions/UIKit/JSBUIImageView.h +28 -0
  448. package/src/definitions/UIKit/JSBUIInputView.h +15 -0
  449. package/src/definitions/UIKit/JSBUIInterpolatingMotionEffect.h +18 -0
  450. package/src/definitions/UIKit/JSBUIKeyCommand.h +25 -0
  451. package/src/definitions/UIKit/JSBUIKit.h +9 -0
  452. package/src/definitions/UIKit/JSBUIKit.m +614 -0
  453. package/src/definitions/UIKit/JSBUILabel.h +38 -0
  454. package/src/definitions/UIKit/JSBUILocalNotification.h +20 -0
  455. package/src/definitions/UIKit/JSBUILocalizedIndexedCollation.h +23 -0
  456. package/src/definitions/UIKit/JSBUILongPressGestureRecognizer.h +22 -0
  457. package/src/definitions/UIKit/JSBUIManagedDocument.h +26 -0
  458. package/src/definitions/UIKit/JSBUIMarkupTextPrintFormatter.h +17 -0
  459. package/src/definitions/UIKit/JSBUIMenuController.h +28 -0
  460. package/src/definitions/UIKit/JSBUIMenuItem.h +25 -0
  461. package/src/definitions/UIKit/JSBUIMotionEffect.h +24 -0
  462. package/src/definitions/UIKit/JSBUIMotionEffectGroup.h +16 -0
  463. package/src/definitions/UIKit/JSBUINavigationBar.h +47 -0
  464. package/src/definitions/UIKit/JSBUINavigationController.h +34 -0
  465. package/src/definitions/UIKit/JSBUINavigationItem.h +45 -0
  466. package/src/definitions/UIKit/JSBUINib.h +19 -0
  467. package/src/definitions/UIKit/JSBUIPageControl.h +24 -0
  468. package/src/definitions/UIKit/JSBUIPageViewController.h +27 -0
  469. package/src/definitions/UIKit/JSBUIPanGestureRecognizer.h +23 -0
  470. package/src/definitions/UIKit/JSBUIPasteboard.h +46 -0
  471. package/src/definitions/UIKit/JSBUIPercentDrivenInteractiveTransition.h +24 -0
  472. package/src/definitions/UIKit/JSBUIPickerView.h +28 -0
  473. package/src/definitions/UIKit/JSBUIPinchGestureRecognizer.h +19 -0
  474. package/src/definitions/UIKit/JSBUIPopoverBackgroundView.h +22 -0
  475. package/src/definitions/UIKit/JSBUIPopoverController.h +31 -0
  476. package/src/definitions/UIKit/JSBUIPrintFormatter.h +33 -0
  477. package/src/definitions/UIKit/JSBUIPrintInfo.h +26 -0
  478. package/src/definitions/UIKit/JSBUIPrintInteractionController.h +36 -0
  479. package/src/definitions/UIKit/JSBUIPrintPageRenderer.h +31 -0
  480. package/src/definitions/UIKit/JSBUIPrintPaper.h +22 -0
  481. package/src/definitions/UIKit/JSBUIProgressView.h +24 -0
  482. package/src/definitions/UIKit/JSBUIPushBehavior.h +28 -0
  483. package/src/definitions/UIKit/JSBUIReferenceLibraryViewController.h +19 -0
  484. package/src/definitions/UIKit/JSBUIRefreshControl.h +21 -0
  485. package/src/definitions/UIKit/JSBUIResponder.h +57 -0
  486. package/src/definitions/UIKit/JSBUIRotationGestureRecognizer.h +19 -0
  487. package/src/definitions/UIKit/JSBUIScreen.h +36 -0
  488. package/src/definitions/UIKit/JSBUIScreenEdgePanGestureRecognizer.h +18 -0
  489. package/src/definitions/UIKit/JSBUIScreenMode.h +19 -0
  490. package/src/definitions/UIKit/JSBUIScrollView.h +53 -0
  491. package/src/definitions/UIKit/JSBUISearchBar.h +55 -0
  492. package/src/definitions/UIKit/JSBUISearchDisplayController.h +28 -0
  493. package/src/definitions/UIKit/JSBUISegmentedControl.h +46 -0
  494. package/src/definitions/UIKit/JSBUISimpleTextPrintFormatter.h +18 -0
  495. package/src/definitions/UIKit/JSBUISlider.h +41 -0
  496. package/src/definitions/UIKit/JSBUISnapBehavior.h +18 -0
  497. package/src/definitions/UIKit/JSBUISplitViewController.h +26 -0
  498. package/src/definitions/UIKit/JSBUIStepper.h +31 -0
  499. package/src/definitions/UIKit/JSBUIStoryboard.h +19 -0
  500. package/src/definitions/UIKit/JSBUIStoryboardPopoverSegue.h +17 -0
  501. package/src/definitions/UIKit/JSBUIStoryboardSegue.h +23 -0
  502. package/src/definitions/UIKit/JSBUISwipeGestureRecognizer.h +19 -0
  503. package/src/definitions/UIKit/JSBUISwitch.h +20 -0
  504. package/src/definitions/UIKit/JSBUITabBar.h +33 -0
  505. package/src/definitions/UIKit/JSBUITabBarController.h +26 -0
  506. package/src/definitions/UIKit/JSBUITabBarItem.h +26 -0
  507. package/src/definitions/UIKit/JSBUITableView.h +70 -0
  508. package/src/definitions/UIKit/JSBUITableViewCell.h +48 -0
  509. package/src/definitions/UIKit/JSBUITableViewController.h +19 -0
  510. package/src/definitions/UIKit/JSBUITableViewHeaderFooterView.h +22 -0
  511. package/src/definitions/UIKit/JSBUITapGestureRecognizer.h +20 -0
  512. package/src/definitions/UIKit/JSBUITextChecker.h +27 -0
  513. package/src/definitions/UIKit/JSBUITextField.h +44 -0
  514. package/src/definitions/UIKit/JSBUITextInputMode.h +41 -0
  515. package/src/definitions/UIKit/JSBUITextInputStringTokenizer.h +40 -0
  516. package/src/definitions/UIKit/JSBUITextPosition.h +38 -0
  517. package/src/definitions/UIKit/JSBUITextRange.h +38 -0
  518. package/src/definitions/UIKit/JSBUITextSelectionRect.h +36 -0
  519. package/src/definitions/UIKit/JSBUITextView.h +34 -0
  520. package/src/definitions/UIKit/JSBUIToolbar.h +22 -0
  521. package/src/definitions/UIKit/JSBUITouch.h +49 -0
  522. package/src/definitions/UIKit/JSBUIVideoEditorController.h +19 -0
  523. package/src/definitions/UIKit/JSBUIView.h +140 -0
  524. package/src/definitions/UIKit/JSBUIViewController.h +127 -0
  525. package/src/definitions/UIKit/JSBUIViewPrintFormatter.h +15 -0
  526. package/src/definitions/UIKit/JSBUIWebView.h +38 -0
  527. package/src/definitions/UIKit/JSBUIWindow.h +32 -0
  528. package/src/styles/starlight-overrides.css +23 -0
  529. package/tsconfig.json +5 -0
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: self
3
+ description: 在 JSExtension 实例方法内指向当前插件实例的上下文。
4
+ ---
5
+
6
+ 在 `JSB.defineClass` 定义的**实例方法**内部,`self` 指向该插件类的当前实例。用于访问插件自身的 `window` 以及你在实例上挂载的属性(如自定义的 viewController、layout 函数等)。
7
+
8
+ ## 实例成员 (Instance members)
9
+
10
+ ### 属性
11
+
12
+ | 属性 | 类型 | 说明 |
13
+ |------|------|------|
14
+ | `window` | `UIWindow` | 当前插件所在窗口。常与 `Application.sharedInstance().studyController(self.window)` 配合获取学习控制器。 |
15
+
16
+ ## 类成员 (Class members)
17
+
18
+ `self` 是实例上下文变量,不以类成员形式存在。
19
+
20
+ ## 说明
21
+
22
+ - 仅在**实例方法**中有效(如 `sceneWillConnect`、`notebookWillOpen`、`queryAddonCommandStatus`、`toggleSample:` 等);在**类方法**(如 `addonDidConnect`)中无 `self`。
23
+ - 工具栏按钮的 selector 若指向实例方法(如 `toggleSample:`),在该方法内可用 `self` 访问插件实例和 `self.window`。
24
+
25
+ ## 相关
26
+
27
+ - [JSExtension](/reference/marginnote/jsextension/) — 插件生命周期
28
+ - [Application](/reference/global/application/) — 常用 `studyController(self.window)`
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: JavaScript 原生环境
3
+ description: MarginNote 插件运行时的 JavaScriptCore 能力边界与常见误区。
4
+ ---
5
+
6
+ MarginNote 插件的 JS 运行环境是 **JavaScriptCore**(不是浏览器)。因此很多“浏览器 JS”里理所当然的能力,在插件里可能不存在或行为不同。
7
+
8
+ ## 你仍然拥有的标准能力
9
+
10
+ - `Math` / `Date` / `JSON` / `RegExp`
11
+ - 基本语法与原型链
12
+ - 通过 JSB 导出的 Objective‑C 对象与方法(本项目的 API 参考主体)
13
+
14
+ ## 常见误区
15
+
16
+ ### 1) 没有原生 `fetch`
17
+
18
+ 插件环境里通常**没有**浏览器的 `fetch`。网络请求应使用已导出的 Objective‑C 网络类,完整用法见 [网络请求](/guides/network-requests/) 教程(`NSURLConnection`、`NSMutableURLRequest`、`NSOperationQueue` 等)。
19
+
20
+ ### 2) 可能没有 `setTimeout` / `setInterval`
21
+
22
+ 纯 JSCore 环境通常**不包含**这两个定时器函数(它们属于浏览器/宿主实现)。在插件里推荐使用 `NSTimer` 实现延时/轮询。
23
+
24
+ ## 相关
25
+
26
+ - [NSTimer](/reference/foundation/ns-timer/)
27
+ - [网络请求](/guides/network-requests/)
28
+
@@ -0,0 +1,45 @@
1
+ ---
2
+ title: DocumentController
3
+ description: 单个文档的控制器,提供当前文档与选区。
4
+ ---
5
+
6
+ 管理单个打开的文档,通过 `ReaderController.currentDocumentController` 获取当前显示的文档控制器。
7
+
8
+ ## 实例成员 (Instance members)
9
+
10
+ ### 属性(只读)
11
+
12
+ | 属性 | 类型 | 说明 |
13
+ |------|------|------|
14
+ | `document` | `MbBook` \| undefined | 当前文档对象(getter 为 currBook)。 |
15
+ | `docMd5` | `string` | 当前文档 MD5(getter 为 currentBookMd5)。 |
16
+ | `notebookId` | `string` | 当前笔记本 ID(getter 为 currTopicId)。 |
17
+ | `focusNote` | `MbBookNote` \| undefined | 当前焦点笔记。 |
18
+ | `visibleFocusNote` | `MbBookNote` \| undefined | 当前可见的焦点笔记。 |
19
+ | `lastFocusNote` | `MbBookNote` \| undefined | 上一次的焦点笔记(getter 为 lastFocusNote)。 |
20
+ | `selectionText` | `string` \| undefined | 用户在 PDF 中当前选中的文本。 |
21
+ | `currPageNo` | `number` | 当前页码(运行时定义,通常从 1 开始)。 |
22
+ | `currPageIndex` | `number` | 当前页索引(运行时定义,通常从 0 开始)。 |
23
+ | `isSelectionText` | `boolean` | 当前是否存在文本选区。 |
24
+
25
+ ### 方法
26
+
27
+ | 方法 | 参数 | 返回值 | 说明 |
28
+ |------|------|--------|------|
29
+ | `imageFromSelection()` | — | `NSData` | 从当前选区导出图片数据(若可用)。 |
30
+ | `imageFromFocusNote()` | — | `NSData` | 从当前焦点笔记导出图片数据(若可用)。 |
31
+ | `setPageAtIndex(index)` | index: number | — | 跳转到指定页索引。 |
32
+ | `indicesFromPageNo(pageNo)` | pageNo: number | `NSArray<number>` | 由页码得到可能的页索引列表。 |
33
+ | `indexFromPageNo(pageNo)` | pageNo: number | number | 由页码得到页索引。 |
34
+ | `pageNoFromIndex(index)` | index: number | number | 由页索引得到页码。 |
35
+ | `highlightFromSelection()` | — | `any` | 从当前选区生成高亮对象(类型依赖运行时)。 |
36
+
37
+ ## 类成员 (Class members)
38
+
39
+ 当前运行时未额外暴露 `DocumentController` 的类成员。
40
+
41
+ ## 相关
42
+
43
+ - [ReaderController](/reference/marginnote/reader-controller/)
44
+ - [MbBook](/reference/marginnote/mb-book/)、[MbBookNote](/reference/marginnote/mb-book-note/)
45
+ - [教程:脑图与选区](/guides/mindmap-and-selection/)
@@ -0,0 +1,119 @@
1
+ ---
2
+ title: JSExtension
3
+ description: 插件主类必须继承的基类,处理生命周期与工具栏命令。
4
+ ---
5
+
6
+ 你的插件主类必须通过 `JSB.defineClass('MyAddon : JSExtension', ...)` 继承 JSExtension,用于处理窗口/笔记本/文档的生命周期以及工具栏图标状态。
7
+
8
+ ## 实例成员 (Instance members)
9
+
10
+ ### 属性(只读)
11
+
12
+ | 属性 | 类型 | 说明 |
13
+ |------|------|------|
14
+ | `window` | `UIWindow` | 当前插件所在窗口。在实例方法内也可用 `self.window`。 |
15
+
16
+ ### 实例方法(生命周期)
17
+
18
+ | 方法 | 参数 | 说明 |
19
+ |------|------|------|
20
+ | `sceneWillConnect()` | — | 插件窗口即将创建时调用,可在此做 UI 初始化。 |
21
+ | `sceneDidDisconnect()` | — | 插件窗口断开时调用。 |
22
+ | `sceneWillResignActive()` | — | 窗口即将失去活跃时调用。 |
23
+ | `sceneDidBecomeActive()` | — | 窗口变为活跃时调用。 |
24
+ | `notebookWillOpen(topicid)` | `topicid`: string | 某个笔记本即将打开时调用。 |
25
+ | `notebookWillClose(topicid)` | `topicid`: string | 某个笔记本即将关闭时调用。 |
26
+ | `documentDidOpen(docmd5)` | `docmd5`: string | 某文档已打开时调用。 |
27
+ | `documentWillClose(docmd5)` | `docmd5`: string | 某文档即将关闭时调用。 |
28
+
29
+ ### 实例方法(工具栏与扩展)
30
+
31
+ | 方法 | 返回值/参数 | 说明 |
32
+ |------|-------------|------|
33
+ | `queryAddonCommandStatus()` | `NSDictionary` \| null | MarginNote 用来决定工具栏图标状态。必须返回包含 `image`、`object`、`selector`、`checked` 的对象;不显示图标可返回 null。 |
34
+ | `additionalTitleLinksOfNotebook(topicid)` | `NSArray` | 为指定笔记本提供额外标题链接。 |
35
+ | `viewControllerForTitleLink(titleLink)` | `UIViewController` | 根据标题链接返回对应视图控制器。 |
36
+ | `controllerWillLayoutSubviews(controller)` | `controller`: UIViewController | 指定控制器即将布局子视图时调用,可在此调整插件面板位置。 |
37
+ | `additionalShortcutKeys()` | `NSArray` | 返回插件提供的额外快捷键。 |
38
+ | `queryShortcutKeyWithKeyFlags(command, keyFlags)` | `NSDictionary` | 查询某快捷键的状态。 |
39
+ | `processShortcutKeyWithKeyFlags(command, keyFlags)` | — | 处理快捷键按下。 |
40
+
41
+ ## 快捷键(additionalShortcutKeys/query/process)
42
+
43
+ ### `additionalShortcutKeys()`返回值结构
44
+
45
+ `additionalShortcutKeys()`应返回一个数组,数组元素为“字典项”(Dictionary)。系统会读取这些字典项并构造对应的键盘命令。
46
+
47
+ 目前已确认字典项的核心字段如下:
48
+
49
+ | 字段 | 类型 | 说明 |
50
+ |---|---|---|
51
+ | `input` | `string` | 按键输入,例如`"UIKeyInputLeftArrow"`、`"z"`、`"["`等。 |
52
+ | `flags` | `number` | 修饰键位掩码(见下方keyFlags表)。 |
53
+ | `title` | `string` | 用于显示的标题(例如出现在快捷键列表中)。 |
54
+
55
+ 说明:该接口不是直接返回`UIKeyCommand[]`。
56
+
57
+ ### `queryShortcutKeyWithKeyFlags(command,keyFlags)`语义
58
+
59
+ `queryShortcutKeyWithKeyFlags(command,keyFlags)`用于“查询状态”,系统可能在以下场景批量调用它:
60
+
61
+ - 判断当前上下文哪些快捷键可用(disabled/checked状态)。
62
+ - 重建或刷新键盘命令列表(keyCommands)。
63
+ - 某些焦点/编辑态变化引发的状态刷新。
64
+
65
+ 因此你可能“只按了一次Left”,但看到大量不同的`command`与`keyFlags`日志。这是正常现象。
66
+
67
+ #### command的两类来源
68
+
69
+ 已确认`command`可能来自两条路径:
70
+
71
+ - 内建命令名:例如`NewChildNote`、`ToggleExpand`、`EditAddTitle`等。
72
+ - 输入常量/字符:例如`UIKeyInputLeftArrow`、`UIKeyInputUpArrow`,以及`z`这类字符输入。
73
+
74
+ 建议:在query里只匹配你关心的组合键,其余直接`return null`保持静默;不要在query里做任何数据库/笔记结构修改。
75
+
76
+ 返回值通常包含:
77
+
78
+ - `disabled:boolean`:是否不可用。
79
+ - `checked:boolean`:是否勾选态(用于UI状态展示)。
80
+
81
+ ### `processShortcutKeyWithKeyFlags(command,keyFlags)`语义
82
+
83
+ `processShortcutKeyWithKeyFlags(command,keyFlags)`用于“处理按下”,真正的业务动作应放在这里(例如outdent/移动层级等)。建议遵循:
84
+
85
+ - query只返回状态,不产生副作用。
86
+ - process里执行操作,并用`UndoManager.undoGrouping(...)`包裹可撤销修改。
87
+
88
+ ### keyFlags常用位值
89
+
90
+ 以下为常用[修饰键位值](https://learn.microsoft.com/en-us/dotnet/api/uikit.uikeymodifierflags?view=net-ios-26.2-10.0):
91
+
92
+ | 修饰键 | 值 |
93
+ |---|---:|
94
+ | Shift | `131072` |
95
+ | Control | `262144` |
96
+ | Option(Alt) | `524288` |
97
+ | Command | `1048576` |
98
+ | Command+Shift | `1179648` |
99
+
100
+ ### 已知限制:编辑态会吞键
101
+
102
+ 当用户正在编辑文本(例如评论输入框等)时,当前firstResponder通常会优先消费按键,插件快捷键可能不触发。这是预期行为,建议将快捷键主要用于非编辑态操作。
103
+
104
+ ## 类成员 (Class members)
105
+
106
+ ### 类方法
107
+
108
+ | 方法 | 说明 |
109
+ |------|------|
110
+ | `addonDidConnect()` | 插件被 MarginNote 加载后调用。 |
111
+ | `addonWillDisconnect()` | 插件即将卸载时调用。 |
112
+ | `applicationDidEnterBackground()` | 应用进入后台时调用。 |
113
+ | `applicationWillEnterForeground()` | 应用即将进入前台时调用。 |
114
+ | `applicationDidReceiveLocalNotification(notify)` | 收到本地通知时调用(仅在部分平台可用,例如非 xrOS 环境)。 |
115
+
116
+ ## 相关
117
+
118
+ - [JSB](/reference/global/jsb/) — 使用 `defineClass('MyAddon : JSExtension', ...)`
119
+ - [快速开始](/guides/getting-started/)、[生命周期与窗口](/guides/lifecycle-and-window/)、[工具栏与命令](/guides/toolbar-and-commands/)
@@ -0,0 +1,192 @@
1
+ ---
2
+ title: MbBookNote
3
+ description: 笔记核心对象,代表脑图中的一条笔记及其摘录、评论、链接与层级。
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/) 包裹并刷新界面。
7
+
8
+ ## 实例成员 (Instance members)
9
+
10
+ ### 可读写属性
11
+
12
+ | 属性 | 类型 | 说明 |
13
+ | :--- | :--- | :--- |
14
+ | `noteTitle` | `string` | 笔记标题。 |
15
+ | `excerptText` | `string` | 摘录文本。 |
16
+ | `excerptTextMarkdown` | `number` | 摘录文本是否为 Markdown(运行时字段,通常为 0/1)。 |
17
+ | `colorIndex` | `number` | 颜色索引 (0–15)。 |
18
+ | `fillIndex` | `number` | 填充类型。 |
19
+
20
+ ### 只读属性
21
+
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 | 子脑图(getter 为 parentDraft)。 |
39
+ | `linkedNotes` | `NSArray` | 链接的笔记。 |
40
+ | `childNotes` | `NSArray` | 子笔记数组。 |
41
+ | `summaryLinks` | `NSArray` | 摘要链接。 |
42
+ | `zLevel` / `hidden` / `toc` / `annotation` / `textFirst` / `groupMode` / `flashcard` / `flagged` | `NSNumber` | 各类标志。 |
43
+ | `summary` | `boolean` | 是否有摘要链接(getter hasSummaryLinks)。 |
44
+ | `textHighlight` / `options` | `NSDictionary` | 文本高亮与选项。 |
45
+
46
+ ### 实例方法
47
+
48
+ ### `appendTextComment`
49
+
50
+ 添加一条文本评论。
51
+
52
+ ```javascript
53
+ appendTextComment(text: string): void
54
+ ```
55
+
56
+ **Parameters:**
57
+
58
+ | Name | Type | Description |
59
+ | :--- | :--- | :--- |
60
+ | `text` | `string` | 评论内容。 |
61
+
62
+ ### `appendMarkdownComment`
63
+
64
+ 添加一条 Markdown 格式评论。
65
+
66
+ ```javascript
67
+ appendMarkdownComment(text: string): void
68
+ ```
69
+
70
+ **Parameters:**
71
+
72
+ | Name | Type | Description |
73
+ | :--- | :--- | :--- |
74
+ | `text` | `string` | Markdown 格式的评论内容。 |
75
+
76
+ ### `appendNoteLink`
77
+
78
+ 添加指向另一条笔记的链接。
79
+
80
+ ```javascript
81
+ appendNoteLink(note: MbBookNote): void
82
+ ```
83
+
84
+ **Parameters:**
85
+
86
+ | Name | Type | Description |
87
+ | :--- | :--- | :--- |
88
+ | `note` | `MbBookNote` | 目标笔记对象。 |
89
+
90
+ **说明**:会在 `comments` 数组中添加一条 `TextNote` 类型的评论,`text` 字段存储格式为 `marginnote4app://note/{noteId}`。
91
+
92
+ ### `merge`
93
+
94
+ 添加笔记链接(历史命名;等价于“把另一条笔记作为链接加入 comments”)。
95
+
96
+ ```javascript
97
+ merge(note: MbBookNote): void
98
+ ```
99
+
100
+ ### `appendHtmlComment`
101
+
102
+ 添加 HTML 评论(已废弃,建议使用 `appendMarkdownComment`)。
103
+
104
+ ```javascript
105
+ appendHtmlComment(html: string, text: string, size: CGSize, tag: string): void
106
+ ```
107
+
108
+ **Parameters:**
109
+
110
+ | Name | Type | Description |
111
+ | :--- | :--- | :--- |
112
+ | `html` | `string` | HTML 内容。 |
113
+ | `text` | `string` | 纯文本内容(用于搜索等)。 |
114
+ | `size` | `CGSize` | 渲染尺寸。 |
115
+ | `tag` | `string` | 标签标识。 |
116
+
117
+ **说明**:此方法已废弃,HTML 评论不再单独存储,建议使用 `appendMarkdownComment` 替代。
118
+
119
+ ### `removeCommentByIndex`
120
+
121
+ 按索引删除一条评论。
122
+
123
+ ```javascript
124
+ removeCommentByIndex(index: number): void
125
+ ```
126
+
127
+ **Parameters:**
128
+
129
+ | Name | Type | Description |
130
+ | :--- | :--- | :--- |
131
+ | `index` | `number` | 评论在 `comments` 数组中的索引。 |
132
+
133
+ ### `clearFormat`
134
+
135
+ 清除笔记文本格式。
136
+
137
+ ```javascript
138
+ clearFormat(): void
139
+ ```
140
+
141
+ ### `paste`
142
+
143
+ 粘贴(将剪贴板内容作为评论或摘录)。
144
+
145
+ ```javascript
146
+ paste(): void
147
+ ```
148
+
149
+ ### `allNoteText`
150
+
151
+ 获取笔记全部文本(标题+摘录+评论)。
152
+
153
+ ```javascript
154
+ allNoteText(): string
155
+ ```
156
+
157
+ **Return Value:**
158
+
159
+ - `string`: 聚合文本。
160
+
161
+ ## 类成员 (Class members)
162
+
163
+ ### `createWithTitleNotebookDocument`
164
+
165
+ 创建新笔记(类方法)。在 JS 侧通常通过全局注入的 `Note` 对象调用同名方法。
166
+
167
+ ```javascript
168
+ static createWithTitleNotebookDocument(title: string, notebook: MbTopic, document: MbBook): MbBookNote
169
+ ```
170
+
171
+ ## 创建笔记
172
+
173
+ 创建新笔记的方法**不在** `MbBookNote` 类上,而是在全局注入的 `Note` 对象上:
174
+
175
+ - [Note](/reference/global/note/) — `Note.createWithTitleNotebookDocument(title, notebook, doc)`
176
+
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
+ ## 相关
190
+
191
+ - [NoteComment](/reference/marginnote/note-comment/)、[MbTopic](/reference/marginnote/mb-topic/)、[MbBook](/reference/marginnote/mb-book/)
192
+ - [教程:笔记与数据库](/guides/notes-and-database/)
@@ -0,0 +1,35 @@
1
+ ---
2
+ title: MbBook
3
+ description: 文档对象,代表一个 PDF/EPUB 文档。
4
+ ---
5
+
6
+ 代表一个已加入 MarginNote 的文档(如 PDF、EPUB)。通过 [Database.getDocumentById](/reference/global/database/)、[Database.allDocuments](/reference/global/database/)、或 [DocumentController.document](/reference/marginnote/document-controller/) 获取。
7
+
8
+ ## 实例成员 (Instance members)
9
+
10
+ ### 属性(只读)
11
+
12
+ | 属性 | 类型 | 说明 |
13
+ |------|------|------|
14
+ | `docMd5` | `string` | 文档唯一 MD5(getter 为 md5real)。 |
15
+ | `docTitle` | `string` | 文档标题(getter 为 bookTitle)。 |
16
+ | `pathFile` | `string` | 文档在 MarginNote 存储中的相对路径。 |
17
+ | `fullPathFileName` | `string` | 文档的完整路径(若环境可用)。 |
18
+ | `currentTopicId` | `string` | 当前所属笔记本 ID(getter 为 currenttopicid)。 |
19
+ | `lastVisit` | `NSDate` | 最后访问时间。 |
20
+ | `pageCount` | `number` | 总页数。 |
21
+
22
+ ### 实例方法
23
+
24
+ | 方法 | 参数 | 返回值 | 说明 |
25
+ |------|------|--------|------|
26
+ | `textContentsForPageNo(pageNo)` | pageNo: number | `NSArray` | 获取指定页的文本内容(实现/结构依赖运行时)。 |
27
+ | `tocAll()` | — | `NSArray` | 获取文档目录(Table of Contents)。 |
28
+
29
+ ## 类成员 (Class members)
30
+
31
+ 当前运行时未额外暴露 `MbBook` 的类成员。
32
+
33
+ ## 相关
34
+
35
+ - [Database](/reference/global/database/)、[DocumentController](/reference/marginnote/document-controller/)、[MbTopic](/reference/marginnote/mb-topic/)
@@ -0,0 +1,66 @@
1
+ ---
2
+ title: MbModelTool
3
+ description: 数据库工具协议,Database 单例的实现类型,提供笔记/笔记本/文档的增删改查与导入导出。
4
+ ---
5
+
6
+ `Database.sharedInstance()` 返回的对象即实现 `MbModelTool` 协议的单例。API 与 [Database](/reference/global/database/) 一致,本页列出完整方法签名便于对照原生接口。
7
+
8
+ ## 实例成员 (Instance members)
9
+
10
+ ### 查询与列表
11
+
12
+ | 方法 | 说明 |
13
+ |------|------|
14
+ | `getNoteById(noteId)` | 根据笔记 ID 获取 `MbBookNote`。 |
15
+ | `getNotebookById(topicId)` | 根据笔记本 ID 获取 `MbTopic`。 |
16
+ | `getDocumentById(docMd5)` | 根据文档 MD5 获取 `MbBook`。 |
17
+ | `getMediaByHash(hash)` | 根据媒体哈希获取 `NSData`。 |
18
+ | `getFlashcardByNoteId(noteId, topicId)` / `getFlashcardsByNoteId(noteId)` / `hasFlashcardByNoteId(noteId)` | 闪卡相关查询。 |
19
+ | `allNotebooks()` / `allDocuments()` | 获取所有笔记本/文档。 |
20
+
21
+ ### 持久化、同步与归档
22
+
23
+ | 方法 | 说明 |
24
+ |------|------|
25
+ | `savedb()` | 手动保存数据库。 |
26
+ | `setNotebookSyncDirty(topicid)` | 将笔记本标记为同步脏。 |
27
+ | `saveHistoryArchiveKey(topicid, key)` / `loadHistoryArchiveKey(topicid, key)` | 历史归档。 |
28
+
29
+ ### 删除、创建与克隆
30
+
31
+ | 方法 | 说明 |
32
+ |------|------|
33
+ | `deleteBookNote(noteId)` | 删除单条笔记(不删子节点)。 |
34
+ | `deleteBookNoteTree(noteId)` | 删除笔记及其所有后代。 |
35
+ | `createNoteWithTitleTopicid(title, topicid)` | 在指定笔记本创建新笔记。 |
36
+ | `cloneNotesToTopic(notes, topicid)` | 将笔记克隆到指定笔记本。 |
37
+ | `cloneNotesToFlashcardsToTopic(notes, topicid)` | 将笔记克隆为闪卡到指定笔记本。 |
38
+
39
+ ### 导入导出
40
+
41
+ | 方法 | 说明 |
42
+ |------|------|
43
+ | `exportNotebookStorePath(topicid, storePath)` | 导出笔记本到路径。 |
44
+ | `importNotebookFromStorePathMerge(storePath, merge)` | 从路径导入笔记本(可选择合并)。 |
45
+
46
+ ### 草稿/手写(Sketch)
47
+
48
+ | 方法 | 说明 |
49
+ |------|------|
50
+ | `getSketchNoteForMindMapFocusNoteId(topicid, focusNoteId)` | 获取脑图草稿笔记。 |
51
+ | `getSketchNoteForDocumentMd5Page(topicid, md5, page)` | 获取指定文档页的草稿笔记。 |
52
+ | `getSketchNotesForDocumentMd5Page(topicid, md5, page)` | 获取指定文档页的草稿笔记列表。 |
53
+ | `getSketchNotesForMindMap(topicid)` | 获取脑图草稿笔记列表。 |
54
+
55
+ ## 类成员 (Class members)
56
+
57
+ ### 类方法
58
+
59
+ | 方法 | 说明 |
60
+ |------|------|
61
+ | `sharedInstance()` | 获取单例(通常通过全局对象 [Database](/reference/global/database/) 使用)。 |
62
+ | `transDictionaryToJSCompatible(dic)` / `transArrayToJSCompatible(arr)` | 将原生容器转换为更易于 JS 使用的结构(按运行时实现)。 |
63
+
64
+ ## 相关
65
+
66
+ - [Database](/reference/global/database/) — 使用同一单例的入口文档
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: MbTopic
3
+ description: 笔记本(主题)对象,包含根笔记列表与关联文档。
4
+ ---
5
+
6
+ 代表一个笔记本(主题)。通过 [Database.getNotebookById](/reference/global/database/)、[Database.allNotebooks](/reference/global/database/)、或控制器上下文获取。
7
+
8
+ ## 实例成员 (Instance members)
9
+
10
+ ### 属性
11
+
12
+ | 属性 | 类型 | R/W | 说明 |
13
+ |------|------|-----|------|
14
+ | `topicId` | `string` | R | 笔记本唯一 ID。 |
15
+ | `title` | `string` | R/W | 笔记本标题(setter 为 setTopicTitle)。 |
16
+ | `lastVisit` | `NSDate` | R | 最后访问时间。 |
17
+ | `mainDocMd5` | `string` | R | 主文档 MD5(getter 为 localbookmd5)。 |
18
+ | `historyDate` | `NSDate` | R | 历史日期。 |
19
+ | `syncMode` | `NSNumber` | R | 同步模式。 |
20
+ | `categoryList` | `string` | R | 分类列表(getter 为 taglist)。 |
21
+ | `hashtags` | `string` | R | 标签。 |
22
+ | `docList` | `string` | R | 文档列表(getter 为 booklist)。 |
23
+ | `options` | `NSDictionary` | R | 选项。 |
24
+ | `documents` | `NSArray` | R | 关联文档数组(getter 为 books)。 |
25
+ | `notes` | `NSArray` | R | 笔记本中所有**根节点**笔记。 |
26
+ | `hideLinksInMindMapNode` | `boolean` | R/W | 是否在脑图节点中隐藏链接。 |
27
+ | `flags` | `NSNumber` | R | 标志位。 |
28
+ | `type` | `NSNumber` | R | 笔记本类型(例如卡片/脑图/文档等,具体枚举以运行时为准)。 |
29
+
30
+ ## 类成员 (Class members)
31
+
32
+ 当前运行时未额外暴露 `MbTopic` 的类成员。
33
+
34
+ ## 相关
35
+
36
+ - [Database](/reference/global/database/)、[MbBookNote](/reference/marginnote/mb-book-note/)、[MbBook](/reference/marginnote/mb-book/)
@@ -0,0 +1,27 @@
1
+ ---
2
+ title: MindMapNode
3
+ description: 脑图中的单个节点,关联一条 MbBookNote 与父子节点、位置。
4
+ ---
5
+
6
+ 代表脑图中的一个节点,与一条 [MbBookNote](/reference/marginnote/mb-book-note/) 一一对应。通过 `MindMapView.mindmapNodes` 或选中列表 `selViewLst` 中的项获取。
7
+
8
+ ## 实例成员 (Instance members)
9
+
10
+ ### 属性(只读)
11
+
12
+ | 属性 | 类型 | 说明 |
13
+ |------|------|------|
14
+ | `note` | `MbBookNote` | 该节点关联的笔记对象。 |
15
+ | `parentNode` | `MindMapNode` \| undefined | 父节点(getter 为 parentNote,类型为 MindMapNote)。 |
16
+ | `childNodes` | `NSArray` | 子节点数组(getter 为 childNotes)。 |
17
+ | `summaryLinks` | `NSArray` | 摘要链接。 |
18
+ | `frame` | `CGRect` | 节点在脑图视图中的位置与大小。 |
19
+
20
+ ## 类成员 (Class members)
21
+
22
+ 当前运行时未额外暴露 `MindMapNode` 的类成员。
23
+
24
+ ## 相关
25
+
26
+ - [MindMapView](/reference/marginnote/mindmap-view/)
27
+ - [MbBookNote](/reference/marginnote/mb-book-note/)
@@ -0,0 +1,24 @@
1
+ ---
2
+ title: MindMapView
3
+ description: 脑图视图,继承自 UIScrollView,展示脑图节点列表与选中项。
4
+ ---
5
+
6
+ 脑图视图,通过 `NotebookController.mindmapView` 获取。它的行为与 `UIScrollView` 接近(可滚动/缩放),但额外暴露了脑图节点列表与选中项。
7
+
8
+ ## 实例成员 (Instance members)
9
+
10
+ ### 属性(只读)
11
+
12
+ | 属性 | 类型 | 说明 |
13
+ |------|------|------|
14
+ | `mindmapNodes` | `NSArray` | 脑图中所有节点(MindMapNode 或等价类型)。 |
15
+ | `selViewLst` | `NSArray` | 当前选中的节点视图列表,每项通常包含 `note`(MindMapNode)与 `view`(UIView)。 |
16
+
17
+ ## 类成员 (Class members)
18
+
19
+ 当前运行时未额外暴露 `MindMapView` 的类成员。
20
+
21
+ ## 相关
22
+
23
+ - [NotebookController](/reference/marginnote/notebook-controller/)
24
+ - [MindMapNode](/reference/marginnote/mindmap-node/)
@@ -0,0 +1,29 @@
1
+ ---
2
+ title: NoteComment
3
+ description: 笔记评论条目的类型说明,comments 数组中的元素结构。
4
+ ---
5
+
6
+ `MbBookNote.comments` 是评论数组,每项为具有 `type` 属性的对象,根据类型不同包含不同字段。
7
+
8
+ ## 实例成员 (Instance members)
9
+
10
+ ### 类型与结构
11
+
12
+ | type | 说明 | 其他字段 |
13
+ |------|------|----------|
14
+ | `TextNote` | 文本评论(包括纯文本、Markdown、链接笔记) | `text`: string,`markdown`: boolean(可选,是否为 Markdown 格式) |
15
+ | `PaintNote` | 手写/图片评论 | `paint`: string(媒体哈希,可用 Database.getMediaByHash 取数据) |
16
+
17
+ **说明**:
18
+ - 所有文本类评论(纯文本、Markdown、链接笔记)现在统一为 `TextNote` 类型
19
+ - Markdown 评论通过 `markdown: true` 字段标识
20
+ - 链接笔记的 `text` 字段存储格式为 `marginnote4app://note/{noteId}`
21
+
22
+ ## 类成员 (Class members)
23
+
24
+ `NoteComment` 是数据结构说明,不以类成员形式使用。
25
+
26
+ ## 相关
27
+
28
+ - [MbBookNote](/reference/marginnote/mb-book-note/) — `comments`、`appendTextComment`、`appendNoteLink`、`removeCommentByIndex`
29
+ - [Database.getMediaByHash](/reference/global/database/) — 用于 PaintNote 的图片数据
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: NotebookController
3
+ description: 脑图与大纲的控制器,提供当前笔记本与焦点笔记。
4
+ ---
5
+
6
+ 管理脑图和大纲的控制器,通过 `StudyController.notebookController` 获取。
7
+
8
+ ## 实例成员 (Instance members)
9
+
10
+ ### 属性(只读)
11
+
12
+ | 属性 | 类型 | 说明 |
13
+ | :--- | :--- | :--- |
14
+ | `mindmapView` | `MindMapView` | 脑图视图(getter 为 noteMindMap)。 |
15
+ | `outlineView` | `OutlineView` | 大纲视图。 |
16
+ | `notebookId` | `string` | 当前笔记本 ID(getter 为 currTopic)。 |
17
+ | `focusNote` | `MbBookNote` \| undefined | 当前在脑图中聚焦的笔记。 |
18
+ | `visibleFocusNote` | `MbBookNote` \| undefined | 当前可见的焦点笔记。 |
19
+ | `view` | `UIView` | 控制器视图(继承自 UIViewController)。 |
20
+
21
+ 说明:该对象具备 `UIViewController` 的基础能力,并额外提供“脑图视图/大纲视图/当前笔记本”等状态入口。
22
+
23
+ ### 方法
24
+
25
+ | 方法 | 参数 | 返回值 | 说明 |
26
+ |------|------|--------|------|
27
+ | `changeFocusToNote(note)` | note: `MbBookNote` | — | 将焦点切换到指定笔记。 |
28
+
29
+ ## 类成员 (Class members)
30
+
31
+ 当前运行时未额外暴露 `NotebookController` 的类成员。
32
+
33
+ ## 相关
34
+
35
+ - [StudyController](/reference/marginnote/study-controller/)
36
+ - [MindMapView](/reference/marginnote/mindmap-view/)、[MindMapNode](/reference/marginnote/mindmap-node/)