@lukoweb/apitogo 0.2.23 → 0.2.24
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.
- package/README.md +94 -94
- package/cli.js +13 -13
- package/client.d.ts +8 -8
- package/dist/cli/cli.js +316 -20
- package/dist/declarations/cli/platform/client/platform-api.d.ts +18 -0
- package/dist/declarations/config/validators/InputNavigationSchema.d.ts +7 -7
- package/dist/declarations/config/validators/ZudokuConfig.d.ts +1 -1
- package/docs/cli/commands.md +75 -75
- package/docs/cli/go-live.md +123 -123
- package/docs/cli/overview.md +91 -91
- package/docs/cli/setup.md +141 -141
- package/docs/cli/shape.md +127 -127
- package/docs/components/alert.mdx +130 -130
- package/docs/components/badge.mdx +70 -70
- package/docs/components/button.mdx +132 -132
- package/docs/components/callout.mdx +112 -112
- package/docs/components/card.mdx +104 -104
- package/docs/components/checkbox.mdx +72 -72
- package/docs/components/client-only.mdx +79 -79
- package/docs/components/code-tabs.mdx +179 -179
- package/docs/components/dialog.mdx +167 -167
- package/docs/components/head.mdx +200 -200
- package/docs/components/icons.mdx +27 -27
- package/docs/components/input.mdx +96 -96
- package/docs/components/label.mdx +86 -86
- package/docs/components/link.mdx +242 -242
- package/docs/components/markdown.mdx +151 -151
- package/docs/components/mermaid.mdx +81 -81
- package/docs/components/playground.mdx +85 -85
- package/docs/components/secret.mdx +79 -79
- package/docs/components/select.mdx +176 -176
- package/docs/components/shadcn.mdx +73 -73
- package/docs/components/slider.mdx +108 -108
- package/docs/components/slot.mdx +119 -119
- package/docs/components/stepper.mdx +138 -138
- package/docs/components/switch.mdx +96 -96
- package/docs/components/syntax-highlight.mdx +602 -602
- package/docs/components/textarea.mdx +78 -78
- package/docs/components/tooltip.mdx +195 -195
- package/docs/components/typography.mdx +61 -61
- package/docs/components.mdx +60 -60
- package/docs/concepts/auth-provider-api-identities.md +105 -105
- package/docs/configuration/ai-assistants.md +65 -65
- package/docs/configuration/api-catalog.md +109 -109
- package/docs/configuration/api-reference.md +397 -397
- package/docs/configuration/authentication-auth0.md +181 -181
- package/docs/configuration/authentication-azure-ad.md +245 -245
- package/docs/configuration/authentication-clerk.md +117 -117
- package/docs/configuration/authentication-firebase.md +69 -69
- package/docs/configuration/authentication-pingfederate.md +143 -143
- package/docs/configuration/authentication-supabase.md +233 -233
- package/docs/configuration/authentication.md +159 -159
- package/docs/configuration/build-configuration.mdx +147 -147
- package/docs/configuration/docs.md +282 -282
- package/docs/configuration/footer.mdx +118 -118
- package/docs/configuration/gateway.md +221 -221
- package/docs/configuration/llms.md +90 -90
- package/docs/configuration/make-config.mdx +124 -124
- package/docs/configuration/manifest.md +128 -128
- package/docs/configuration/navigation.mdx +421 -421
- package/docs/configuration/overview.md +166 -166
- package/docs/configuration/plans.md +153 -153
- package/docs/configuration/protected-routes.md +150 -150
- package/docs/configuration/search.md +164 -164
- package/docs/configuration/sentry.mdx +44 -44
- package/docs/configuration/site.md +124 -124
- package/docs/configuration/slots.mdx +125 -125
- package/docs/configuration/vite-config.md +18 -18
- package/docs/custom-plugins.md +285 -285
- package/docs/customization/colors-theme.mdx +278 -278
- package/docs/customization/fonts.md +110 -110
- package/docs/customization/landing-page.md +188 -188
- package/docs/deploy/apache-nginx.md +41 -41
- package/docs/deploy/apitogo.md +17 -17
- package/docs/deploy/cloudflare-pages.md +74 -74
- package/docs/deploy/direct-upload.md +17 -17
- package/docs/deploy/github-pages.md +49 -49
- package/docs/deploy/vercel.md +101 -101
- package/docs/deployment.md +9 -9
- package/docs/extending/events.md +124 -124
- package/docs/guides/custom-pages.md +110 -110
- package/docs/guides/environment-variables.md +94 -94
- package/docs/guides/managing-api-keys-and-identities.md +89 -89
- package/docs/guides/mermaid.mdx +70 -70
- package/docs/guides/navigation-rules.mdx +203 -203
- package/docs/guides/processors.mdx +234 -234
- package/docs/guides/static-files.md +55 -55
- package/docs/guides/transforming-examples.md +156 -156
- package/docs/guides/using-multiple-apis.md +87 -87
- package/docs/markdown/admonitions.md +128 -128
- package/docs/markdown/code-blocks.md +196 -196
- package/docs/markdown/frontmatter.md +173 -173
- package/docs/markdown/mdx.md +68 -68
- package/docs/markdown/overview.md +275 -275
- package/docs/mcp/go-live.md +100 -100
- package/docs/mcp/overview.md +76 -76
- package/docs/mcp/setup.md +173 -173
- package/docs/mcp/shape.md +77 -77
- package/docs/mcp/tools.md +102 -102
- package/docs/plugins.md +24 -24
- package/docs/quickstart.md +72 -72
- package/docs/writing.mdx +72 -72
- package/package.json +1 -1
- package/src/app/ZuploBuildConfig.ts +36 -36
- package/src/app/apitogoBrandTheme.ts +47 -47
- package/src/app/defaultTheme.css +77 -77
- package/src/app/demo-cdn.html +37 -37
- package/src/app/demo.html +21 -21
- package/src/app/demo.tsx +77 -77
- package/src/app/entry.client.tsx +107 -107
- package/src/app/entry.server.tsx +160 -160
- package/src/app/env.ts +40 -40
- package/src/app/main.css +400 -400
- package/src/app/main.tsx +167 -167
- package/src/app/polyfills.ts +47 -47
- package/src/app/processRoutes.tsx +51 -51
- package/src/app/sentry.ts +24 -24
- package/src/app/standalone.html +23 -23
- package/src/app/standalone.tsx +60 -60
- package/src/app/utils/createRedirectRoutes.ts +11 -11
- package/src/config/apitogo-config-core.ts +7 -3
- package/src/config/apitogo-config-loader.browser.ts +17 -17
- package/src/config/apitogo-config-loader.node.ts +88 -88
- package/src/config/apitogo-config-loader.ts +6 -6
- package/src/config/build-apitogo-config.ts +61 -61
- package/src/config/config.ts +74 -74
- package/src/config/create-plugin.ts +71 -71
- package/src/config/default-landing-content.ts +149 -149
- package/src/config/file-exists.ts +6 -6
- package/src/config/gateway-limits.ts +128 -128
- package/src/config/landing-manifest.ts +11 -11
- package/src/config/landing-openapi-showcase.ts +124 -124
- package/src/config/loader.ts +375 -375
- package/src/config/local-manifest.ts +545 -545
- package/src/config/resolve-modules.ts +354 -354
- package/src/config/v2/__fixtures__/scenario-a-docs-only.json +6 -6
- package/src/config/v2/__fixtures__/scenario-b-managed-origin.json +14 -14
- package/src/config/v2/__fixtures__/scenario-c-proxy-oidc.json +15 -15
- package/src/config/v2/__fixtures__/scenario-h-full-stack.json +28 -28
- package/src/config/v2/docs-navigation.ts +72 -72
- package/src/config/v2/errors.ts +42 -42
- package/src/config/v2/gateway-reference.ts +220 -220
- package/src/config/v2/gateway-request.ts +123 -123
- package/src/config/v2/home-redirect.ts +98 -98
- package/src/config/v2/index.ts +126 -126
- package/src/config/v2/init.ts +273 -273
- package/src/config/v2/layout.ts +237 -237
- package/src/config/v2/ledger.ts +235 -235
- package/src/config/v2/link-directory.ts +34 -0
- package/src/config/v2/load.ts +70 -70
- package/src/config/v2/manifest.ts +452 -452
- package/src/config/v2/parse.ts +214 -214
- package/src/config/v2/paths.ts +54 -54
- package/src/config/v2/portal-profile.ts +88 -88
- package/src/config/v2/resolve.ts +188 -188
- package/src/config/v2/rules.ts +714 -714
- package/src/config/v2/schema.ts +245 -245
- package/src/config/v2/services.ts +663 -663
- package/src/config/v2/workspace.ts +3 -2
- package/src/config/v2/wrapper.ts +24 -2
- package/src/config/validators/BuildSchema.ts +95 -95
- package/src/config/validators/HeaderNavigationSchema.ts +44 -44
- package/src/config/validators/InputNavigationSchema.test-d.ts +178 -178
- package/src/config/validators/InputNavigationSchema.ts +206 -206
- package/src/config/validators/ModulesSchema.ts +502 -502
- package/src/config/validators/NavigationSchema.ts +352 -352
- package/src/config/validators/ProtectedRoutesSchema.ts +35 -35
- package/src/config/validators/ZudokuConfig.ts +792 -792
- package/src/config/validators/auth.ts +3 -3
- package/src/config/validators/reason-codes.ts +7 -7
- package/src/env.d.ts +11 -11
- package/src/index.ts +83 -83
- package/src/lib/MissingIcon.tsx +22 -22
- package/src/lib/assets/language-icons/bun.tsx +50 -50
- package/src/lib/assets/language-icons/c.tsx +31 -31
- package/src/lib/assets/language-icons/commonlisp.tsx +22 -22
- package/src/lib/assets/language-icons/cpp.tsx +35 -35
- package/src/lib/assets/language-icons/csharp.tsx +35 -35
- package/src/lib/assets/language-icons/css.tsx +36 -36
- package/src/lib/assets/language-icons/dart.tsx +39 -39
- package/src/lib/assets/language-icons/elixir.tsx +19 -19
- package/src/lib/assets/language-icons/go.tsx +19 -19
- package/src/lib/assets/language-icons/graphql.tsx +19 -19
- package/src/lib/assets/language-icons/html.tsx +24 -24
- package/src/lib/assets/language-icons/java.tsx +35 -35
- package/src/lib/assets/language-icons/javascript.tsx +11 -11
- package/src/lib/assets/language-icons/json.tsx +19 -19
- package/src/lib/assets/language-icons/kotlin.tsx +30 -30
- package/src/lib/assets/language-icons/markdown.tsx +19 -19
- package/src/lib/assets/language-icons/mdx.tsx +23 -23
- package/src/lib/assets/language-icons/npm.tsx +15 -15
- package/src/lib/assets/language-icons/objectivec.tsx +23 -23
- package/src/lib/assets/language-icons/ocaml.tsx +34 -34
- package/src/lib/assets/language-icons/php.tsx +19 -19
- package/src/lib/assets/language-icons/pnpm.tsx +32 -32
- package/src/lib/assets/language-icons/powershell.tsx +27 -27
- package/src/lib/assets/language-icons/python.tsx +23 -23
- package/src/lib/assets/language-icons/react.tsx +21 -21
- package/src/lib/assets/language-icons/ruby.tsx +19 -19
- package/src/lib/assets/language-icons/rust.tsx +19 -19
- package/src/lib/assets/language-icons/scala.tsx +19 -19
- package/src/lib/assets/language-icons/shell.tsx +19 -19
- package/src/lib/assets/language-icons/swift.tsx +19 -19
- package/src/lib/assets/language-icons/toml.tsx +23 -23
- package/src/lib/assets/language-icons/typescript.tsx +23 -23
- package/src/lib/assets/language-icons/xml.tsx +19 -19
- package/src/lib/assets/language-icons/yaml.tsx +23 -23
- package/src/lib/assets/language-icons/yarn.tsx +17 -17
- package/src/lib/assets/language-icons/zig.tsx +32 -32
- package/src/lib/auth/issuer.ts +34 -34
- package/src/lib/authentication/AuthenticationPlugin.tsx +33 -33
- package/src/lib/authentication/auth-header-nav.ts +46 -46
- package/src/lib/authentication/authentication.ts +51 -51
- package/src/lib/authentication/components/CallbackHandler.tsx +45 -45
- package/src/lib/authentication/components/OAuthErrorPage.tsx +197 -197
- package/src/lib/authentication/components/ProductionUnlockPage.tsx +26 -26
- package/src/lib/authentication/components/SignIn.tsx +46 -46
- package/src/lib/authentication/components/SignOut.tsx +15 -15
- package/src/lib/authentication/components/SignUp.tsx +48 -48
- package/src/lib/authentication/constants.ts +1 -1
- package/src/lib/authentication/errors.ts +34 -34
- package/src/lib/authentication/header-nav-filter.ts +35 -35
- package/src/lib/authentication/hook.ts +141 -141
- package/src/lib/authentication/providers/auth0.tsx +91 -91
- package/src/lib/authentication/providers/azureb2c.tsx +223 -223
- package/src/lib/authentication/providers/clerk.tsx +224 -224
- package/src/lib/authentication/providers/dev-portal-auth-pages.tsx +602 -602
- package/src/lib/authentication/providers/dev-portal-constants.ts +38 -38
- package/src/lib/authentication/providers/dev-portal-demo.ts +151 -151
- package/src/lib/authentication/providers/dev-portal-utils.ts +279 -279
- package/src/lib/authentication/providers/dev-portal.tsx +448 -448
- package/src/lib/authentication/providers/firebase.tsx +486 -486
- package/src/lib/authentication/providers/openid.tsx +516 -516
- package/src/lib/authentication/providers/supabase.tsx +412 -412
- package/src/lib/authentication/providers/util.ts +26 -26
- package/src/lib/authentication/state.ts +180 -180
- package/src/lib/authentication/ui/AuthCard.tsx +7 -7
- package/src/lib/authentication/ui/EmailLinkCallbackUi.tsx +129 -129
- package/src/lib/authentication/ui/EmailLinkSentUi.tsx +105 -105
- package/src/lib/authentication/ui/EmailLinkSignInUi.tsx +100 -100
- package/src/lib/authentication/ui/EmailVerificationUi.tsx +128 -128
- package/src/lib/authentication/ui/ZudokuAuthUi.tsx +620 -620
- package/src/lib/authentication/ui/icons/Apple.tsx +10 -10
- package/src/lib/authentication/ui/icons/Facebook.tsx +15 -15
- package/src/lib/authentication/ui/icons/Github.tsx +16 -16
- package/src/lib/authentication/ui/icons/Google.tsx +16 -16
- package/src/lib/authentication/ui/icons/Microsoft.tsx +12 -12
- package/src/lib/authentication/ui/icons/X.tsx +10 -10
- package/src/lib/authentication/utils/relativeRedirectUrl.ts +16 -16
- package/src/lib/components/AiAssistantMenuItems.tsx +102 -102
- package/src/lib/components/AnchorLink.tsx +24 -24
- package/src/lib/components/Autocomplete.tsx +123 -123
- package/src/lib/components/Banner.tsx +52 -52
- package/src/lib/components/Bootstrap.tsx +77 -77
- package/src/lib/components/BuildCheck.tsx +87 -87
- package/src/lib/components/CategoryHeading.tsx +19 -19
- package/src/lib/components/ClientOnly.tsx +19 -19
- package/src/lib/components/DeveloperHint.tsx +39 -39
- package/src/lib/components/ErrorPage.tsx +26 -26
- package/src/lib/components/Footer.tsx +146 -146
- package/src/lib/components/Framed.tsx +51 -51
- package/src/lib/components/Header.tsx +261 -261
- package/src/lib/components/HeaderAuthActions.tsx +32 -32
- package/src/lib/components/HeaderNavigation.tsx +176 -176
- package/src/lib/components/Heading.tsx +84 -84
- package/src/lib/components/InlineCode.tsx +15 -15
- package/src/lib/components/LandingLayout.tsx +27 -27
- package/src/lib/components/LanguageIcon.tsx +199 -199
- package/src/lib/components/Layout.tsx +59 -59
- package/src/lib/components/Main.tsx +52 -52
- package/src/lib/components/Markdown.tsx +55 -55
- package/src/lib/components/Mermaid.tsx +74 -74
- package/src/lib/components/Meta.tsx +46 -46
- package/src/lib/components/MobileTopNavigation.tsx +283 -283
- package/src/lib/components/MultiSelect.tsx +86 -86
- package/src/lib/components/NotFoundPage.tsx +37 -37
- package/src/lib/components/PageProgress.tsx +28 -28
- package/src/lib/components/PagefindSearchMeta.tsx +14 -14
- package/src/lib/components/Pagination.tsx +44 -44
- package/src/lib/components/PathRenderer.tsx +61 -61
- package/src/lib/components/PluginHeads.tsx +17 -17
- package/src/lib/components/Search.tsx +70 -70
- package/src/lib/components/SiteTitle.tsx +58 -58
- package/src/lib/components/Slot.tsx +65 -65
- package/src/lib/components/Spinner.tsx +5 -5
- package/src/lib/components/StatusPage.tsx +96 -96
- package/src/lib/components/ThemeSwitch.tsx +99 -99
- package/src/lib/components/TopNavigation.tsx +90 -90
- package/src/lib/components/Typography.tsx +12 -12
- package/src/lib/components/Zudoku.tsx +105 -105
- package/src/lib/components/cache.ts +27 -27
- package/src/lib/components/context/RenderContext.ts +11 -11
- package/src/lib/components/context/RouterEventsEmitter.tsx +19 -19
- package/src/lib/components/context/SlotProvider.tsx +149 -149
- package/src/lib/components/context/ViewportAnchorContext.tsx +137 -137
- package/src/lib/components/context/ZudokuContext.ts +140 -140
- package/src/lib/components/context/ZudokuProvider.tsx +20 -20
- package/src/lib/components/context/ZudokuReactContext.tsx +17 -17
- package/src/lib/components/index.ts +36 -36
- package/src/lib/components/navigation/Navigation.tsx +51 -51
- package/src/lib/components/navigation/NavigationBadge.tsx +48 -48
- package/src/lib/components/navigation/NavigationCategory.tsx +157 -157
- package/src/lib/components/navigation/NavigationFilterContext.tsx +28 -28
- package/src/lib/components/navigation/NavigationFilterInput.tsx +35 -35
- package/src/lib/components/navigation/NavigationItem.tsx +181 -181
- package/src/lib/components/navigation/NavigationWrapper.tsx +49 -49
- package/src/lib/components/navigation/PoweredByZudoku.tsx +39 -39
- package/src/lib/components/navigation/Toc.tsx +137 -137
- package/src/lib/components/navigation/ZudokuLogo.tsx +25 -25
- package/src/lib/components/navigation/ZuploLogo.tsx +14 -14
- package/src/lib/components/navigation/utils.ts +234 -234
- package/src/lib/core/RouteGuard.tsx +260 -260
- package/src/lib/core/ZudokuContext.ts +272 -272
- package/src/lib/core/plugins.ts +139 -139
- package/src/lib/core/react-query.ts +1 -1
- package/src/lib/core/router.ts +1 -1
- package/src/lib/core/transform-config.ts +67 -67
- package/src/lib/demo/DemoAnnouncement.tsx +17 -17
- package/src/lib/errors/ErrorAlert.tsx +28 -28
- package/src/lib/errors/ErrorMessage.tsx +50 -50
- package/src/lib/errors/RouterError.tsx +18 -18
- package/src/lib/errors/ServerError.tsx +5 -5
- package/src/lib/errors/TopLevelError.tsx +6 -6
- package/src/lib/hooks/index.ts +13 -13
- package/src/lib/hooks/useEvent.ts +41 -41
- package/src/lib/hooks/useHighlighter.ts +15 -15
- package/src/lib/hooks/useHotkey.ts +70 -70
- package/src/lib/icons.ts +2 -2
- package/src/lib/navigation/applyRules.ts +127 -127
- package/src/lib/navigation/pathMatcher.ts +81 -81
- package/src/lib/oas/graphql/circular.ts +69 -69
- package/src/lib/oas/graphql/constants.ts +2 -2
- package/src/lib/oas/graphql/index.ts +791 -791
- package/src/lib/oas/parser/dereference/index.ts +84 -84
- package/src/lib/oas/parser/dereference/resolveRef.ts +32 -32
- package/src/lib/oas/parser/index.ts +129 -129
- package/src/lib/oas/parser/schemas/v3.0.json +1489 -1489
- package/src/lib/oas/parser/schemas/v3.1.json +1298 -1298
- package/src/lib/oas/parser/upgrade/index.ts +174 -174
- package/src/lib/plugins/api-catalog/Catalog.tsx +80 -80
- package/src/lib/plugins/api-catalog/index.tsx +119 -119
- package/src/lib/plugins/api-keys/CreateApiKey.tsx +128 -128
- package/src/lib/plugins/api-keys/CreateApiKeyDialog.tsx +49 -49
- package/src/lib/plugins/api-keys/ProtectedRoute.tsx +33 -33
- package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +72 -72
- package/src/lib/plugins/api-keys/index.tsx +274 -274
- package/src/lib/plugins/api-keys/settings/ApiKeyItem.tsx +342 -342
- package/src/lib/plugins/api-keys/settings/ApiKeyList.tsx +67 -67
- package/src/lib/plugins/api-keys/settings/RevealApiKey.tsx +127 -127
- package/src/lib/plugins/custom-pages/index.tsx +32 -32
- package/src/lib/plugins/markdown/MdxPage.tsx +260 -260
- package/src/lib/plugins/markdown/assets/ChatGPTLogo.tsx +11 -11
- package/src/lib/plugins/markdown/assets/ClaudeLogo.tsx +19 -19
- package/src/lib/plugins/markdown/index.tsx +82 -82
- package/src/lib/plugins/openapi/ApiHeader.tsx +96 -96
- package/src/lib/plugins/openapi/CollapsibleCode.tsx +88 -88
- package/src/lib/plugins/openapi/ColorizedParam.tsx +115 -115
- package/src/lib/plugins/openapi/DownloadSchemaButton.tsx +94 -94
- package/src/lib/plugins/openapi/Endpoint.tsx +85 -85
- package/src/lib/plugins/openapi/GeneratedExampleSidecarBox.tsx +52 -52
- package/src/lib/plugins/openapi/MCPEndpoint.tsx +273 -273
- package/src/lib/plugins/openapi/OasProvider.tsx +74 -74
- package/src/lib/plugins/openapi/OperationList.tsx +275 -275
- package/src/lib/plugins/openapi/OperationListItem.tsx +183 -183
- package/src/lib/plugins/openapi/ParamInfos.tsx +96 -96
- package/src/lib/plugins/openapi/ParameterList.tsx +53 -53
- package/src/lib/plugins/openapi/ParameterListItem.tsx +161 -161
- package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +67 -67
- package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +63 -63
- package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +120 -120
- package/src/lib/plugins/openapi/SchemaInfo.tsx +344 -344
- package/src/lib/plugins/openapi/SchemaList.tsx +113 -113
- package/src/lib/plugins/openapi/Sidecar.tsx +314 -314
- package/src/lib/plugins/openapi/SidecarBox.tsx +57 -57
- package/src/lib/plugins/openapi/SidecarExamples.tsx +177 -177
- package/src/lib/plugins/openapi/SimpleSelect.tsx +46 -46
- package/src/lib/plugins/openapi/client/GraphQLClient.tsx +73 -73
- package/src/lib/plugins/openapi/client/GraphQLContext.tsx +16 -16
- package/src/lib/plugins/openapi/client/createServer.ts +35 -35
- package/src/lib/plugins/openapi/client/useCreateQuery.ts +44 -44
- package/src/lib/plugins/openapi/components/ConstValue.tsx +24 -24
- package/src/lib/plugins/openapi/components/EnumValues.tsx +58 -58
- package/src/lib/plugins/openapi/components/NonHighlightedCode.tsx +22 -22
- package/src/lib/plugins/openapi/components/ResponseContent.tsx +117 -117
- package/src/lib/plugins/openapi/components/SelectOnClick.tsx +29 -29
- package/src/lib/plugins/openapi/context.tsx +16 -16
- package/src/lib/plugins/openapi/graphql/fragment-masking.ts +104 -104
- package/src/lib/plugins/openapi/graphql/gql.ts +95 -95
- package/src/lib/plugins/openapi/graphql/graphql.ts +835 -835
- package/src/lib/plugins/openapi/graphql/index.ts +2 -2
- package/src/lib/plugins/openapi/index.tsx +221 -221
- package/src/lib/plugins/openapi/interfaces.ts +100 -100
- package/src/lib/plugins/openapi/playground/BodyPanel.tsx +274 -274
- package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +51 -51
- package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +60 -60
- package/src/lib/plugins/openapi/playground/Headers.tsx +194 -194
- package/src/lib/plugins/openapi/playground/IdentityDialog.tsx +75 -75
- package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +38 -38
- package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +45 -45
- package/src/lib/plugins/openapi/playground/PathParams.tsx +53 -53
- package/src/lib/plugins/openapi/playground/Playground.tsx +602 -602
- package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +62 -62
- package/src/lib/plugins/openapi/playground/QueryParams.tsx +151 -151
- package/src/lib/plugins/openapi/playground/RequestLoginDialog.tsx +70 -70
- package/src/lib/plugins/openapi/playground/Spinner.tsx +87 -87
- package/src/lib/plugins/openapi/playground/createUrl.ts +25 -25
- package/src/lib/plugins/openapi/playground/fileUtils.ts +36 -36
- package/src/lib/plugins/openapi/playground/rememberedIdentity.ts +26 -26
- package/src/lib/plugins/openapi/playground/request-panel/MultipartField.tsx +91 -91
- package/src/lib/plugins/openapi/playground/request-panel/UrlPath.tsx +31 -31
- package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +29 -29
- package/src/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.ts +340 -340
- package/src/lib/plugins/openapi/playground/result-panel/AudioPlayer.tsx +50 -50
- package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +117 -117
- package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +355 -355
- package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +106 -106
- package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.ts +36 -36
- package/src/lib/plugins/openapi/playground/serializeQueryParams.ts +125 -125
- package/src/lib/plugins/openapi/playground/useRememberSkipLoginDialog.tsx +23 -23
- package/src/lib/plugins/openapi/processors/injectApitogoGatewayServer.ts +36 -36
- package/src/lib/plugins/openapi/processors/removeExtensions.ts +29 -29
- package/src/lib/plugins/openapi/processors/removeParameters.ts +103 -103
- package/src/lib/plugins/openapi/processors/removePaths.ts +57 -57
- package/src/lib/plugins/openapi/processors/traverse.ts +1 -1
- package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +39 -39
- package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +189 -189
- package/src/lib/plugins/openapi/schema/SchemaView.tsx +299 -299
- package/src/lib/plugins/openapi/schema/UnionView.tsx +132 -132
- package/src/lib/plugins/openapi/schema/union-helpers.ts +123 -123
- package/src/lib/plugins/openapi/schema/utils.ts +49 -49
- package/src/lib/plugins/openapi/state.ts +36 -36
- package/src/lib/plugins/openapi/util/buildTagCategories.ts +54 -54
- package/src/lib/plugins/openapi/util/createHttpSnippet.ts +135 -135
- package/src/lib/plugins/openapi/util/createNavigationCategory.tsx +39 -39
- package/src/lib/plugins/openapi/util/generateSchemaExample.ts +191 -191
- package/src/lib/plugins/openapi/util/getRoutes.tsx +265 -265
- package/src/lib/plugins/openapi/util/methodColorMap.tsx +11 -11
- package/src/lib/plugins/openapi/util/methodToColor.ts +27 -27
- package/src/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.tsx +32 -32
- package/src/lib/plugins/openapi/util/useWarmupSchema.ts +23 -23
- package/src/lib/plugins/search-inkeep/index.tsx +108 -108
- package/src/lib/plugins/search-inkeep/inkeep.ts +24 -24
- package/src/lib/plugins/search-pagefind/IndexingDialog.tsx +162 -162
- package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +202 -202
- package/src/lib/plugins/search-pagefind/ResultList.tsx +122 -122
- package/src/lib/plugins/search-pagefind/get-results.tsx +74 -74
- package/src/lib/plugins/search-pagefind/index.tsx +21 -21
- package/src/lib/plugins/search-pagefind/types.ts +118 -118
- package/src/lib/shiki-constants.ts +24 -24
- package/src/lib/shiki.ts +179 -179
- package/src/lib/testing/index.tsx +147 -147
- package/src/lib/ui/Accordion.tsx +55 -55
- package/src/lib/ui/ActionButton.tsx +21 -21
- package/src/lib/ui/Alert.tsx +84 -84
- package/src/lib/ui/AlertDialog.tsx +195 -195
- package/src/lib/ui/AspectRatio.tsx +5 -5
- package/src/lib/ui/Badge.tsx +48 -48
- package/src/lib/ui/Breadcrumb.tsx +115 -115
- package/src/lib/ui/Button.tsx +65 -65
- package/src/lib/ui/ButtonGroup.tsx +80 -80
- package/src/lib/ui/Callout.tsx +113 -113
- package/src/lib/ui/Card.tsx +95 -95
- package/src/lib/ui/Carousel.tsx +259 -259
- package/src/lib/ui/Checkbox.tsx +28 -28
- package/src/lib/ui/CodeBlock.tsx +92 -92
- package/src/lib/ui/CodeTabPanel.tsx +13 -13
- package/src/lib/ui/CodeTabs.tsx +161 -161
- package/src/lib/ui/Collapsible.tsx +31 -31
- package/src/lib/ui/Command.tsx +191 -191
- package/src/lib/ui/Dialog.tsx +138 -138
- package/src/lib/ui/DismissibleAlert.tsx +74 -74
- package/src/lib/ui/Drawer.tsx +121 -121
- package/src/lib/ui/DropdownMenu.tsx +254 -254
- package/src/lib/ui/EmbeddedCodeBlock.tsx +99 -99
- package/src/lib/ui/Form.tsx +176 -176
- package/src/lib/ui/Frame.tsx +81 -81
- package/src/lib/ui/HoverCard.tsx +26 -26
- package/src/lib/ui/Input.tsx +23 -23
- package/src/lib/ui/InputGroup.tsx +168 -168
- package/src/lib/ui/Item.tsx +213 -213
- package/src/lib/ui/Kbd.tsx +28 -28
- package/src/lib/ui/Label.tsx +23 -23
- package/src/lib/ui/NativeSelect.tsx +48 -48
- package/src/lib/ui/NavigationMenu.tsx +169 -169
- package/src/lib/ui/Pagination.tsx +115 -115
- package/src/lib/ui/Popover.tsx +28 -28
- package/src/lib/ui/Progress.tsx +25 -25
- package/src/lib/ui/RadioGroup.tsx +41 -41
- package/src/lib/ui/ReactComponentDoc.tsx +68 -68
- package/src/lib/ui/ScrollArea.tsx +45 -45
- package/src/lib/ui/Secret.tsx +133 -133
- package/src/lib/ui/Select.tsx +184 -184
- package/src/lib/ui/Separator.tsx +25 -25
- package/src/lib/ui/Skeleton.tsx +15 -15
- package/src/lib/ui/Slider.tsx +25 -25
- package/src/lib/ui/Stepper.tsx +8 -8
- package/src/lib/ui/Switch.tsx +26 -26
- package/src/lib/ui/SyntaxHighlight.tsx +54 -54
- package/src/lib/ui/Tabs.tsx +52 -52
- package/src/lib/ui/Textarea.tsx +22 -22
- package/src/lib/ui/Toggle.tsx +42 -42
- package/src/lib/ui/ToggleGroup.tsx +58 -58
- package/src/lib/ui/Tooltip.tsx +65 -65
- package/src/lib/ui/Value.tsx +42 -42
- package/src/lib/ui/util.tsx +8 -8
- package/src/lib/util/MdxComponents.tsx +150 -150
- package/src/lib/util/cn.ts +6 -6
- package/src/lib/util/createVariantComponent.tsx +61 -61
- package/src/lib/util/ensureArray.ts +3 -3
- package/src/lib/util/flattenAllOf.ts +72 -72
- package/src/lib/util/flattenAllOfProcessor.ts +74 -74
- package/src/lib/util/hastToJsx.tsx +67 -67
- package/src/lib/util/humanFileSize.ts +15 -15
- package/src/lib/util/invariant.ts +52 -52
- package/src/lib/util/joinUrl.ts +60 -60
- package/src/lib/util/logInit.ts +9 -9
- package/src/lib/util/objectEntries.ts +5 -5
- package/src/lib/util/os.ts +18 -18
- package/src/lib/util/pastellize.ts +25 -25
- package/src/lib/util/problemJson.ts +63 -63
- package/src/lib/util/readFrontmatter.ts +14 -14
- package/src/lib/util/renderIf.ts +4 -4
- package/src/lib/util/scrollIntoViewIfNeeded.ts +18 -18
- package/src/lib/util/slugify.ts +21 -21
- package/src/lib/util/syncZustandState.ts +22 -22
- package/src/lib/util/traverse.ts +70 -70
- package/src/lib/util/types.ts +7 -7
- package/src/lib/util/url.ts +18 -18
- package/src/lib/util/useCopyToClipboard.ts +17 -17
- package/src/lib/util/useExposedProps.tsx +27 -27
- package/src/lib/util/useIsomorphicLayoutEffect.ts +6 -6
- package/src/lib/util/useLatest.ts +18 -18
- package/src/lib/util/useOnScreen.ts +34 -34
- package/src/lib/util/useScrollToAnchor.ts +75 -75
- package/src/lib/util/useScrollToTop.ts +18 -18
- package/src/types.d.ts +66 -66
- package/src/vite/api/SchemaManager.ts +371 -371
- package/src/vite/api/schema-codegen.ts +163 -163
- package/src/vite/build.ts +237 -237
- package/src/vite/config.ts +273 -273
- package/src/vite/css/collect.ts +42 -42
- package/src/vite/css/plugin.ts +105 -105
- package/src/vite/debug.ts +18 -18
- package/src/vite/dev-portal-env.ts +29 -29
- package/src/vite/dev-server.ts +294 -294
- package/src/vite/html.ts +52 -52
- package/src/vite/index.ts +2 -2
- package/src/vite/llms.ts +99 -99
- package/src/vite/mdx/rehype-extract-toc-with-jsx-export.ts +19 -19
- package/src/vite/mdx/rehype-extract-toc-with-jsx.ts +70 -70
- package/src/vite/mdx/remark-code-tabs.ts +47 -47
- package/src/vite/mdx/remark-inject-filepath.ts +13 -13
- package/src/vite/mdx/remark-last-modified.ts +103 -103
- package/src/vite/mdx/remark-link-rewrite.ts +23 -23
- package/src/vite/mdx/remark-normalize-image-url.ts +15 -15
- package/src/vite/mdx/remark-static-generation.ts +149 -149
- package/src/vite/mdx/utils.ts +32 -32
- package/src/vite/output.ts +261 -261
- package/src/vite/package-root.ts +12 -12
- package/src/vite/pagefind-dev-index.ts +100 -100
- package/src/vite/pagefind-dev-stub.ts +17 -17
- package/src/vite/plugin-api-keys.ts +55 -55
- package/src/vite/plugin-api.ts +328 -328
- package/src/vite/plugin-auth.ts +41 -41
- package/src/vite/plugin-component.ts +45 -45
- package/src/vite/plugin-config-reload.ts +47 -47
- package/src/vite/plugin-config.ts +131 -131
- package/src/vite/plugin-custom-pages.ts +36 -36
- package/src/vite/plugin-doc-metadata.ts +45 -45
- package/src/vite/plugin-docs.ts +205 -205
- package/src/vite/plugin-local-manifest.ts +100 -100
- package/src/vite/plugin-markdown-export.ts +214 -214
- package/src/vite/plugin-mdx.ts +149 -149
- package/src/vite/plugin-metadata.ts +30 -30
- package/src/vite/plugin-modules.ts +188 -188
- package/src/vite/plugin-navigation.ts +106 -106
- package/src/vite/plugin-offroot-resolve.ts +67 -67
- package/src/vite/plugin-search.ts +59 -59
- package/src/vite/plugin-shiki-register.ts +97 -97
- package/src/vite/plugin-theme.ts +458 -458
- package/src/vite/plugin.ts +48 -48
- package/src/vite/prerender/prerender.ts +242 -242
- package/src/vite/prerender/utils.ts +76 -76
- package/src/vite/prerender/worker.ts +118 -118
- package/src/vite/reporter.ts +34 -34
- package/src/vite/shadcn-registry.ts +48 -48
- package/src/vite/sitemap.ts +78 -78
- package/src/vite/ssr-templates/cloudflare.ts +19 -19
- package/src/vite/ssr-templates/node.ts +25 -25
- package/src/vite/ssr-templates/vercel.ts +22 -22
- package/src/vite/watch-ignore.ts +70 -70
- package/src/vite/zuplo.ts +30 -30
- package/src/vite-env.d.ts +6 -6
- package/src/zuplo/enrich-with-zuplo-mcp.ts +168 -168
- package/src/zuplo/enrich-with-zuplo.ts +256 -256
- package/src/zuplo/policy-types.ts +46 -46
- package/src/zuplo/with-zuplo-processors.ts +36 -36
- package/src/zuplo/with-zuplo.ts +14 -14
- package/dist/declarations/cli/platform/client/deploy-server.d.ts +0 -16
|
@@ -1,282 +1,282 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Documentation
|
|
3
|
-
navigation_label: Documentation
|
|
4
|
-
navigation_icon: book
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
APIToGo uses a file-based routing system for documentation pages, similar to many modern frameworks.
|
|
8
|
-
This page explains how routing works and how to customize it.
|
|
9
|
-
|
|
10
|
-
## File Based Routing
|
|
11
|
-
|
|
12
|
-
By default, APIToGo automatically creates routes for all Markdown and MDX files based on their file
|
|
13
|
-
path. Files are served at URLs that match their file structure, minus the file extension.
|
|
14
|
-
|
|
15
|
-
### Basic Examples
|
|
16
|
-
|
|
17
|
-
```text title="File tree"
|
|
18
|
-
pages/
|
|
19
|
-
├── introduction.md → /introduction
|
|
20
|
-
├── quickstart.mdx → /quickstart
|
|
21
|
-
├── guides/
|
|
22
|
-
│ ├── getting-started.md → /guides/getting-started
|
|
23
|
-
│ └── advanced.md → /guides/advanced
|
|
24
|
-
└── api/
|
|
25
|
-
└── reference.md → /api/reference
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
### File Extensions
|
|
29
|
-
|
|
30
|
-
Both `.md` and `.mdx` files are supported:
|
|
31
|
-
|
|
32
|
-
- `.md` files support standard Markdown with frontmatter
|
|
33
|
-
- `.mdx` files support JSX components within Markdown
|
|
34
|
-
|
|
35
|
-
The file extension is automatically removed from the URL.
|
|
36
|
-
|
|
37
|
-
## Custom Paths
|
|
38
|
-
|
|
39
|
-
You can override the default file-based routing by specifying custom paths in your navigation
|
|
40
|
-
configuration. When a file has a custom path, it will only be accessible at that custom path, not at
|
|
41
|
-
its original file-based path.
|
|
42
|
-
|
|
43
|
-
### Navigation Configuration
|
|
44
|
-
|
|
45
|
-
```tsx {5-6,13-14} title="config" showLineNumbers
|
|
46
|
-
export default {
|
|
47
|
-
navigation: [
|
|
48
|
-
{
|
|
49
|
-
type: "doc",
|
|
50
|
-
file: "guides/getting-started.md",
|
|
51
|
-
path: "start-here", // Custom path
|
|
52
|
-
label: "Start Here",
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
type: "category",
|
|
56
|
-
label: "Advanced",
|
|
57
|
-
link: {
|
|
58
|
-
file: "guides/advanced.md",
|
|
59
|
-
path: "advanced-guide", // Custom path for category link
|
|
60
|
-
},
|
|
61
|
-
items: [
|
|
62
|
-
// ... other items
|
|
63
|
-
],
|
|
64
|
-
},
|
|
65
|
-
],
|
|
66
|
-
};
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
In this example:
|
|
70
|
-
|
|
71
|
-
- `guides/getting-started.md` is accessible at `/start-here` (not `/guides/getting-started`)
|
|
72
|
-
- `guides/advanced.md` is accessible at `/advanced-guide` (not `/guides/advanced`)
|
|
73
|
-
|
|
74
|
-
## Configuration Options
|
|
75
|
-
|
|
76
|
-
Configure docs routing and behavior through the `docs` section in your config:
|
|
77
|
-
|
|
78
|
-
```tsx title="config"
|
|
79
|
-
export default {
|
|
80
|
-
docs: {
|
|
81
|
-
files: ["/pages/**/*.{md,mdx}"],
|
|
82
|
-
defaultOptions: {
|
|
83
|
-
toc: true,
|
|
84
|
-
disablePager: false,
|
|
85
|
-
showLastModified: true,
|
|
86
|
-
suggestEdit: {
|
|
87
|
-
url: "https://github.com/your-org/your-repo/edit/main/docs",
|
|
88
|
-
text: "Edit this page",
|
|
89
|
-
},
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
};
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
### `files`
|
|
96
|
-
|
|
97
|
-
**Type:** `string | string[]`
|
|
98
|
-
**Default:** `"/pages/**/*.{md,mdx}"`
|
|
99
|
-
|
|
100
|
-
Glob patterns that specify which files to include as documentation pages. You can provide a single
|
|
101
|
-
pattern or an array of patterns.
|
|
102
|
-
|
|
103
|
-
```tsx title="config"
|
|
104
|
-
// Single pattern
|
|
105
|
-
docs: {
|
|
106
|
-
files: "/content/**/*.md";
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
// Multiple patterns
|
|
110
|
-
docs: {
|
|
111
|
-
files: ["/pages/**/*.{md,mdx}", "/guides/**/*.md", "/tutorials/**/*.mdx"];
|
|
112
|
-
}
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
### `defaultOptions`
|
|
116
|
-
|
|
117
|
-
Default options applied to all documentation pages. These can be overridden on individual pages
|
|
118
|
-
using frontmatter.
|
|
119
|
-
|
|
120
|
-
#### `toc`
|
|
121
|
-
|
|
122
|
-
**Type:** `boolean`
|
|
123
|
-
**Default:** `true`
|
|
124
|
-
|
|
125
|
-
Whether to show the table of contents (TOC) by default.
|
|
126
|
-
|
|
127
|
-
```tsx title="config"
|
|
128
|
-
docs: {
|
|
129
|
-
defaultOptions: {
|
|
130
|
-
toc: false; // Hide TOC by default
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
#### `disablePager`
|
|
136
|
-
|
|
137
|
-
**Type:** `boolean`
|
|
138
|
-
**Default:** `false`
|
|
139
|
-
|
|
140
|
-
Whether to disable the previous/next page navigation by default.
|
|
141
|
-
|
|
142
|
-
```tsx title="config"
|
|
143
|
-
docs: {
|
|
144
|
-
defaultOptions: {
|
|
145
|
-
disablePager: true; // Disable pager by default
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
#### `showLastModified`
|
|
151
|
-
|
|
152
|
-
**Type:** `boolean`
|
|
153
|
-
**Default:** `false`
|
|
154
|
-
|
|
155
|
-
Whether to show the last modified date by default.
|
|
156
|
-
|
|
157
|
-
```tsx title="config"
|
|
158
|
-
docs: {
|
|
159
|
-
defaultOptions: {
|
|
160
|
-
showLastModified: true; // Show last modified date
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
#### `suggestEdit`
|
|
166
|
-
|
|
167
|
-
**Type:** `{ url: string; text?: string }`
|
|
168
|
-
**Default:** `undefined`
|
|
169
|
-
|
|
170
|
-
Configuration for the "Edit this page" link.
|
|
171
|
-
|
|
172
|
-
```tsx title="config"
|
|
173
|
-
docs: {
|
|
174
|
-
defaultOptions: {
|
|
175
|
-
suggestEdit: {
|
|
176
|
-
url: "https://github.com/your-org/your-repo/edit/main/docs",
|
|
177
|
-
text: "Edit this page on GitHub" // Optional custom text
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
The `url` should be a template where the file path will be appended. For example, if your docs are
|
|
184
|
-
in a `docs/pages/` directory, the URL might be
|
|
185
|
-
`https://github.com/your-org/your-repo/edit/main/docs/pages`.
|
|
186
|
-
|
|
187
|
-
#### `copyPage`
|
|
188
|
-
|
|
189
|
-
**Type:** `boolean` **Default:** `undefined`
|
|
190
|
-
|
|
191
|
-
Whether to show a copy button in the page header that allows users to copy the page markdown. This
|
|
192
|
-
feature requires `publishMarkdown` to be enabled (see below).
|
|
193
|
-
|
|
194
|
-
```tsx title="config"
|
|
195
|
-
docs: {
|
|
196
|
-
defaultOptions: {
|
|
197
|
-
copyPage: true; // Enable copy button for all pages
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
The copy button provides:
|
|
203
|
-
|
|
204
|
-
- A primary "Copy page" action that copies the markdown to clipboard
|
|
205
|
-
- A dropdown with additional options:
|
|
206
|
-
- Copy link to page
|
|
207
|
-
- Open markdown file (requires `publishMarkdown: true`)
|
|
208
|
-
- AI assistant options (Claude, ChatGPT by default — see [AI Assistants](./ai-assistants.md) to
|
|
209
|
-
customize)
|
|
210
|
-
|
|
211
|
-
> **Note:** The copy button requires `publishMarkdown: true` to be set in your docs config. If
|
|
212
|
-
> `copyPage` is enabled but `publishMarkdown` is not, a warning will be displayed.
|
|
213
|
-
|
|
214
|
-
### `publishMarkdown`
|
|
215
|
-
|
|
216
|
-
**Type:** `boolean` **Default:** `false`
|
|
217
|
-
|
|
218
|
-
When enabled, generates `.md` files for each documentation page during build. Pages can then be
|
|
219
|
-
accessed at their URL path with the `.md` extension appended (e.g., `/docs/quickstart.md`).
|
|
220
|
-
|
|
221
|
-
```tsx title="config"
|
|
222
|
-
docs: {
|
|
223
|
-
publishMarkdown: true,
|
|
224
|
-
}
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
The generated markdown files:
|
|
228
|
-
|
|
229
|
-
- Have frontmatter removed for cleaner content
|
|
230
|
-
- Are accessible at `{page-url}.md` in both development and production
|
|
231
|
-
- Are required for the `copyPage` button functionality
|
|
232
|
-
- Are used by LLM features (see [llms.txt configuration](/docs/configuration/llms) for more details)
|
|
233
|
-
|
|
234
|
-
### `llms`
|
|
235
|
-
|
|
236
|
-
**Type:** `object` **Default:** `undefined`
|
|
237
|
-
|
|
238
|
-
Configuration for generating LLM-friendly documentation files. See the
|
|
239
|
-
[llms.txt configuration](/docs/configuration/llms) page for complete documentation.
|
|
240
|
-
|
|
241
|
-
```tsx title="config"
|
|
242
|
-
docs: {
|
|
243
|
-
llms: {
|
|
244
|
-
llmsTxt: true, // Generate llms.txt summary file
|
|
245
|
-
llmsTxtFull: true, // Generate llms-full.txt with complete content
|
|
246
|
-
includeProtected: false
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
## Overriding Defaults
|
|
252
|
-
|
|
253
|
-
You can override [default options](#defaultoptions) on individual pages using frontmatter:
|
|
254
|
-
|
|
255
|
-
```markdown
|
|
256
|
-
---
|
|
257
|
-
toc: false
|
|
258
|
-
disablePager: true
|
|
259
|
-
showLastModified: false
|
|
260
|
-
---
|
|
261
|
-
|
|
262
|
-
# My Page
|
|
263
|
-
|
|
264
|
-
This page has custom options that override the defaults.
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
## Route Resolution
|
|
268
|
-
|
|
269
|
-
APIToGo resolves routes in the following order:
|
|
270
|
-
|
|
271
|
-
1. **Custom paths from navigation** - If a file has a custom path defined in navigation, it's served
|
|
272
|
-
at that path
|
|
273
|
-
2. **File-based paths** - All other files are served at their file-based paths
|
|
274
|
-
|
|
275
|
-
## Best Practices
|
|
276
|
-
|
|
277
|
-
1. **Use descriptive file names** - File names become part of the URL, so make them clear and
|
|
278
|
-
SEO-friendly
|
|
279
|
-
2. **Organize with folders** - Use folder structure to group related content
|
|
280
|
-
3. **Custom paths for better UX** - Use custom paths for important pages that need memorable URLs
|
|
281
|
-
(sometimes also called slugs)
|
|
282
|
-
4. **Consistent naming** - Use consistent naming conventions for files and folders
|
|
1
|
+
---
|
|
2
|
+
title: Documentation
|
|
3
|
+
navigation_label: Documentation
|
|
4
|
+
navigation_icon: book
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
APIToGo uses a file-based routing system for documentation pages, similar to many modern frameworks.
|
|
8
|
+
This page explains how routing works and how to customize it.
|
|
9
|
+
|
|
10
|
+
## File Based Routing
|
|
11
|
+
|
|
12
|
+
By default, APIToGo automatically creates routes for all Markdown and MDX files based on their file
|
|
13
|
+
path. Files are served at URLs that match their file structure, minus the file extension.
|
|
14
|
+
|
|
15
|
+
### Basic Examples
|
|
16
|
+
|
|
17
|
+
```text title="File tree"
|
|
18
|
+
pages/
|
|
19
|
+
├── introduction.md → /introduction
|
|
20
|
+
├── quickstart.mdx → /quickstart
|
|
21
|
+
├── guides/
|
|
22
|
+
│ ├── getting-started.md → /guides/getting-started
|
|
23
|
+
│ └── advanced.md → /guides/advanced
|
|
24
|
+
└── api/
|
|
25
|
+
└── reference.md → /api/reference
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### File Extensions
|
|
29
|
+
|
|
30
|
+
Both `.md` and `.mdx` files are supported:
|
|
31
|
+
|
|
32
|
+
- `.md` files support standard Markdown with frontmatter
|
|
33
|
+
- `.mdx` files support JSX components within Markdown
|
|
34
|
+
|
|
35
|
+
The file extension is automatically removed from the URL.
|
|
36
|
+
|
|
37
|
+
## Custom Paths
|
|
38
|
+
|
|
39
|
+
You can override the default file-based routing by specifying custom paths in your navigation
|
|
40
|
+
configuration. When a file has a custom path, it will only be accessible at that custom path, not at
|
|
41
|
+
its original file-based path.
|
|
42
|
+
|
|
43
|
+
### Navigation Configuration
|
|
44
|
+
|
|
45
|
+
```tsx {5-6,13-14} title="config" showLineNumbers
|
|
46
|
+
export default {
|
|
47
|
+
navigation: [
|
|
48
|
+
{
|
|
49
|
+
type: "doc",
|
|
50
|
+
file: "guides/getting-started.md",
|
|
51
|
+
path: "start-here", // Custom path
|
|
52
|
+
label: "Start Here",
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
type: "category",
|
|
56
|
+
label: "Advanced",
|
|
57
|
+
link: {
|
|
58
|
+
file: "guides/advanced.md",
|
|
59
|
+
path: "advanced-guide", // Custom path for category link
|
|
60
|
+
},
|
|
61
|
+
items: [
|
|
62
|
+
// ... other items
|
|
63
|
+
],
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
};
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
In this example:
|
|
70
|
+
|
|
71
|
+
- `guides/getting-started.md` is accessible at `/start-here` (not `/guides/getting-started`)
|
|
72
|
+
- `guides/advanced.md` is accessible at `/advanced-guide` (not `/guides/advanced`)
|
|
73
|
+
|
|
74
|
+
## Configuration Options
|
|
75
|
+
|
|
76
|
+
Configure docs routing and behavior through the `docs` section in your config:
|
|
77
|
+
|
|
78
|
+
```tsx title="config"
|
|
79
|
+
export default {
|
|
80
|
+
docs: {
|
|
81
|
+
files: ["/pages/**/*.{md,mdx}"],
|
|
82
|
+
defaultOptions: {
|
|
83
|
+
toc: true,
|
|
84
|
+
disablePager: false,
|
|
85
|
+
showLastModified: true,
|
|
86
|
+
suggestEdit: {
|
|
87
|
+
url: "https://github.com/your-org/your-repo/edit/main/docs",
|
|
88
|
+
text: "Edit this page",
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### `files`
|
|
96
|
+
|
|
97
|
+
**Type:** `string | string[]`
|
|
98
|
+
**Default:** `"/pages/**/*.{md,mdx}"`
|
|
99
|
+
|
|
100
|
+
Glob patterns that specify which files to include as documentation pages. You can provide a single
|
|
101
|
+
pattern or an array of patterns.
|
|
102
|
+
|
|
103
|
+
```tsx title="config"
|
|
104
|
+
// Single pattern
|
|
105
|
+
docs: {
|
|
106
|
+
files: "/content/**/*.md";
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Multiple patterns
|
|
110
|
+
docs: {
|
|
111
|
+
files: ["/pages/**/*.{md,mdx}", "/guides/**/*.md", "/tutorials/**/*.mdx"];
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### `defaultOptions`
|
|
116
|
+
|
|
117
|
+
Default options applied to all documentation pages. These can be overridden on individual pages
|
|
118
|
+
using frontmatter.
|
|
119
|
+
|
|
120
|
+
#### `toc`
|
|
121
|
+
|
|
122
|
+
**Type:** `boolean`
|
|
123
|
+
**Default:** `true`
|
|
124
|
+
|
|
125
|
+
Whether to show the table of contents (TOC) by default.
|
|
126
|
+
|
|
127
|
+
```tsx title="config"
|
|
128
|
+
docs: {
|
|
129
|
+
defaultOptions: {
|
|
130
|
+
toc: false; // Hide TOC by default
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
#### `disablePager`
|
|
136
|
+
|
|
137
|
+
**Type:** `boolean`
|
|
138
|
+
**Default:** `false`
|
|
139
|
+
|
|
140
|
+
Whether to disable the previous/next page navigation by default.
|
|
141
|
+
|
|
142
|
+
```tsx title="config"
|
|
143
|
+
docs: {
|
|
144
|
+
defaultOptions: {
|
|
145
|
+
disablePager: true; // Disable pager by default
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
#### `showLastModified`
|
|
151
|
+
|
|
152
|
+
**Type:** `boolean`
|
|
153
|
+
**Default:** `false`
|
|
154
|
+
|
|
155
|
+
Whether to show the last modified date by default.
|
|
156
|
+
|
|
157
|
+
```tsx title="config"
|
|
158
|
+
docs: {
|
|
159
|
+
defaultOptions: {
|
|
160
|
+
showLastModified: true; // Show last modified date
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
#### `suggestEdit`
|
|
166
|
+
|
|
167
|
+
**Type:** `{ url: string; text?: string }`
|
|
168
|
+
**Default:** `undefined`
|
|
169
|
+
|
|
170
|
+
Configuration for the "Edit this page" link.
|
|
171
|
+
|
|
172
|
+
```tsx title="config"
|
|
173
|
+
docs: {
|
|
174
|
+
defaultOptions: {
|
|
175
|
+
suggestEdit: {
|
|
176
|
+
url: "https://github.com/your-org/your-repo/edit/main/docs",
|
|
177
|
+
text: "Edit this page on GitHub" // Optional custom text
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
The `url` should be a template where the file path will be appended. For example, if your docs are
|
|
184
|
+
in a `docs/pages/` directory, the URL might be
|
|
185
|
+
`https://github.com/your-org/your-repo/edit/main/docs/pages`.
|
|
186
|
+
|
|
187
|
+
#### `copyPage`
|
|
188
|
+
|
|
189
|
+
**Type:** `boolean` **Default:** `undefined`
|
|
190
|
+
|
|
191
|
+
Whether to show a copy button in the page header that allows users to copy the page markdown. This
|
|
192
|
+
feature requires `publishMarkdown` to be enabled (see below).
|
|
193
|
+
|
|
194
|
+
```tsx title="config"
|
|
195
|
+
docs: {
|
|
196
|
+
defaultOptions: {
|
|
197
|
+
copyPage: true; // Enable copy button for all pages
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
The copy button provides:
|
|
203
|
+
|
|
204
|
+
- A primary "Copy page" action that copies the markdown to clipboard
|
|
205
|
+
- A dropdown with additional options:
|
|
206
|
+
- Copy link to page
|
|
207
|
+
- Open markdown file (requires `publishMarkdown: true`)
|
|
208
|
+
- AI assistant options (Claude, ChatGPT by default — see [AI Assistants](./ai-assistants.md) to
|
|
209
|
+
customize)
|
|
210
|
+
|
|
211
|
+
> **Note:** The copy button requires `publishMarkdown: true` to be set in your docs config. If
|
|
212
|
+
> `copyPage` is enabled but `publishMarkdown` is not, a warning will be displayed.
|
|
213
|
+
|
|
214
|
+
### `publishMarkdown`
|
|
215
|
+
|
|
216
|
+
**Type:** `boolean` **Default:** `false`
|
|
217
|
+
|
|
218
|
+
When enabled, generates `.md` files for each documentation page during build. Pages can then be
|
|
219
|
+
accessed at their URL path with the `.md` extension appended (e.g., `/docs/quickstart.md`).
|
|
220
|
+
|
|
221
|
+
```tsx title="config"
|
|
222
|
+
docs: {
|
|
223
|
+
publishMarkdown: true,
|
|
224
|
+
}
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
The generated markdown files:
|
|
228
|
+
|
|
229
|
+
- Have frontmatter removed for cleaner content
|
|
230
|
+
- Are accessible at `{page-url}.md` in both development and production
|
|
231
|
+
- Are required for the `copyPage` button functionality
|
|
232
|
+
- Are used by LLM features (see [llms.txt configuration](/docs/configuration/llms) for more details)
|
|
233
|
+
|
|
234
|
+
### `llms`
|
|
235
|
+
|
|
236
|
+
**Type:** `object` **Default:** `undefined`
|
|
237
|
+
|
|
238
|
+
Configuration for generating LLM-friendly documentation files. See the
|
|
239
|
+
[llms.txt configuration](/docs/configuration/llms) page for complete documentation.
|
|
240
|
+
|
|
241
|
+
```tsx title="config"
|
|
242
|
+
docs: {
|
|
243
|
+
llms: {
|
|
244
|
+
llmsTxt: true, // Generate llms.txt summary file
|
|
245
|
+
llmsTxtFull: true, // Generate llms-full.txt with complete content
|
|
246
|
+
includeProtected: false
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
## Overriding Defaults
|
|
252
|
+
|
|
253
|
+
You can override [default options](#defaultoptions) on individual pages using frontmatter:
|
|
254
|
+
|
|
255
|
+
```markdown
|
|
256
|
+
---
|
|
257
|
+
toc: false
|
|
258
|
+
disablePager: true
|
|
259
|
+
showLastModified: false
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
# My Page
|
|
263
|
+
|
|
264
|
+
This page has custom options that override the defaults.
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
## Route Resolution
|
|
268
|
+
|
|
269
|
+
APIToGo resolves routes in the following order:
|
|
270
|
+
|
|
271
|
+
1. **Custom paths from navigation** - If a file has a custom path defined in navigation, it's served
|
|
272
|
+
at that path
|
|
273
|
+
2. **File-based paths** - All other files are served at their file-based paths
|
|
274
|
+
|
|
275
|
+
## Best Practices
|
|
276
|
+
|
|
277
|
+
1. **Use descriptive file names** - File names become part of the URL, so make them clear and
|
|
278
|
+
SEO-friendly
|
|
279
|
+
2. **Organize with folders** - Use folder structure to group related content
|
|
280
|
+
3. **Custom paths for better UX** - Use custom paths for important pages that need memorable URLs
|
|
281
|
+
(sometimes also called slugs)
|
|
282
|
+
4. **Consistent naming** - Use consistent naming conventions for files and folders
|