specra 0.1.13 → 0.2.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 (276) hide show
  1. package/LICENSE.MD +25 -4
  2. package/README.md +67 -58
  3. package/config/specra.config.schema.json +16 -0
  4. package/config/svelte-config.js +63 -0
  5. package/dist/api-parser.types.d.ts +59 -0
  6. package/dist/api-parser.types.js +5 -0
  7. package/dist/api.types.d.ts +137 -0
  8. package/dist/api.types.js +5 -0
  9. package/dist/category.d.ts +21 -0
  10. package/dist/category.js +48 -0
  11. package/dist/components/ConfigProvider.svelte +13 -0
  12. package/dist/components/ConfigProvider.svelte.d.ts +31 -0
  13. package/dist/components/docs/Accordion.svelte +18 -0
  14. package/dist/components/docs/Accordion.svelte.d.ts +10 -0
  15. package/dist/components/docs/AccordionItem.svelte +41 -0
  16. package/dist/components/docs/AccordionItem.svelte.d.ts +10 -0
  17. package/dist/components/docs/Badge.svelte +28 -0
  18. package/dist/components/docs/Badge.svelte.d.ts +9 -0
  19. package/dist/components/docs/Breadcrumb.svelte +80 -0
  20. package/dist/components/docs/Breadcrumb.svelte.d.ts +8 -0
  21. package/dist/components/docs/Callout.svelte +96 -0
  22. package/dist/components/docs/Callout.svelte.d.ts +10 -0
  23. package/dist/components/docs/Card.svelte +63 -0
  24. package/dist/components/docs/Card.svelte.d.ts +12 -0
  25. package/dist/components/docs/CardGrid.svelte +24 -0
  26. package/dist/components/docs/CardGrid.svelte.d.ts +8 -0
  27. package/dist/components/docs/CategoryIndex.svelte +110 -0
  28. package/dist/components/docs/CategoryIndex.svelte.d.ts +29 -0
  29. package/dist/components/docs/CodeBlock.svelte +172 -0
  30. package/dist/components/docs/CodeBlock.svelte.d.ts +8 -0
  31. package/dist/components/docs/Column.svelte +25 -0
  32. package/dist/components/docs/Column.svelte.d.ts +8 -0
  33. package/dist/components/docs/Columns.svelte +38 -0
  34. package/dist/components/docs/Columns.svelte.d.ts +13 -0
  35. package/dist/components/docs/DevModeBadge.svelte +15 -0
  36. package/dist/components/docs/DevModeBadge.svelte.d.ts +18 -0
  37. package/dist/components/docs/DocBadge.svelte +28 -0
  38. package/dist/components/docs/DocBadge.svelte.d.ts +9 -0
  39. package/dist/components/docs/DocLayout.svelte +107 -0
  40. package/dist/components/docs/DocLayout.svelte.d.ts +32 -0
  41. package/dist/components/docs/DocLoading.svelte +53 -0
  42. package/dist/components/docs/DocLoading.svelte.d.ts +18 -0
  43. package/dist/components/docs/DocMetadata.svelte +106 -0
  44. package/dist/components/docs/DocMetadata.svelte.d.ts +18 -0
  45. package/dist/components/docs/DocNavigation.svelte +56 -0
  46. package/dist/components/docs/DocNavigation.svelte.d.ts +12 -0
  47. package/dist/components/docs/DocTags.svelte +22 -0
  48. package/dist/components/docs/DocTags.svelte.d.ts +6 -0
  49. package/dist/components/docs/DraftBadge.svelte +10 -0
  50. package/dist/components/docs/DraftBadge.svelte.d.ts +18 -0
  51. package/dist/components/docs/Footer.svelte +72 -0
  52. package/dist/components/docs/Footer.svelte.d.ts +7 -0
  53. package/dist/components/docs/Frame.svelte +27 -0
  54. package/dist/components/docs/Frame.svelte.d.ts +9 -0
  55. package/dist/components/docs/Header.svelte +123 -0
  56. package/dist/components/docs/Header.svelte.d.ts +9 -0
  57. package/dist/components/docs/HeaderWithMenu.svelte +34 -0
  58. package/dist/components/docs/HeaderWithMenu.svelte.d.ts +17 -0
  59. package/dist/components/docs/HotReloadIndicator.svelte +44 -0
  60. package/dist/components/docs/HotReloadIndicator.svelte.d.ts +3 -0
  61. package/dist/components/docs/Icon.svelte +103 -0
  62. package/dist/components/docs/Icon.svelte.d.ts +11 -0
  63. package/dist/components/docs/Image.svelte +88 -0
  64. package/dist/components/docs/Image.svelte.d.ts +11 -0
  65. package/dist/components/docs/ImageCard.svelte +91 -0
  66. package/dist/components/docs/ImageCard.svelte.d.ts +12 -0
  67. package/dist/components/docs/ImageCardGrid.svelte +25 -0
  68. package/dist/components/docs/ImageCardGrid.svelte.d.ts +8 -0
  69. package/dist/components/docs/LayoutProviders.svelte +57 -0
  70. package/dist/components/docs/LayoutProviders.svelte.d.ts +9 -0
  71. package/dist/components/docs/Logo.svelte +25 -0
  72. package/dist/components/docs/Logo.svelte.d.ts +11 -0
  73. package/dist/components/docs/Math.svelte +54 -0
  74. package/dist/components/docs/Math.svelte.d.ts +7 -0
  75. package/dist/components/docs/MdxContent.svelte +41 -0
  76. package/dist/components/docs/MdxHotReload.svelte +78 -0
  77. package/dist/components/docs/MdxHotReload.svelte.d.ts +9 -0
  78. package/dist/components/docs/MdxLayout.svelte +16 -0
  79. package/dist/components/docs/MdxLayout.svelte.d.ts +6 -0
  80. package/dist/components/docs/Mermaid.svelte +88 -0
  81. package/dist/components/docs/Mermaid.svelte.d.ts +7 -0
  82. package/dist/components/docs/MobileDocLayout.svelte +211 -0
  83. package/dist/components/docs/MobileDocLayout.svelte.d.ts +35 -0
  84. package/dist/components/docs/MobileSidebar.svelte +122 -0
  85. package/dist/components/docs/MobileSidebar.svelte.d.ts +31 -0
  86. package/dist/components/docs/MobileSidebarWrapper.svelte +122 -0
  87. package/dist/components/docs/MobileSidebarWrapper.svelte.d.ts +32 -0
  88. package/dist/components/docs/NotFoundContent.svelte +40 -0
  89. package/dist/components/docs/NotFoundContent.svelte.d.ts +6 -0
  90. package/dist/components/docs/SearchHighlight.svelte +116 -0
  91. package/dist/components/docs/SearchHighlight.svelte.d.ts +3 -0
  92. package/dist/components/docs/SearchModal.svelte +239 -0
  93. package/dist/components/docs/SearchModal.svelte.d.ts +9 -0
  94. package/dist/components/docs/Sidebar.svelte +69 -0
  95. package/dist/components/docs/Sidebar.svelte.d.ts +31 -0
  96. package/dist/components/docs/SidebarMenuItems.svelte +344 -0
  97. package/dist/components/docs/SidebarMenuItems.svelte.d.ts +33 -0
  98. package/dist/components/docs/SidebarSkeleton.svelte +50 -0
  99. package/dist/components/docs/SidebarSkeleton.svelte.d.ts +18 -0
  100. package/dist/components/docs/SiteBanner.svelte +92 -0
  101. package/dist/components/docs/SiteBanner.svelte.d.ts +7 -0
  102. package/dist/components/docs/Step.svelte +44 -0
  103. package/dist/components/docs/Step.svelte.d.ts +8 -0
  104. package/dist/components/docs/Steps.svelte +15 -0
  105. package/dist/components/docs/Steps.svelte.d.ts +7 -0
  106. package/dist/components/docs/Tab.svelte +40 -0
  107. package/dist/components/docs/Tab.svelte.d.ts +8 -0
  108. package/dist/components/docs/TabGroups.svelte +183 -0
  109. package/dist/components/docs/TabGroups.svelte.d.ts +25 -0
  110. package/dist/components/docs/TableOfContents.svelte +100 -0
  111. package/dist/components/docs/TableOfContents.svelte.d.ts +9 -0
  112. package/dist/components/docs/Tabs.svelte +69 -0
  113. package/dist/components/docs/Tabs.svelte.d.ts +8 -0
  114. package/dist/components/docs/ThemeToggle.svelte +16 -0
  115. package/dist/components/docs/ThemeToggle.svelte.d.ts +18 -0
  116. package/dist/components/docs/Tooltip.svelte +44 -0
  117. package/dist/components/docs/Tooltip.svelte.d.ts +10 -0
  118. package/dist/components/docs/VersionSwitcher.svelte +95 -0
  119. package/dist/components/docs/VersionSwitcher.svelte.d.ts +7 -0
  120. package/dist/components/docs/Video.svelte +84 -0
  121. package/dist/components/docs/Video.svelte.d.ts +12 -0
  122. package/dist/components/docs/api/ApiEndpoint.svelte +61 -0
  123. package/dist/components/docs/api/ApiEndpoint.svelte.d.ts +11 -0
  124. package/dist/components/docs/api/ApiParams.svelte +80 -0
  125. package/dist/components/docs/api/ApiParams.svelte.d.ts +14 -0
  126. package/dist/components/docs/api/ApiPlayground.svelte +259 -0
  127. package/dist/components/docs/api/ApiPlayground.svelte.d.ts +16 -0
  128. package/dist/components/docs/api/ApiReference.svelte +278 -0
  129. package/dist/components/docs/api/ApiReference.svelte.d.ts +23 -0
  130. package/dist/components/docs/api/ApiResponse.svelte +66 -0
  131. package/dist/components/docs/api/ApiResponse.svelte.d.ts +9 -0
  132. package/dist/components/docs/api/index.d.ts +5 -0
  133. package/dist/components/docs/api/index.js +5 -0
  134. package/dist/components/docs/componentTextProps.d.ts +3 -0
  135. package/dist/components/docs/componentTextProps.js +61 -0
  136. package/dist/components/docs/index.d.ts +54 -0
  137. package/dist/components/docs/index.js +56 -0
  138. package/dist/components/global/VersionNotFound.svelte +48 -0
  139. package/dist/components/global/VersionNotFound.svelte.d.ts +7 -0
  140. package/dist/components/global/index.d.ts +1 -0
  141. package/dist/components/global/index.js +1 -0
  142. package/dist/components/index.d.ts +6 -822
  143. package/dist/components/index.js +11 -3854
  144. package/dist/components/ui/Badge.svelte +48 -0
  145. package/dist/components/ui/Badge.svelte.d.ts +15 -0
  146. package/dist/components/ui/Button.svelte +58 -0
  147. package/dist/components/ui/Button.svelte.d.ts +17 -0
  148. package/dist/components/ui/Dialog.svelte +16 -0
  149. package/dist/components/ui/Dialog.svelte.d.ts +9 -0
  150. package/dist/components/ui/DialogClose.svelte +16 -0
  151. package/dist/components/ui/DialogClose.svelte.d.ts +9 -0
  152. package/dist/components/ui/DialogContent.svelte +43 -0
  153. package/dist/components/ui/DialogContent.svelte.d.ts +10 -0
  154. package/dist/components/ui/DialogDescription.svelte +21 -0
  155. package/dist/components/ui/DialogDescription.svelte.d.ts +9 -0
  156. package/dist/components/ui/DialogFooter.svelte +20 -0
  157. package/dist/components/ui/DialogFooter.svelte.d.ts +9 -0
  158. package/dist/components/ui/DialogHeader.svelte +20 -0
  159. package/dist/components/ui/DialogHeader.svelte.d.ts +9 -0
  160. package/dist/components/ui/DialogTitle.svelte +21 -0
  161. package/dist/components/ui/DialogTitle.svelte.d.ts +9 -0
  162. package/dist/components/ui/Input.svelte +23 -0
  163. package/dist/components/ui/Input.svelte.d.ts +8 -0
  164. package/dist/components/ui/Textarea.svelte +19 -0
  165. package/dist/components/ui/Textarea.svelte.d.ts +7 -0
  166. package/dist/components/ui/index.d.ts +11 -0
  167. package/dist/components/ui/index.js +11 -0
  168. package/dist/config.d.ts +8 -0
  169. package/dist/config.js +9 -0
  170. package/dist/config.schema.json +471 -0
  171. package/dist/config.server.d.ts +46 -0
  172. package/dist/config.server.js +149 -0
  173. package/dist/{mdx-ColN3Cyg.d.mts → config.types.d.ts} +22 -75
  174. package/dist/config.types.js +39 -0
  175. package/dist/dev-utils.d.ts +29 -0
  176. package/dist/dev-utils.js +63 -0
  177. package/dist/index.d.ts +19 -4
  178. package/dist/index.js +25 -4861
  179. package/dist/mdx-cache.d.ts +41 -0
  180. package/dist/mdx-cache.js +160 -0
  181. package/dist/mdx-components.js +50 -1931
  182. package/dist/mdx-security.d.ts +76 -0
  183. package/dist/mdx-security.js +217 -0
  184. package/dist/mdx.d.ts +73 -0
  185. package/dist/mdx.js +1099 -0
  186. package/dist/middleware/index.d.ts +1 -0
  187. package/dist/middleware/index.js +2 -0
  188. package/dist/middleware/security.d.ts +22 -47
  189. package/dist/middleware/security.js +111 -137
  190. package/dist/parsers/base-parser.d.ts +14 -0
  191. package/dist/parsers/base-parser.js +1 -0
  192. package/dist/parsers/index.d.ts +16 -0
  193. package/dist/parsers/index.js +51 -0
  194. package/dist/parsers/openapi-parser.d.ts +18 -0
  195. package/dist/parsers/openapi-parser.js +209 -0
  196. package/dist/parsers/postman-parser.d.ts +20 -0
  197. package/dist/parsers/postman-parser.js +260 -0
  198. package/dist/parsers/specra-parser.d.ts +10 -0
  199. package/dist/parsers/specra-parser.js +18 -0
  200. package/dist/redirects.d.ts +12 -0
  201. package/dist/redirects.js +30 -0
  202. package/dist/remark-code-meta.d.ts +6 -0
  203. package/dist/remark-code-meta.js +21 -0
  204. package/dist/sidebar-utils.d.ts +59 -0
  205. package/dist/sidebar-utils.js +144 -0
  206. package/dist/stores/config.d.ts +20 -0
  207. package/dist/stores/config.js +45 -0
  208. package/dist/stores/index.d.ts +4 -0
  209. package/dist/stores/index.js +4 -0
  210. package/dist/stores/sidebar.d.ts +7 -0
  211. package/dist/stores/sidebar.js +12 -0
  212. package/dist/stores/tabs.d.ts +6 -0
  213. package/dist/stores/tabs.js +41 -0
  214. package/dist/stores/theme.d.ts +7 -0
  215. package/dist/stores/theme.js +75 -0
  216. package/dist/{styles.css → styles/globals.css} +136 -6
  217. package/dist/toc.d.ts +9 -0
  218. package/dist/toc.js +15 -0
  219. package/dist/utils.d.ts +13 -0
  220. package/dist/utils.js +30 -0
  221. package/package.json +47 -90
  222. package/dist/app/api/mdx-watch/route.d.mts +0 -10
  223. package/dist/app/api/mdx-watch/route.d.ts +0 -10
  224. package/dist/app/api/mdx-watch/route.js +0 -118
  225. package/dist/app/api/mdx-watch/route.js.map +0 -1
  226. package/dist/app/api/mdx-watch/route.mjs +0 -91
  227. package/dist/app/api/mdx-watch/route.mjs.map +0 -1
  228. package/dist/chunk-6S3EJVEO.mjs +0 -259
  229. package/dist/chunk-6S3EJVEO.mjs.map +0 -1
  230. package/dist/chunk-BE7EROIW.mjs +0 -212
  231. package/dist/chunk-BE7EROIW.mjs.map +0 -1
  232. package/dist/chunk-CWHRZHZO.mjs +0 -168
  233. package/dist/chunk-CWHRZHZO.mjs.map +0 -1
  234. package/dist/chunk-D5VDVYFY.mjs +0 -1325
  235. package/dist/chunk-D5VDVYFY.mjs.map +0 -1
  236. package/dist/chunk-WMCO2UX5.mjs +0 -585
  237. package/dist/chunk-WMCO2UX5.mjs.map +0 -1
  238. package/dist/chunk-XEMGCPZZ.mjs +0 -475
  239. package/dist/chunk-XEMGCPZZ.mjs.map +0 -1
  240. package/dist/components/index.d.mts +0 -822
  241. package/dist/components/index.js.map +0 -1
  242. package/dist/components/index.mjs +0 -3741
  243. package/dist/components/index.mjs.map +0 -1
  244. package/dist/index.d.mts +0 -4
  245. package/dist/index.js.map +0 -1
  246. package/dist/index.mjs +0 -1897
  247. package/dist/index.mjs.map +0 -1
  248. package/dist/layouts/index.d.mts +0 -34
  249. package/dist/layouts/index.d.ts +0 -34
  250. package/dist/layouts/index.js +0 -453
  251. package/dist/layouts/index.js.map +0 -1
  252. package/dist/layouts/index.mjs +0 -173
  253. package/dist/layouts/index.mjs.map +0 -1
  254. package/dist/lib/index.d.mts +0 -583
  255. package/dist/lib/index.d.ts +0 -583
  256. package/dist/lib/index.js +0 -1595
  257. package/dist/lib/index.js.map +0 -1
  258. package/dist/lib/index.mjs +0 -111
  259. package/dist/lib/index.mjs.map +0 -1
  260. package/dist/mdx-ColN3Cyg.d.ts +0 -352
  261. package/dist/mdx-components.d.mts +0 -86
  262. package/dist/mdx-components.d.ts +0 -86
  263. package/dist/mdx-components.js.map +0 -1
  264. package/dist/mdx-components.mjs +0 -206
  265. package/dist/mdx-components.mjs.map +0 -1
  266. package/dist/middleware/security.d.mts +0 -82
  267. package/dist/middleware/security.js.map +0 -1
  268. package/dist/middleware/security.mjs +0 -84
  269. package/dist/middleware/security.mjs.map +0 -1
  270. package/dist/styles.css.map +0 -1
  271. package/dist/styles.d.mts +0 -2
  272. package/dist/styles.d.ts +0 -2
  273. package/dist/styles.js +0 -2
  274. package/dist/styles.js.map +0 -1
  275. package/dist/styles.mjs +0 -1
  276. package/dist/styles.mjs.map +0 -1
@@ -1,352 +0,0 @@
1
- /**
2
- * Configuration schema for Specra documentation system
3
- */
4
- /**
5
- * Site metadata and branding
6
- */
7
- interface SiteConfig {
8
- /** The title of the documentation site */
9
- title: string;
10
- /** Short description of the documentation */
11
- description?: string;
12
- /** URL where the documentation is hosted */
13
- url?: string;
14
- /** Base URL path for the documentation (e.g., '/docs') */
15
- baseUrl?: string;
16
- /** Path to the site logo - can be a string or an object with light/dark variants */
17
- logo?: string | {
18
- light: string;
19
- dark: string;
20
- };
21
- /** Path to the favicon */
22
- favicon?: string;
23
- /** Default language for the documentation */
24
- language?: string;
25
- /** Organization or author name */
26
- organizationName?: string;
27
- /** Project name */
28
- projectName?: string;
29
- /** Active/default version for the documentation */
30
- activeVersion?: string;
31
- /** Whether to hide the site title in the header */
32
- hideTitle?: boolean;
33
- /** Whether to hide the site logo in the header */
34
- hideLogo?: boolean;
35
- }
36
- /**
37
- * Theme and appearance settings
38
- */
39
- interface ThemeConfig {
40
- /** Primary color for the theme */
41
- primaryColor?: string;
42
- /** Default theme mode */
43
- defaultMode?: "light" | "dark" | "system";
44
- /** Whether to respect system preferences */
45
- respectPrefersColorScheme?: boolean;
46
- /** Custom CSS file path */
47
- customCss?: string;
48
- }
49
- /**
50
- * Tab group for organizing documentation
51
- */
52
- interface TabGroup {
53
- /** Unique identifier for the tab group */
54
- id: string;
55
- /** Display label for the tab */
56
- label: string;
57
- /** Optional icon name (lucide-react icon) */
58
- icon?: string;
59
- }
60
- /**
61
- * Navigation and sidebar configuration
62
- */
63
- interface NavigationConfig {
64
- /** Whether to show the sidebar by default */
65
- showSidebar?: boolean;
66
- /** Whether the sidebar is collapsible */
67
- collapsibleSidebar?: boolean;
68
- /** Whether to show breadcrumbs */
69
- showBreadcrumbs?: boolean;
70
- /** Whether to show table of contents */
71
- showTableOfContents?: boolean;
72
- /** Position of table of contents */
73
- tocPosition?: "left" | "right";
74
- /** Maximum depth for table of contents */
75
- tocMaxDepth?: number;
76
- /** Tab groups for organizing documentation sections */
77
- tabGroups?: TabGroup[];
78
- }
79
- /**
80
- * Social and external links
81
- */
82
- interface SocialLinks {
83
- /** GitHub repository URL */
84
- github?: string;
85
- /** Twitter/X handle or URL */
86
- twitter?: string;
87
- /** Discord invite URL */
88
- discord?: string;
89
- /** LinkedIn profile or company page */
90
- linkedin?: string;
91
- /** YouTube channel URL */
92
- youtube?: string;
93
- /** Custom social links */
94
- custom?: Array<{
95
- label: string;
96
- url: string;
97
- icon?: string;
98
- }>;
99
- }
100
- /**
101
- * Search configuration
102
- */
103
- interface SearchConfig {
104
- /** Enable/disable search functionality */
105
- enabled?: boolean;
106
- /** Placeholder text for search input */
107
- placeholder?: string;
108
- /** Search provider type */
109
- provider?: "meilisearch" | "algolia" | "local";
110
- /** Meilisearch configuration */
111
- meilisearch?: {
112
- /** Meilisearch server URL */
113
- host: string;
114
- /** API key for Meilisearch */
115
- apiKey?: string;
116
- /** Index name */
117
- indexName: string;
118
- };
119
- }
120
- /**
121
- * Analytics configuration
122
- */
123
- interface AnalyticsConfig {
124
- /** Google Analytics tracking ID */
125
- googleAnalytics?: string;
126
- /** Google Tag Manager ID */
127
- googleTagManager?: string;
128
- /** Plausible Analytics domain */
129
- plausible?: string;
130
- /** Custom analytics scripts */
131
- custom?: Array<{
132
- src: string;
133
- async?: boolean;
134
- defer?: boolean;
135
- }>;
136
- }
137
- /**
138
- * Footer branding configuration
139
- */
140
- interface FooterBranding {
141
- /** Whether to show the branding */
142
- showBranding?: boolean;
143
- /** Logo for the branding - can be a string or an object with light/dark variants */
144
- logo?: string | {
145
- light: string;
146
- dark: string;
147
- };
148
- /** Title text for the branding */
149
- title?: string;
150
- /** URL to link to when branding is clicked */
151
- url?: string;
152
- }
153
- /**
154
- * Footer configuration
155
- */
156
- interface FooterConfig {
157
- /** Copyright text */
158
- copyright?: string;
159
- /** Footer links organized by columns */
160
- links?: Array<{
161
- title: string;
162
- items: Array<{
163
- label: string;
164
- href: string;
165
- }>;
166
- }>;
167
- /** Custom footer content */
168
- customContent?: string;
169
- /** Branding configuration for "Powered by" section */
170
- branding?: FooterBranding;
171
- }
172
- /**
173
- * Documentation features
174
- */
175
- interface FeaturesConfig {
176
- /**
177
- * Enable/disable edit this page links.
178
- * Provide a URL template (e.g., "https://github.com/user/repo/edit/main/docs") or false to disable
179
- */
180
- editUrl?: string | boolean;
181
- /** Show last updated timestamp */
182
- showLastUpdated?: boolean;
183
- /** Show reading time estimate */
184
- showReadingTime?: boolean;
185
- /** Show author information */
186
- showAuthors?: boolean;
187
- /** Show tags */
188
- showTags?: boolean;
189
- /** Enable version dropdown */
190
- versioning?: boolean;
191
- /**
192
- * Internationalization (i18n) configuration
193
- * Set to true to enable with defaults, or provide configuration object
194
- */
195
- i18n?: boolean | I18nConfig;
196
- }
197
- /**
198
- * Internationalization configuration
199
- */
200
- interface I18nConfig {
201
- /** The default locale (e.g. 'en') - used when no locale is present in URL */
202
- defaultLocale: string;
203
- /** List of supported locales (e.g. ['en', 'fr', 'es']) */
204
- locales: string[];
205
- /** Map of locale codes to display names (e.g. { en: "English", fr: "Français" }) */
206
- localeNames?: Record<string, string>;
207
- /** Whether to use locale subpaths for default locale (default: false) */
208
- prefixDefault?: boolean;
209
- }
210
- /**
211
- * Site-wide banner configuration
212
- */
213
- interface BannerConfig {
214
- /** Whether the banner is enabled */
215
- enabled?: boolean;
216
- /** Banner message */
217
- message?: string;
218
- /** Banner type */
219
- type?: "info" | "warning" | "success" | "error";
220
- /** Whether the banner can be dismissed */
221
- dismissible?: boolean;
222
- }
223
- /**
224
- * Environment variables that can be used in documentation
225
- * These will be replaced at build time or runtime
226
- */
227
- interface EnvironmentVariables {
228
- /** API base URL */
229
- API_BASE_URL?: string;
230
- /** API version */
231
- API_VERSION?: string;
232
- /** CDN URL */
233
- CDN_URL?: string;
234
- /** Custom environment variables */
235
- [key: string]: string | undefined;
236
- }
237
- /**
238
- * Deployment configuration for different hosting scenarios
239
- */
240
- interface DeploymentConfig {
241
- /**
242
- * Deployment target
243
- * - 'vercel': For Vercel or similar Node.js hosting (uses 'standalone' output)
244
- * - 'github-pages': For GitHub Pages static hosting (uses 'export' output)
245
- * - 'static': For any static hosting like Netlify, Cloudflare Pages, etc.
246
- * - 'custom-domain-static': For static hosting with custom domain (no basePath needed)
247
- */
248
- target?: "vercel" | "github-pages" | "static" | "custom-domain-static";
249
- /**
250
- * Base path for assets when deploying to GitHub Pages without custom domain
251
- * This should be your repository name (e.g., 'my-repo')
252
- * Only used when target is 'github-pages' and no custom domain is configured
253
- */
254
- basePath?: string;
255
- /**
256
- * Whether a custom domain is configured
257
- * When true, basePath will be ignored even for GitHub Pages
258
- */
259
- customDomain?: boolean;
260
- }
261
- /**
262
- * Main configuration interface
263
- */
264
- interface SpecraConfig {
265
- /** JSON Schema reference (for IDE support) */
266
- $schema?: string;
267
- /** Site metadata and branding */
268
- site: SiteConfig;
269
- /** Theme and appearance settings */
270
- theme?: ThemeConfig;
271
- /** Navigation and sidebar configuration */
272
- navigation?: NavigationConfig;
273
- /** Social and external links */
274
- social?: SocialLinks;
275
- /** Search configuration */
276
- search?: SearchConfig;
277
- /** Analytics configuration */
278
- analytics?: AnalyticsConfig;
279
- /** Footer configuration */
280
- footer?: FooterConfig;
281
- /** Site-wide banner */
282
- banner?: BannerConfig;
283
- /** Documentation features */
284
- features?: FeaturesConfig;
285
- /** Environment variables for use in docs */
286
- env?: EnvironmentVariables;
287
- /** Deployment configuration */
288
- deployment?: DeploymentConfig;
289
- }
290
- /**
291
- * Default configuration values
292
- */
293
- declare const defaultConfig: SpecraConfig;
294
-
295
- interface DocMeta {
296
- title: string;
297
- description?: string;
298
- slug?: string;
299
- section?: string;
300
- group?: string;
301
- sidebar?: string;
302
- order?: number;
303
- sidebar_position?: number;
304
- content?: string;
305
- last_updated?: string;
306
- draft?: boolean;
307
- authors?: Array<{
308
- id: string;
309
- name?: string;
310
- }>;
311
- tags?: string[];
312
- redirect_from?: string[];
313
- reading_time?: number;
314
- word_count?: number;
315
- icon?: string;
316
- tab_group?: string;
317
- locale?: string;
318
- }
319
- interface Doc {
320
- slug: string;
321
- filePath: string;
322
- title: string;
323
- meta: DocMeta;
324
- content: string;
325
- categoryLabel?: string;
326
- categoryPosition?: number;
327
- categoryCollapsible?: boolean;
328
- categoryCollapsed?: boolean;
329
- categoryIcon?: string;
330
- categoryTabGroup?: string;
331
- locale?: string;
332
- }
333
- interface TocItem {
334
- id: string;
335
- title: string;
336
- level: number;
337
- }
338
- declare function getVersions(): string[];
339
- declare function getI18nConfig(): I18nConfig | null;
340
- declare function getDocBySlug(slug: string, version?: string, locale?: string): Promise<Doc | null>;
341
- declare function getAllDocs(version?: string, locale?: string): Promise<Doc[]>;
342
- declare function getAdjacentDocs(currentSlug: string, allDocs: Doc[]): {
343
- previous?: Doc;
344
- next?: Doc;
345
- };
346
- declare function extractTableOfContents(content: string): TocItem[];
347
- /**
348
- * Check if a slug represents a category (has child documents)
349
- */
350
- declare function isCategoryPage(slug: string, allDocs: Doc[]): boolean;
351
-
352
- export { type AnalyticsConfig as A, type BannerConfig as B, type DocMeta as D, type EnvironmentVariables as E, type FooterBranding as F, type I18nConfig as I, type NavigationConfig as N, type SpecraConfig as S, type TocItem as T, type Doc as a, getI18nConfig as b, getDocBySlug as c, getAllDocs as d, getAdjacentDocs as e, extractTableOfContents as f, getVersions as g, defaultConfig as h, isCategoryPage as i, type SiteConfig as j, type ThemeConfig as k, type TabGroup as l, type SocialLinks as m, type SearchConfig as n, type FooterConfig as o, type FeaturesConfig as p, type DeploymentConfig as q };
@@ -1,86 +0,0 @@
1
- import { MDXComponents } from 'mdx/types';
2
- import * as react_jsx_runtime from 'react/jsx-runtime';
3
- import * as react from 'react';
4
- import { CodeBlock, Callout, Accordion, AccordionItem, Tabs, Tab, Image, Video, Card, CardGrid, ImageCard, ImageCardGrid, Steps, Step, Icon, Mermaid, Math, Columns, Column, Badge, Tooltip, Frame, ApiEndpoint, ApiParams, ApiResponse, ApiPlayground, ApiReference } from './components/index';
5
-
6
- declare const mdxComponents: {
7
- CodeBlock: typeof CodeBlock;
8
- Callout: typeof Callout;
9
- Accordion: typeof Accordion;
10
- AccordionItem: typeof AccordionItem;
11
- Tabs: typeof Tabs;
12
- Tab: typeof Tab;
13
- Image: typeof Image;
14
- Video: typeof Video;
15
- Card: typeof Card;
16
- CardGrid: typeof CardGrid;
17
- ImageCard: typeof ImageCard;
18
- ImageCardGrid: typeof ImageCardGrid;
19
- Steps: typeof Steps;
20
- Step: typeof Step;
21
- Icon: typeof Icon;
22
- Mermaid: typeof Mermaid;
23
- Math: typeof Math;
24
- Columns: typeof Columns;
25
- Column: typeof Column;
26
- Badge: typeof Badge;
27
- Tooltip: typeof Tooltip;
28
- Frame: typeof Frame;
29
- ApiEndpoint: typeof ApiEndpoint;
30
- ApiParams: typeof ApiParams;
31
- ApiResponse: typeof ApiResponse;
32
- ApiPlayground: typeof ApiPlayground;
33
- ApiReference: typeof ApiReference;
34
- h1: ({ children }: {
35
- children: react.ReactNode;
36
- }) => react_jsx_runtime.JSX.Element;
37
- h2: ({ children, id }: {
38
- children: react.ReactNode;
39
- id?: string;
40
- }) => react_jsx_runtime.JSX.Element;
41
- h3: ({ children, id }: {
42
- children: react.ReactNode;
43
- id?: string;
44
- }) => react_jsx_runtime.JSX.Element;
45
- p: ({ children }: {
46
- children: react.ReactNode;
47
- }) => react_jsx_runtime.JSX.Element;
48
- code: ({ children, className, meta, ...props }: {
49
- children: react.ReactNode;
50
- className?: string;
51
- meta?: string;
52
- [key: string]: any;
53
- }) => react_jsx_runtime.JSX.Element;
54
- pre: ({ children }: {
55
- children: react.ReactNode;
56
- }) => react_jsx_runtime.JSX.Element;
57
- ul: ({ children }: {
58
- children: react.ReactNode;
59
- }) => react_jsx_runtime.JSX.Element;
60
- ol: ({ children }: {
61
- children: react.ReactNode;
62
- }) => react_jsx_runtime.JSX.Element;
63
- li: ({ children }: {
64
- children: react.ReactNode;
65
- }) => react_jsx_runtime.JSX.Element;
66
- a: ({ children, href }: {
67
- children: react.ReactNode;
68
- href?: string;
69
- }) => react_jsx_runtime.JSX.Element;
70
- blockquote: ({ children }: {
71
- children: react.ReactNode;
72
- }) => react_jsx_runtime.JSX.Element;
73
- table: ({ children }: {
74
- children: react.ReactNode;
75
- }) => react_jsx_runtime.JSX.Element;
76
- th: ({ children }: {
77
- children: react.ReactNode;
78
- }) => react_jsx_runtime.JSX.Element;
79
- td: ({ children }: {
80
- children: react.ReactNode;
81
- }) => react_jsx_runtime.JSX.Element;
82
- };
83
-
84
- declare function useMDXComponents(components: MDXComponents): MDXComponents;
85
-
86
- export { mdxComponents, useMDXComponents };
@@ -1,86 +0,0 @@
1
- import { MDXComponents } from 'mdx/types';
2
- import * as react_jsx_runtime from 'react/jsx-runtime';
3
- import * as react from 'react';
4
- import { CodeBlock, Callout, Accordion, AccordionItem, Tabs, Tab, Image, Video, Card, CardGrid, ImageCard, ImageCardGrid, Steps, Step, Icon, Mermaid, Math, Columns, Column, Badge, Tooltip, Frame, ApiEndpoint, ApiParams, ApiResponse, ApiPlayground, ApiReference } from './components/index';
5
-
6
- declare const mdxComponents: {
7
- CodeBlock: typeof CodeBlock;
8
- Callout: typeof Callout;
9
- Accordion: typeof Accordion;
10
- AccordionItem: typeof AccordionItem;
11
- Tabs: typeof Tabs;
12
- Tab: typeof Tab;
13
- Image: typeof Image;
14
- Video: typeof Video;
15
- Card: typeof Card;
16
- CardGrid: typeof CardGrid;
17
- ImageCard: typeof ImageCard;
18
- ImageCardGrid: typeof ImageCardGrid;
19
- Steps: typeof Steps;
20
- Step: typeof Step;
21
- Icon: typeof Icon;
22
- Mermaid: typeof Mermaid;
23
- Math: typeof Math;
24
- Columns: typeof Columns;
25
- Column: typeof Column;
26
- Badge: typeof Badge;
27
- Tooltip: typeof Tooltip;
28
- Frame: typeof Frame;
29
- ApiEndpoint: typeof ApiEndpoint;
30
- ApiParams: typeof ApiParams;
31
- ApiResponse: typeof ApiResponse;
32
- ApiPlayground: typeof ApiPlayground;
33
- ApiReference: typeof ApiReference;
34
- h1: ({ children }: {
35
- children: react.ReactNode;
36
- }) => react_jsx_runtime.JSX.Element;
37
- h2: ({ children, id }: {
38
- children: react.ReactNode;
39
- id?: string;
40
- }) => react_jsx_runtime.JSX.Element;
41
- h3: ({ children, id }: {
42
- children: react.ReactNode;
43
- id?: string;
44
- }) => react_jsx_runtime.JSX.Element;
45
- p: ({ children }: {
46
- children: react.ReactNode;
47
- }) => react_jsx_runtime.JSX.Element;
48
- code: ({ children, className, meta, ...props }: {
49
- children: react.ReactNode;
50
- className?: string;
51
- meta?: string;
52
- [key: string]: any;
53
- }) => react_jsx_runtime.JSX.Element;
54
- pre: ({ children }: {
55
- children: react.ReactNode;
56
- }) => react_jsx_runtime.JSX.Element;
57
- ul: ({ children }: {
58
- children: react.ReactNode;
59
- }) => react_jsx_runtime.JSX.Element;
60
- ol: ({ children }: {
61
- children: react.ReactNode;
62
- }) => react_jsx_runtime.JSX.Element;
63
- li: ({ children }: {
64
- children: react.ReactNode;
65
- }) => react_jsx_runtime.JSX.Element;
66
- a: ({ children, href }: {
67
- children: react.ReactNode;
68
- href?: string;
69
- }) => react_jsx_runtime.JSX.Element;
70
- blockquote: ({ children }: {
71
- children: react.ReactNode;
72
- }) => react_jsx_runtime.JSX.Element;
73
- table: ({ children }: {
74
- children: react.ReactNode;
75
- }) => react_jsx_runtime.JSX.Element;
76
- th: ({ children }: {
77
- children: react.ReactNode;
78
- }) => react_jsx_runtime.JSX.Element;
79
- td: ({ children }: {
80
- children: react.ReactNode;
81
- }) => react_jsx_runtime.JSX.Element;
82
- };
83
-
84
- declare function useMDXComponents(components: MDXComponents): MDXComponents;
85
-
86
- export { mdxComponents, useMDXComponents };