mn-docs-mcp 0.6.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/.trae/documents/libmn_cleanup_plan.md +51 -0
  2. package/.trae/documents/libmn_doc_restructure_plan.md +140 -0
  3. package/.trae/documents/libmn_indentation_plan.md +116 -0
  4. package/.trae/documents/libmn_title_hierarchy_plan.md +91 -0
  5. package/README.md +9 -7
  6. package/next-env.d.ts +6 -0
  7. package/next.config.mjs +14 -0
  8. package/package.json +25 -10
  9. package/postcss.config.mjs +7 -0
  10. package/scripts/sync-definitions.mjs +33 -0
  11. package/source.config.ts +5 -0
  12. package/src/app/[[...slug]]/page.tsx +259 -0
  13. package/src/app/api/search/route.ts +6 -0
  14. package/src/app/global.css +81 -0
  15. package/src/app/layout.tsx +33 -0
  16. package/src/components/JsbApiFooter.tsx +251 -0
  17. package/src/content/docs/{guides/contributing.md → contributing.md} +31 -6
  18. package/src/content/docs/{guides/cookbook → cookbook}/addon-settings.md +2 -2
  19. package/src/content/docs/{guides/cookbook → cookbook}/embed-webview-panel.md +2 -2
  20. package/src/content/docs/cookbook/meta.json +13 -0
  21. package/src/content/docs/{guides/cookbook → cookbook}/network-api-call.md +2 -2
  22. package/src/content/docs/{guides/cookbook → cookbook}/webview-bidirectional-js.md +1 -1
  23. package/src/content/docs/guides/getting-started.md +2 -2
  24. package/src/content/docs/guides/lifecycle-and-window.md +4 -4
  25. package/src/content/docs/guides/meta.json +14 -0
  26. package/src/content/docs/guides/mindmap-and-selection.md +2 -2
  27. package/src/content/docs/guides/native-ui.md +4 -4
  28. package/src/content/docs/guides/network-requests.md +8 -9
  29. package/src/content/docs/guides/notes-and-database.md +2 -2
  30. package/src/content/docs/guides/shortcut-keys.md +9 -9
  31. package/src/content/docs/guides/storage-and-files.md +4 -4
  32. package/src/content/docs/guides/toolbar-and-commands.md +1 -1
  33. package/src/content/docs/index.mdx +13 -38
  34. package/src/content/docs/libmn/data-converter.md +1572 -0
  35. package/src/content/docs/libmn/frame.md +279 -0
  36. package/src/content/docs/libmn/headers.md +234 -0
  37. package/src/content/docs/libmn/index.md +60 -0
  38. package/src/content/docs/libmn/internal-exposed.md +46 -0
  39. package/src/content/docs/libmn/locale.md +307 -0
  40. package/src/content/docs/libmn/menu.md +77 -0
  41. package/src/content/docs/libmn/meta.json +27 -0
  42. package/src/content/docs/libmn/mnbutton.md +966 -0
  43. package/src/content/docs/libmn/mncomment.md +533 -0
  44. package/src/content/docs/libmn/mnconnection.md +717 -0
  45. package/src/content/docs/libmn/mndocument.md +309 -0
  46. package/src/content/docs/libmn/mnextension-panel.md +340 -0
  47. package/src/content/docs/libmn/mnnote.md +533 -0
  48. package/src/content/docs/libmn/mnnotebook.md +725 -0
  49. package/src/content/docs/libmn/mnutil.md +2936 -0
  50. package/src/content/docs/libmn/mnwebview.md +693 -0
  51. package/src/content/docs/libmn/mustache.md +65 -0
  52. package/src/content/docs/libmn/response.md +352 -0
  53. package/src/content/docs/libmn/runtime-assets.md +64 -0
  54. package/src/content/docs/libmn/runtime-web-view-host.md +77 -0
  55. package/src/content/docs/libmn/runtime.md +178 -0
  56. package/src/content/docs/libmn/vendor-globals.md +34 -0
  57. package/src/content/docs/meta.json +11 -0
  58. package/src/content/docs/reference/black-box.md +2 -2
  59. package/src/content/docs/reference/foundation/meta.json +4 -0
  60. package/src/content/docs/reference/foundation/ns-attributed-string.md +1 -1
  61. package/src/content/docs/reference/foundation/ns-counted-set.md +1 -1
  62. package/src/content/docs/reference/foundation/ns-date-components.md +2 -2
  63. package/src/content/docs/reference/foundation/ns-date-formatter.md +1 -3
  64. package/src/content/docs/reference/foundation/ns-decimal-number.md +1 -1
  65. package/src/content/docs/reference/foundation/ns-enumerator.md +1 -1
  66. package/src/content/docs/reference/foundation/ns-error.md +2 -2
  67. package/src/content/docs/reference/foundation/ns-file-manager.md +1 -1
  68. package/src/content/docs/reference/foundation/ns-formatter.md +2 -2
  69. package/src/content/docs/reference/foundation/ns-json-serialization.md +10 -2
  70. package/src/content/docs/reference/foundation/ns-mutable-attributed-string.md +1 -1
  71. package/src/content/docs/reference/foundation/ns-mutable-character-set.md +1 -1
  72. package/src/content/docs/reference/foundation/ns-mutable-dictionary.md +1 -1
  73. package/src/content/docs/reference/foundation/ns-mutable-index-set.md +1 -1
  74. package/src/content/docs/reference/foundation/ns-mutable-set.md +1 -1
  75. package/src/content/docs/reference/foundation/ns-mutable-string.md +1 -1
  76. package/src/content/docs/reference/foundation/ns-mutable-url-request.md +2 -3
  77. package/src/content/docs/reference/foundation/ns-null.md +1 -1
  78. package/src/content/docs/reference/foundation/ns-number-formatter.md +1 -1
  79. package/src/content/docs/reference/foundation/ns-operation.md +2 -2
  80. package/src/content/docs/reference/foundation/ns-pointer-array.md +1 -1
  81. package/src/content/docs/reference/foundation/ns-proxy.md +5 -3
  82. package/src/content/docs/reference/foundation/ns-scanner.md +7 -1
  83. package/src/content/docs/reference/foundation/ns-set.md +1 -1
  84. package/src/content/docs/reference/foundation/ns-simple-c-string.md +3 -4
  85. package/src/content/docs/reference/foundation/ns-time-zone.md +1 -1
  86. package/src/content/docs/reference/foundation/ns-ubiquitous-key-value-store.md +61 -0
  87. package/src/content/docs/reference/foundation/ns-url-connection.md +2 -2
  88. package/src/content/docs/reference/foundation/ns-url-request.md +2 -2
  89. package/src/content/docs/reference/foundation/ns-url-response.md +5 -5
  90. package/src/content/docs/reference/foundation/ns-url.md +1 -1
  91. package/src/content/docs/reference/foundation/ns-user-defaults.md +5 -5
  92. package/src/content/docs/reference/foundation/ns-value.md +15 -15
  93. package/src/content/docs/reference/global/agent-tools.md +91 -0
  94. package/src/content/docs/reference/global/application.md +4 -4
  95. package/src/content/docs/reference/global/builtin-commands.md +2 -2
  96. package/src/content/docs/reference/global/database.md +4 -4
  97. package/src/content/docs/reference/global/document.md +21 -0
  98. package/src/content/docs/reference/global/global-variables.md +22 -5
  99. package/src/content/docs/reference/global/jsb.md +6 -4
  100. package/src/content/docs/reference/global/meta.json +18 -0
  101. package/src/content/docs/reference/global/note.md +2 -2
  102. package/src/content/docs/reference/global/notebook.md +21 -0
  103. package/src/content/docs/reference/global/popup-menu-item.md +2 -2
  104. package/src/content/docs/reference/global/popup-menu.md +5 -6
  105. package/src/content/docs/reference/global/search-manager.md +12 -6
  106. package/src/content/docs/reference/global/self.md +1 -13
  107. package/src/content/docs/reference/js-runtime.md +5 -4
  108. package/src/content/docs/reference/marginnote/document-controller.md +37 -5
  109. package/src/content/docs/reference/marginnote/jsextension.md +7 -7
  110. package/src/content/docs/reference/marginnote/mb-book-note.md +162 -72
  111. package/src/content/docs/reference/marginnote/mb-book.md +3 -3
  112. package/src/content/docs/reference/marginnote/mb-model-tool.md +2 -2
  113. package/src/content/docs/reference/marginnote/mb-topic.md +13 -2
  114. package/src/content/docs/reference/marginnote/meta.json +18 -0
  115. package/src/content/docs/reference/marginnote/mindmap-node.md +2 -2
  116. package/src/content/docs/reference/marginnote/mindmap-view.md +2 -2
  117. package/src/content/docs/reference/marginnote/notebook-controller.md +1 -1
  118. package/src/content/docs/reference/marginnote/outline-view.md +2 -2
  119. package/src/content/docs/reference/marginnote/reader-controller.md +1 -1
  120. package/src/content/docs/reference/marginnote/study-controller.md +19 -19
  121. package/src/content/docs/reference/meta.json +14 -0
  122. package/src/content/docs/reference/quartzcore/caanimation-group.md +3 -3
  123. package/src/content/docs/reference/quartzcore/cabasic-animation.md +3 -3
  124. package/src/content/docs/reference/quartzcore/caemitter-layer.md +44 -0
  125. package/src/content/docs/reference/quartzcore/cagradient-layer.md +1 -1
  126. package/src/content/docs/reference/quartzcore/cakeyframe-animation.md +3 -3
  127. package/src/content/docs/reference/quartzcore/calayer.md +1 -1
  128. package/src/content/docs/reference/quartzcore/camedia-timing-function.md +1 -1
  129. package/src/content/docs/reference/quartzcore/caproperty-animation.md +1 -1
  130. package/src/content/docs/reference/quartzcore/careplicator-layer.md +2 -2
  131. package/src/content/docs/reference/quartzcore/cascroll-layer.md +1 -1
  132. package/src/content/docs/reference/quartzcore/cashape-layer.md +2 -2
  133. package/src/content/docs/reference/quartzcore/catext-layer.md +4 -4
  134. package/src/content/docs/reference/quartzcore/catransaction.md +5 -3
  135. package/src/content/docs/reference/quartzcore/catransform-layer.md +3 -3
  136. package/src/content/docs/reference/quartzcore/catransition.md +10 -6
  137. package/src/content/docs/reference/quartzcore/cavalue-function.md +1 -1
  138. package/src/content/docs/reference/quartzcore/meta.json +4 -0
  139. package/src/content/docs/reference/uikit/meta.json +4 -0
  140. package/src/content/docs/reference/uikit/ns-mutable-paragraph-style.md +3 -3
  141. package/src/content/docs/reference/uikit/ns-paragraph-style.md +3 -4
  142. package/src/content/docs/reference/uikit/ns-text-storage.md +4 -5
  143. package/src/content/docs/reference/uikit/uiactivity-indicator-view.md +2 -2
  144. package/src/content/docs/reference/uikit/uiapplication.md +1 -1
  145. package/src/content/docs/reference/uikit/uibar-button-item.md +3 -4
  146. package/src/content/docs/reference/uikit/uibar-item.md +2 -3
  147. package/src/content/docs/reference/uikit/uibezier-path.md +2 -2
  148. package/src/content/docs/reference/uikit/uibutton.md +1 -1
  149. package/src/content/docs/reference/uikit/uicollection-view-cell.md +5 -5
  150. package/src/content/docs/reference/uikit/uicollection-view-controller.md +22 -2
  151. package/src/content/docs/reference/uikit/uicollection-view-flow-layout.md +54 -0
  152. package/src/content/docs/reference/uikit/uicollection-view-layout.md +9 -2
  153. package/src/content/docs/reference/uikit/uicollection-view.md +13 -4
  154. package/src/content/docs/reference/uikit/uicolor.md +1 -1
  155. package/src/content/docs/reference/uikit/uicontrol.md +3 -5
  156. package/src/content/docs/reference/uikit/uidate-picker.md +1 -1
  157. package/src/content/docs/reference/uikit/uievent.md +2 -2
  158. package/src/content/docs/reference/uikit/uifont.md +1 -1
  159. package/src/content/docs/reference/uikit/uigesture-recognizer.md +1 -1
  160. package/src/content/docs/reference/uikit/uiimage-picker-controller.md +1 -1
  161. package/src/content/docs/reference/uikit/uiimage-view.md +2 -2
  162. package/src/content/docs/reference/uikit/uiimage.md +2 -2
  163. package/src/content/docs/reference/uikit/uikey-command.md +2 -2
  164. package/src/content/docs/reference/uikit/uilabel.md +3 -3
  165. package/src/content/docs/reference/uikit/uilocal-notification.md +2 -2
  166. package/src/content/docs/reference/uikit/uilong-press-gesture-recognizer.md +2 -2
  167. package/src/content/docs/reference/uikit/uinavigation-bar.md +2 -2
  168. package/src/content/docs/reference/uikit/uinavigation-controller.md +1 -1
  169. package/src/content/docs/reference/uikit/uinavigation-item.md +1 -1
  170. package/src/content/docs/reference/uikit/uipage-control.md +1 -1
  171. package/src/content/docs/reference/uikit/uipage-view-controller.md +1 -1
  172. package/src/content/docs/reference/uikit/uipan-gesture-recognizer.md +1 -1
  173. package/src/content/docs/reference/uikit/uipasteboard.md +1 -1
  174. package/src/content/docs/reference/uikit/uipicker-view.md +3 -3
  175. package/src/content/docs/reference/uikit/uipinch-gesture-recognizer.md +1 -1
  176. package/src/content/docs/reference/uikit/uipopover-controller.md +1 -1
  177. package/src/content/docs/reference/uikit/uiresponder.md +3 -4
  178. package/src/content/docs/reference/uikit/uirotation-gesture-recognizer.md +1 -1
  179. package/src/content/docs/reference/uikit/uiscreen-mode.md +2 -2
  180. package/src/content/docs/reference/uikit/uiscrollview.md +1 -1
  181. package/src/content/docs/reference/uikit/uisearch-bar.md +25 -2
  182. package/src/content/docs/reference/uikit/uisegmented-control.md +1 -1
  183. package/src/content/docs/reference/uikit/uislider.md +1 -1
  184. package/src/content/docs/reference/uikit/uiswipe-gesture-recognizer.md +1 -1
  185. package/src/content/docs/reference/uikit/uiswitch.md +2 -2
  186. package/src/content/docs/reference/uikit/uitab-bar-controller.md +2 -2
  187. package/src/content/docs/reference/uikit/uitab-bar-item.md +1 -1
  188. package/src/content/docs/reference/uikit/uitab-bar.md +1 -1
  189. package/src/content/docs/reference/uikit/uitable-view-cell.md +6 -6
  190. package/src/content/docs/reference/uikit/uitable-view-controller.md +1 -1
  191. package/src/content/docs/reference/uikit/uitable-view.md +3 -3
  192. package/src/content/docs/reference/uikit/uitap-gesture-recognizer.md +2 -2
  193. package/src/content/docs/reference/uikit/uitext-input-mode.md +7 -3
  194. package/src/content/docs/reference/uikit/uitext-position.md +5 -5
  195. package/src/content/docs/reference/uikit/uitext-range.md +4 -4
  196. package/src/content/docs/reference/uikit/uitext-view.md +2 -2
  197. package/src/content/docs/reference/uikit/uitextfield.md +3 -3
  198. package/src/content/docs/reference/uikit/uitoolbar.md +1 -1
  199. package/src/content/docs/reference/uikit/uitouch.md +3 -3
  200. package/src/content/docs/reference/uikit/uiview-controller.md +2 -2
  201. package/src/content/docs/reference/uikit/uiview.md +5 -5
  202. package/src/content/docs/reference/uikit/uiwebview.md +5 -5
  203. package/src/content/docs/reference/uikit/uiwindow.md +2 -2
  204. package/src/content/docs/reference/utility/menu-controller.md +1 -1
  205. package/src/content/docs/reference/utility/meta.json +4 -0
  206. package/src/content/docs/reference/utility/sqlite-result-set.md +1 -1
  207. package/src/content/docs/reference/utility/sqlite-statement.md +2 -2
  208. package/src/content/docs/reference/utility/zip-archive.md +13 -14
  209. package/src/content/docs/reference/value-sturct.md +105 -0
  210. package/src/lib/layout.tsx +31 -0
  211. package/src/lib/source.ts +7 -0
  212. package/tsconfig.json +42 -3
  213. package/astro.config.mjs +0 -126
  214. package/src/client/jsb-api-footer.ts +0 -242
  215. package/src/components/Footer.astro +0 -57
  216. package/src/components/Search.astro +0 -330
  217. package/src/content.config.ts +0 -7
  218. package/src/styles/starlight-overrides.css +0 -23
  219. /package/src/content/docs/{guides/cookbook → cookbook}/append-selection-as-comment.md +0 -0
  220. /package/src/content/docs/{guides/cookbook → cookbook}/batch-rename-notes.md +0 -0
  221. /package/src/content/docs/{guides/cookbook → cookbook}/export-notebook.md +0 -0
  222. /package/src/content/docs/{guides/cookbook → cookbook}/focus-note-in-mindmap.md +0 -0
@@ -1,330 +0,0 @@
1
- ---
2
- /**
3
- * 覆盖 Starlight 默认 Search 组件:
4
- * 默认实现只在 DOMContentLoaded 时初始化 Pagefind UI。
5
- * 但 Cloudflare Rocket Loader 可能把 module script 延迟到 DOMContentLoaded 之后才执行,
6
- * 导致监听器永远不触发,从而出现“搜索弹窗空白”。
7
- *
8
- * 这里改为:
9
- * - 若页面已非 loading:立即初始化
10
- * - 否则等待 DOMContentLoaded
11
- * 并用全局标记避免重复初始化。
12
- */
13
- import project from 'virtual:starlight/project-context';
14
-
15
- const pagefindTranslations = {
16
- placeholder: Astro.locals.t('search.label'),
17
- ...Object.fromEntries(
18
- Object.entries(Astro.locals.t.all())
19
- .filter(([key]) => key.startsWith('pagefind.'))
20
- .map(([key, value]) => [key.replace('pagefind.', ''), value])
21
- ),
22
- };
23
-
24
- const dataAttributes: DOMStringMap = { 'data-translations': JSON.stringify(pagefindTranslations) };
25
- if (project.trailingSlash === 'never') dataAttributes['data-strip-trailing-slash'] = '';
26
- ---
27
-
28
- <site-search class={Astro.props.class} {...dataAttributes}>
29
- <button
30
- data-open-modal
31
- disabled
32
- aria-label={Astro.locals.t('search.label')}
33
- aria-keyshortcuts="Control+K"
34
- >
35
- <svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="currentColor">
36
- <path
37
- d="M21.71 20.29 18 16.61A9 9 0 1 0 16.61 18l3.68 3.68a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.39ZM11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"
38
- />
39
- </svg>
40
- <span class="sl-hidden md:sl-block" aria-hidden="true">{Astro.locals.t('search.label')}</span>
41
- <kbd class="sl-hidden md:sl-flex" style="display: none;">
42
- <kbd>{Astro.locals.t('search.ctrlKey')}</kbd><kbd>K</kbd>
43
- </kbd>
44
- </button>
45
-
46
- <dialog style="padding:0" aria-label={Astro.locals.t('search.label')}>
47
- <div class="dialog-frame sl-flex">
48
- {
49
- /* TODO: Make the layout of this button flexible to accommodate different word lengths. Currently hard-coded for English: “Cancel” */
50
- }
51
- <button data-close-modal class="sl-flex md:sl-hidden">
52
- {Astro.locals.t('search.cancelLabel')}
53
- </button>
54
- {
55
- import.meta.env.DEV ? (
56
- <div style="margin: auto; text-align: center; white-space: pre-line;" dir="ltr">
57
- <p>{Astro.locals.t('search.devWarning')}</p>
58
- </div>
59
- ) : (
60
- <div class="search-container">
61
- <div id="starlight__search" />
62
- </div>
63
- )
64
- }
65
- </div>
66
- </dialog>
67
- </site-search>
68
-
69
- {
70
- /**
71
- * This is intentionally inlined to avoid briefly showing an invalid shortcut.
72
- * Purposely using the deprecated `navigator.platform` property to detect Apple devices, as the
73
- * user agent is spoofed by some browsers when opening the devtools.
74
- */
75
- }
76
- <script is:inline>
77
- (() => {
78
- const openBtn = document.querySelector('button[data-open-modal]');
79
- const shortcut = openBtn?.querySelector('kbd');
80
- if (!openBtn || !(shortcut instanceof HTMLElement)) return;
81
- const platformKey = shortcut.querySelector('kbd');
82
- if (platformKey && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)) {
83
- platformKey.textContent = '⌘';
84
- openBtn.setAttribute('aria-keyshortcuts', 'Meta+K');
85
- }
86
- shortcut.style.display = '';
87
- })();
88
- </script>
89
-
90
- <script>
91
- import { pagefindUserConfig } from 'virtual:starlight/pagefind-config';
92
-
93
- const PAGEFIND_INIT_FLAG = '__starlight_pagefind_ui_initialized__';
94
-
95
- class SiteSearch extends HTMLElement {
96
- constructor() {
97
- super();
98
- const openBtn = this.querySelector<HTMLButtonElement>('button[data-open-modal]')!;
99
- const closeBtn = this.querySelector<HTMLButtonElement>('button[data-close-modal]')!;
100
- const dialog = this.querySelector('dialog')!;
101
- const dialogFrame = this.querySelector('.dialog-frame')!;
102
-
103
- /** Close the modal if a user clicks on a link or outside of the modal. */
104
- const onClick = (event: MouseEvent) => {
105
- const isLink = 'href' in (event.target || {});
106
- if (
107
- isLink ||
108
- (document.body.contains(event.target as Node) &&
109
- !dialogFrame.contains(event.target as Node))
110
- ) {
111
- closeModal();
112
- }
113
- };
114
-
115
- const openModal = (event?: MouseEvent) => {
116
- dialog.showModal();
117
- document.body.toggleAttribute('data-search-modal-open', true);
118
- this.querySelector('input')?.focus();
119
- event?.stopPropagation();
120
- window.addEventListener('click', onClick);
121
- };
122
-
123
- const closeModal = () => dialog.close();
124
-
125
- openBtn.addEventListener('click', openModal);
126
- openBtn.disabled = false;
127
- closeBtn.addEventListener('click', closeModal);
128
-
129
- dialog.addEventListener('close', () => {
130
- document.body.toggleAttribute('data-search-modal-open', false);
131
- window.removeEventListener('click', onClick);
132
- });
133
-
134
- // Listen for `ctrl + k` and `cmd + k` keyboard shortcuts.
135
- window.addEventListener('keydown', (e) => {
136
- if ((e.metaKey === true || e.ctrlKey === true) && e.key === 'k') {
137
- dialog.open ? closeModal() : openModal();
138
- e.preventDefault();
139
- }
140
- });
141
-
142
- let translations = {};
143
- try {
144
- translations = JSON.parse(this.dataset.translations || '{}');
145
- } catch {}
146
-
147
- const shouldStrip = this.dataset.stripTrailingSlash !== undefined;
148
- const stripTrailingSlash = (path: string) => path.replace(/(.)\/(#.*)?$/, '$1$2');
149
- const formatURL = shouldStrip ? stripTrailingSlash : (path: string) => path;
150
-
151
- const initPagefind = async () => {
152
- if (import.meta.env.DEV) return;
153
- // 防止 Header / MobileMenu 等场景重复挂载
154
- if ((window as any)[PAGEFIND_INIT_FLAG]) return;
155
- (window as any)[PAGEFIND_INIT_FLAG] = true;
156
-
157
- const onIdle = window.requestIdleCallback || ((cb) => setTimeout(cb, 1));
158
- onIdle(async () => {
159
- // @ts-expect-error — Missing types for @pagefind/default-ui package.
160
- const { PagefindUI } = await import('@pagefind/default-ui');
161
- new PagefindUI({
162
- ...pagefindUserConfig,
163
- element: '#starlight__search',
164
- baseUrl: import.meta.env.BASE_URL,
165
- bundlePath: import.meta.env.BASE_URL.replace(/\/$/, '') + '/pagefind/',
166
- showImages: false,
167
- translations,
168
- showSubResults: true,
169
- processResult: (result: { url: string; sub_results: Array<{ url: string }> }) => {
170
- result.url = formatURL(result.url);
171
- result.sub_results = result.sub_results.map((sub_result) => {
172
- sub_result.url = formatURL(sub_result.url);
173
- return sub_result;
174
- });
175
- },
176
- });
177
- });
178
- };
179
-
180
- // Rocket Loader 可能让 script 在 DOMContentLoaded 之后才执行:因此不能只监听事件
181
- if (document.readyState === 'loading') {
182
- window.addEventListener('DOMContentLoaded', initPagefind, { once: true });
183
- } else {
184
- void initPagefind();
185
- }
186
- }
187
- }
188
- customElements.define('site-search', SiteSearch);
189
- </script>
190
-
191
- <style>
192
- @layer starlight.core {
193
- site-search {
194
- display: contents;
195
- }
196
- button[data-open-modal] {
197
- display: flex;
198
- align-items: center;
199
- gap: 0.5rem;
200
- border: 0;
201
- background-color: transparent;
202
- color: var(--sl-color-gray-1);
203
- cursor: pointer;
204
- height: 2.5rem;
205
- font-size: var(--sl-text-xl);
206
- }
207
-
208
- @media (min-width: 50rem) {
209
- button[data-open-modal] {
210
- border: 1px solid var(--sl-color-gray-5);
211
- border-radius: 0.5rem;
212
- padding-inline-start: 0.75rem;
213
- padding-inline-end: 0.5rem;
214
- background-color: var(--sl-color-black);
215
- color: var(--sl-color-gray-2);
216
- font-size: var(--sl-text-sm);
217
- width: 100%;
218
- max-width: 22rem;
219
- }
220
- button[data-open-modal]:hover {
221
- border-color: var(--sl-color-gray-2);
222
- color: var(--sl-color-white);
223
- }
224
-
225
- button[data-open-modal] > :last-child {
226
- margin-inline-start: auto;
227
- }
228
- }
229
-
230
- button > kbd {
231
- border-radius: 0.25rem;
232
- font-size: var(--sl-text-2xs);
233
- gap: 0.25em;
234
- padding-inline: 0.375rem;
235
- background-color: var(--sl-color-gray-6);
236
- }
237
-
238
- kbd {
239
- font-family: var(--__sl-font);
240
- }
241
-
242
- dialog {
243
- margin: 0;
244
- background-color: var(--sl-color-gray-6);
245
- border: 1px solid var(--sl-color-gray-5);
246
- width: 100%;
247
- max-width: 100%;
248
- height: 100%;
249
- max-height: 100%;
250
- box-shadow: var(--sl-shadow-lg);
251
- }
252
- dialog[open] {
253
- display: flex;
254
- }
255
-
256
- dialog::backdrop {
257
- background-color: var(--sl-color-backdrop-overlay);
258
- -webkit-backdrop-filter: blur(0.25rem);
259
- backdrop-filter: blur(0.25rem);
260
- }
261
-
262
- .dialog-frame {
263
- position: relative;
264
- overflow: auto;
265
- flex-direction: column;
266
- flex-grow: 1;
267
- gap: 1rem;
268
- padding: 1rem;
269
- }
270
-
271
- button[data-close-modal] {
272
- position: absolute;
273
- z-index: 1;
274
- align-items: center;
275
- align-self: flex-end;
276
- height: calc(64px * var(--pagefind-ui-scale));
277
- padding: 0.25rem;
278
- border: 0;
279
- background: transparent;
280
- cursor: pointer;
281
- color: var(--sl-color-text-accent);
282
- }
283
-
284
- #starlight__search {
285
- --pagefind-ui-primary: var(--sl-color-text);
286
- --pagefind-ui-text: var(--sl-color-gray-2);
287
- --pagefind-ui-font: var(--__sl-font);
288
- --pagefind-ui-background: var(--sl-color-black);
289
- --pagefind-ui-border: var(--sl-color-gray-5);
290
- --pagefind-ui-border-width: 1px;
291
- --pagefind-ui-tag: var(--sl-color-gray-5);
292
- --sl-search-cancel-space: 5rem;
293
- }
294
-
295
- :root[data-theme='light'] #starlight__search {
296
- --pagefind-ui-tag: var(--sl-color-gray-6);
297
- }
298
-
299
- @media (min-width: 50rem) {
300
- #starlight__search {
301
- --sl-search-cancel-space: 0px;
302
- }
303
-
304
- dialog {
305
- margin: 4rem auto auto;
306
- border-radius: 0.5rem;
307
- width: 90%;
308
- max-width: 40rem;
309
- height: max-content;
310
- min-height: 15rem;
311
- max-height: calc(100% - 8rem);
312
- }
313
-
314
- .dialog-frame {
315
- padding: 1.5rem;
316
- }
317
- }
318
- }
319
- </style>
320
-
321
- <style is:global>
322
- @import url('@pagefind/default-ui/css/ui.css') layer(starlight.core);
323
-
324
- @layer starlight.core {
325
- [data-search-modal-open] {
326
- overflow: hidden;
327
- }
328
- }
329
- </style>
330
-
@@ -1,7 +0,0 @@
1
- import { defineCollection } from 'astro:content';
2
- import { docsLoader } from '@astrojs/starlight/loaders';
3
- import { docsSchema } from '@astrojs/starlight/schema';
4
-
5
- export const collections = {
6
- docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
7
- };
@@ -1,23 +0,0 @@
1
- @layer starlight.overrides {
2
- /* Disable horizontal scrolling for tables and prefer wrapping instead. */
3
- .sl-markdown-content table:not(:where(.not-content *)) {
4
- display: table;
5
- overflow: visible;
6
- width: 100%;
7
- table-layout: fixed;
8
- }
9
-
10
- .sl-markdown-content :is(th, td):not(:where(.not-content *)) {
11
- white-space: normal;
12
- overflow-wrap: anywhere;
13
- word-break: break-word;
14
- }
15
-
16
- /* Inline code inside table cells should also wrap instead of forcing overflow. */
17
- .sl-markdown-content :is(th, td) code:not(:where(.not-content *)) {
18
- white-space: normal;
19
- overflow-wrap: anywhere;
20
- word-break: break-word;
21
- }
22
- }
23
-