zuplo 6.67.32 → 6.68.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.
- package/README.md +9 -0
- package/docs/_index.md +44 -0
- package/docs/ai-gateway/apps.mdx +28 -0
- package/docs/ai-gateway/custom-providers.mdx +54 -0
- package/docs/ai-gateway/getting-started.mdx +224 -0
- package/docs/ai-gateway/guardrails.mdx +65 -0
- package/docs/ai-gateway/integrations/ai-sdk.mdx +109 -0
- package/docs/ai-gateway/integrations/claude-code.mdx +49 -0
- package/docs/ai-gateway/integrations/codex.mdx +78 -0
- package/docs/ai-gateway/integrations/goose.mdx +104 -0
- package/docs/ai-gateway/integrations/langchain.mdx +66 -0
- package/docs/ai-gateway/integrations/openai.mdx +99 -0
- package/docs/ai-gateway/introduction.mdx +85 -0
- package/docs/ai-gateway/managing-apps.mdx +46 -0
- package/docs/ai-gateway/managing-providers.mdx +66 -0
- package/docs/ai-gateway/managing-teams.mdx +63 -0
- package/docs/ai-gateway/policies/akamai-ai-firewall.mdx +125 -0
- package/docs/ai-gateway/policies/comet-opik-tracing.mdx +139 -0
- package/docs/ai-gateway/policies/galileo-tracing.mdx +147 -0
- package/docs/ai-gateway/providers.mdx +32 -0
- package/docs/ai-gateway/teams.mdx +38 -0
- package/docs/ai-gateway/universal-api.mdx +43 -0
- package/docs/ai-gateway/usage-limits.mdx +89 -0
- package/docs/api-management/introduction.md +127 -0
- package/docs/articles/accounts/audit-logs.mdx +227 -0
- package/docs/articles/accounts/billing.mdx +25 -0
- package/docs/articles/accounts/default-api-key.mdx +30 -0
- package/docs/articles/accounts/delete-account.mdx +36 -0
- package/docs/articles/accounts/enterprise-sso.mdx +116 -0
- package/docs/articles/accounts/managing-account-members.mdx +45 -0
- package/docs/articles/accounts/managing-project-members.mdx +37 -0
- package/docs/articles/accounts/members-and-roles.mdx +21 -0
- package/docs/articles/accounts/roles-and-permissions.mdx +115 -0
- package/docs/articles/accounts/zuplo-api-keys.mdx +94 -0
- package/docs/articles/add-api-to-backstage.mdx +216 -0
- package/docs/articles/advanced-path-matching.mdx +139 -0
- package/docs/articles/api-key-administration.mdx +47 -0
- package/docs/articles/api-key-api.mdx +220 -0
- package/docs/articles/api-key-authentication.mdx +195 -0
- package/docs/articles/api-key-buckets.mdx +61 -0
- package/docs/articles/api-key-end-users.mdx +52 -0
- package/docs/articles/api-key-leak-detection.mdx +75 -0
- package/docs/articles/api-key-management.mdx +100 -0
- package/docs/articles/api-key-react-component.mdx +90 -0
- package/docs/articles/api-key-service-limits.mdx +14 -0
- package/docs/articles/archiving-requests-to-storage.mdx +119 -0
- package/docs/articles/branch-based-deployments.mdx +184 -0
- package/docs/articles/bypass-policy-for-testing.mdx +117 -0
- package/docs/articles/check-ip-address.mdx +17 -0
- package/docs/articles/ci-cd-azure/basic-deployment.mdx +49 -0
- package/docs/articles/ci-cd-azure/deploy-and-test.mdx +47 -0
- package/docs/articles/ci-cd-azure/local-testing.mdx +59 -0
- package/docs/articles/ci-cd-azure/multi-stage-deployment.mdx +88 -0
- package/docs/articles/ci-cd-azure/pr-preview-environments.mdx +50 -0
- package/docs/articles/ci-cd-azure/tag-based-releases.mdx +37 -0
- package/docs/articles/ci-cd-bitbucket/basic-deployment.mdx +27 -0
- package/docs/articles/ci-cd-bitbucket/deploy-and-test.mdx +41 -0
- package/docs/articles/ci-cd-bitbucket/local-testing.mdx +34 -0
- package/docs/articles/ci-cd-bitbucket/multi-stage-deployment.mdx +52 -0
- package/docs/articles/ci-cd-bitbucket/pr-preview-environments.mdx +46 -0
- package/docs/articles/ci-cd-bitbucket/tag-based-releases.mdx +27 -0
- package/docs/articles/ci-cd-circleci/basic-deployment.mdx +34 -0
- package/docs/articles/ci-cd-circleci/deploy-and-test.mdx +44 -0
- package/docs/articles/ci-cd-circleci/local-testing.mdx +50 -0
- package/docs/articles/ci-cd-circleci/multi-stage-deployment.mdx +82 -0
- package/docs/articles/ci-cd-circleci/pr-preview-environments.mdx +47 -0
- package/docs/articles/ci-cd-circleci/tag-based-releases.mdx +38 -0
- package/docs/articles/ci-cd-github/basic-deployment.mdx +48 -0
- package/docs/articles/ci-cd-github/cleanup-on-branch-delete.mdx +123 -0
- package/docs/articles/ci-cd-github/deploy-and-test.mdx +82 -0
- package/docs/articles/ci-cd-github/local-testing.mdx +102 -0
- package/docs/articles/ci-cd-github/multi-stage-deployment.mdx +136 -0
- package/docs/articles/ci-cd-github/pr-preview-environments.mdx +106 -0
- package/docs/articles/ci-cd-github/tag-based-releases.mdx +99 -0
- package/docs/articles/ci-cd-gitlab/basic-deployment.mdx +28 -0
- package/docs/articles/ci-cd-gitlab/deploy-and-test.mdx +44 -0
- package/docs/articles/ci-cd-gitlab/local-testing.mdx +39 -0
- package/docs/articles/ci-cd-gitlab/mr-preview-environments.mdx +52 -0
- package/docs/articles/ci-cd-gitlab/multi-stage-deployment.mdx +64 -0
- package/docs/articles/ci-cd-gitlab/tag-based-releases.mdx +28 -0
- package/docs/articles/composite-policy-reference.mdx +284 -0
- package/docs/articles/configuring-auth0-for-mcp-auth.mdx +186 -0
- package/docs/articles/configuring-okta-for-mcp-auth.mdx +208 -0
- package/docs/articles/convert-urls-to-openapi.mdx +62 -0
- package/docs/articles/cors.mdx +447 -0
- package/docs/articles/custom-audit-log-policy.mdx +95 -0
- package/docs/articles/custom-ci-cd-azure.mdx +81 -0
- package/docs/articles/custom-ci-cd-bitbucket.mdx +80 -0
- package/docs/articles/custom-ci-cd-circleci.mdx +78 -0
- package/docs/articles/custom-ci-cd-github.mdx +99 -0
- package/docs/articles/custom-ci-cd-gitlab.mdx +79 -0
- package/docs/articles/custom-ci-cd.mdx +82 -0
- package/docs/articles/custom-code-patterns.md +418 -0
- package/docs/articles/custom-domains.mdx +258 -0
- package/docs/articles/custom-logging-example.mdx +139 -0
- package/docs/articles/ddos-protection.mdx +138 -0
- package/docs/articles/development-options.mdx +49 -0
- package/docs/articles/environment-variables.mdx +134 -0
- package/docs/articles/environments.mdx +143 -0
- package/docs/articles/fastly-zuplo-host-setup.mdx +41 -0
- package/docs/articles/github-deployment-testing.mdx +101 -0
- package/docs/articles/gke-with-upstream-auth-policy.mdx +192 -0
- package/docs/articles/graphql-security.mdx +180 -0
- package/docs/articles/handling-form-data.mdx +61 -0
- package/docs/articles/health-checks.mdx +109 -0
- package/docs/articles/hosting-options.mdx +70 -0
- package/docs/articles/lazy-load-configuration-into-cache.mdx +92 -0
- package/docs/articles/limits.mdx +98 -0
- package/docs/articles/local-development-debugging.mdx +44 -0
- package/docs/articles/local-development-env-variables.mdx +23 -0
- package/docs/articles/local-development-installing-packages.mdx +23 -0
- package/docs/articles/local-development-routes-designer.mdx +27 -0
- package/docs/articles/local-development-services.mdx +40 -0
- package/docs/articles/local-development-troubleshooting.mdx +56 -0
- package/docs/articles/local-development.mdx +81 -0
- package/docs/articles/log-plugin-aws-cloudwatch.mdx +83 -0
- package/docs/articles/log-plugin-datadog.mdx +84 -0
- package/docs/articles/log-plugin-dynatrace.mdx +75 -0
- package/docs/articles/log-plugin-gcp.mdx +75 -0
- package/docs/articles/log-plugin-loki.mdx +136 -0
- package/docs/articles/log-plugin-new-relic.mdx +84 -0
- package/docs/articles/log-plugin-splunk.mdx +104 -0
- package/docs/articles/log-plugin-sumo.mdx +73 -0
- package/docs/articles/log-plugin-vmware-log-insight.mdx +154 -0
- package/docs/articles/log-request-response-data.mdx +398 -0
- package/docs/articles/logging.mdx +115 -0
- package/docs/articles/manual-mcp-oauth-testing.mdx +193 -0
- package/docs/articles/mcp-quickstart.mdx +135 -0
- package/docs/articles/metrics-plugins.mdx +371 -0
- package/docs/articles/migrate-from-apigee.md +408 -0
- package/docs/articles/migrate-from-aws-api-gateway.md +248 -0
- package/docs/articles/migrate-from-azure-apim.md +292 -0
- package/docs/articles/migrate-from-kong.md +300 -0
- package/docs/articles/migration-overview.md +81 -0
- package/docs/articles/monetization/api-access.mdx +69 -0
- package/docs/articles/monetization/billing-models.md +520 -0
- package/docs/articles/monetization/developer-portal.md +167 -0
- package/docs/articles/monetization/features.mdx +98 -0
- package/docs/articles/monetization/index.mdx +113 -0
- package/docs/articles/monetization/meters.mdx +135 -0
- package/docs/articles/monetization/monetization-policy.md +314 -0
- package/docs/articles/monetization/plan-examples.mdx +366 -0
- package/docs/articles/monetization/plans.mdx +266 -0
- package/docs/articles/monetization/pricing-models.mdx +225 -0
- package/docs/articles/monetization/private-plans.md +154 -0
- package/docs/articles/monetization/quickstart.md +355 -0
- package/docs/articles/monetization/rate-cards.mdx +171 -0
- package/docs/articles/monetization/stripe-integration.md +195 -0
- package/docs/articles/monetization/subscription-lifecycle.md +298 -0
- package/docs/articles/monetization/tax-collection.md +166 -0
- package/docs/articles/monetization/troubleshooting.md +272 -0
- package/docs/articles/monetization-custom.mdx +71 -0
- package/docs/articles/monetization-integrations.mdx +104 -0
- package/docs/articles/monitoring-your-gateway.mdx +53 -0
- package/docs/articles/monorepo-deployment.mdx +350 -0
- package/docs/articles/multiple-auth-policies.mdx +81 -0
- package/docs/articles/non-standard-ports.mdx +30 -0
- package/docs/articles/oauth-authentication.mdx +54 -0
- package/docs/articles/openapi-server-urls.mdx +60 -0
- package/docs/articles/openapi.mdx +130 -0
- package/docs/articles/opentelemetry.mdx +250 -0
- package/docs/articles/per-user-rate-limits-using-db.mdx +112 -0
- package/docs/articles/performance-testing.mdx +304 -0
- package/docs/articles/plugin-akamai-api-security.mdx +76 -0
- package/docs/articles/plugin-azure-blob.mdx +73 -0
- package/docs/articles/plugin-azure-event-hubs.mdx +64 -0
- package/docs/articles/plugin-hydrolix-traffic-peak.mdx +147 -0
- package/docs/articles/policies.mdx +33 -0
- package/docs/articles/rename-or-move-project.mdx +39 -0
- package/docs/articles/rick-and-morty-api-developer-portal-example.mdx +23 -0
- package/docs/articles/routing.mdx +193 -0
- package/docs/articles/s3-signed-url-uploads.mdx +521 -0
- package/docs/articles/secure-tunnel.mdx +84 -0
- package/docs/articles/securing-backend-mtls.mdx +268 -0
- package/docs/articles/securing-your-backend.mdx +148 -0
- package/docs/articles/security.mdx +105 -0
- package/docs/articles/sharing-code-across-projects.mdx +412 -0
- package/docs/articles/source-control-setup-azure.mdx +13 -0
- package/docs/articles/source-control-setup-bitbucket.mdx +43 -0
- package/docs/articles/source-control-setup-github.mdx +172 -0
- package/docs/articles/source-control-setup-gitlab.mdx +12 -0
- package/docs/articles/source-control.mdx +80 -0
- package/docs/articles/step-1-setup-basic-gateway-local.mdx +136 -0
- package/docs/articles/step-1-setup-basic-gateway.mdx +118 -0
- package/docs/articles/step-2-add-rate-limiting-local.mdx +126 -0
- package/docs/articles/step-2-add-rate-limiting.mdx +82 -0
- package/docs/articles/step-3-add-api-key-auth-local.mdx +199 -0
- package/docs/articles/step-3-add-api-key-auth.mdx +166 -0
- package/docs/articles/step-4-deploying-to-the-edge.mdx +220 -0
- package/docs/articles/step-5-dynamic-rate-limiting.mdx +167 -0
- package/docs/articles/support.mdx +144 -0
- package/docs/articles/terraform.mdx +114 -0
- package/docs/articles/testing-graphql.mdx +34 -0
- package/docs/articles/testing.mdx +522 -0
- package/docs/articles/troubleshooting-slow-responses.mdx +301 -0
- package/docs/articles/troubleshooting.md +302 -0
- package/docs/articles/tsconfig.mdx +105 -0
- package/docs/articles/tunnel-setup.mdx +195 -0
- package/docs/articles/tunnel-troubleshooting.mdx +50 -0
- package/docs/articles/update-zup-in-github-action.mdx +110 -0
- package/docs/articles/use-openapi-extension-data.mdx +79 -0
- package/docs/articles/users/multifactor-authentication.mdx +64 -0
- package/docs/articles/users/profile.mdx +13 -0
- package/docs/articles/versioning-on-zuplo.mdx +89 -0
- package/docs/articles/waf-ddos-akamai.md +133 -0
- package/docs/articles/waf-ddos-aws-waf-shield.mdx +85 -0
- package/docs/articles/waf-ddos-fastly.mdx +251 -0
- package/docs/articles/waf-ddos.mdx +140 -0
- package/docs/articles/zuplo-waf.mdx +156 -0
- package/docs/ask.mdx +3 -0
- package/docs/cli/authentication.mdx +56 -0
- package/docs/cli/connectivity.mdx +38 -0
- package/docs/cli/create-zuplo-api.mdx +80 -0
- package/docs/cli/delete.mdx +79 -0
- package/docs/cli/deploy.mdx +156 -0
- package/docs/cli/deploy.partial.mdx +46 -0
- package/docs/cli/dev.mdx +115 -0
- package/docs/cli/docs.mdx +66 -0
- package/docs/cli/editor.mdx +50 -0
- package/docs/cli/global-options.mdx +19 -0
- package/docs/cli/init.mdx +74 -0
- package/docs/cli/link.mdx +74 -0
- package/docs/cli/list.mdx +55 -0
- package/docs/cli/mtls-certificate-create.mdx +94 -0
- package/docs/cli/mtls-certificate-delete.mdx +55 -0
- package/docs/cli/mtls-certificate-describe.mdx +55 -0
- package/docs/cli/mtls-certificate-disable.mdx +55 -0
- package/docs/cli/mtls-certificate-list.mdx +47 -0
- package/docs/cli/mtls-certificate-update.mdx +72 -0
- package/docs/cli/openapi-convert.mdx +111 -0
- package/docs/cli/openapi-merge.mdx +138 -0
- package/docs/cli/openapi-merge.partial.mdx +29 -0
- package/docs/cli/openapi-overlay.mdx +123 -0
- package/docs/cli/overview.mdx +78 -0
- package/docs/cli/project-create.mdx +43 -0
- package/docs/cli/source-migrate.mdx +18 -0
- package/docs/cli/source-upgrade.mdx +41 -0
- package/docs/cli/test.mdx +70 -0
- package/docs/cli/test.partial.mdx +7 -0
- package/docs/cli/tunnel-create.mdx +53 -0
- package/docs/cli/tunnel-create.partial.mdx +9 -0
- package/docs/cli/tunnel-delete.mdx +35 -0
- package/docs/cli/tunnel-delete.partial.mdx +9 -0
- package/docs/cli/tunnel-describe.mdx +45 -0
- package/docs/cli/tunnel-describe.partial.mdx +5 -0
- package/docs/cli/tunnel-list.mdx +35 -0
- package/docs/cli/tunnel-list.partial.mdx +9 -0
- package/docs/cli/tunnel-rate-token.partial.mdx +9 -0
- package/docs/cli/tunnel-rotate-token.mdx +39 -0
- package/docs/cli/tunnel-services-describe.mdx +45 -0
- package/docs/cli/tunnel-services-describe.partial.mdx +9 -0
- package/docs/cli/tunnel-services-update.mdx +48 -0
- package/docs/cli/variable-create.mdx +91 -0
- package/docs/cli/variable-create.partial.mdx +5 -0
- package/docs/cli/variable-update.mdx +75 -0
- package/docs/cli/variable-update.partial.mdx +5 -0
- package/docs/concepts/api-keys.md +146 -0
- package/docs/concepts/authentication.mdx +109 -0
- package/docs/concepts/how-zuplo-works.mdx +120 -0
- package/docs/concepts/project-structure.mdx +174 -0
- package/docs/concepts/rate-limiting.md +246 -0
- package/docs/concepts/request-lifecycle.mdx +56 -0
- package/docs/concepts/source-control-and-deployment.mdx +229 -0
- package/docs/conferences/conference-prize-terms.mdx +80 -0
- package/docs/dedicated/akamai/ai-powered-applications.mdx +223 -0
- package/docs/dedicated/akamai/architecture.mdx +280 -0
- package/docs/dedicated/akamai/caching.mdx +212 -0
- package/docs/dedicated/akamai/cdn.mdx +156 -0
- package/docs/dedicated/architecture.mdx +208 -0
- package/docs/dedicated/custom-domains.mdx +31 -0
- package/docs/dedicated/federated-gateways.mdx +80 -0
- package/docs/dedicated/networking.mdx +69 -0
- package/docs/dedicated/overview.mdx +80 -0
- package/docs/dedicated/source-control.mdx +63 -0
- package/docs/dev-portal/dev-portal-create-consumer-on-auth.mdx +134 -0
- package/docs/dev-portal/introduction.mdx +65 -0
- package/docs/dev-portal/local-development.mdx +72 -0
- package/docs/dev-portal/migration.mdx +526 -0
- package/docs/dev-portal/node-modules.mdx +45 -0
- package/docs/dev-portal/updating.mdx +28 -0
- package/docs/dev-portal/zudoku/components/alert.mdx +130 -0
- package/docs/dev-portal/zudoku/components/badge.mdx +70 -0
- package/docs/dev-portal/zudoku/components/button.mdx +132 -0
- package/docs/dev-portal/zudoku/components/callout.mdx +112 -0
- package/docs/dev-portal/zudoku/components/card.mdx +104 -0
- package/docs/dev-portal/zudoku/components/checkbox.mdx +72 -0
- package/docs/dev-portal/zudoku/components/client-only.mdx +79 -0
- package/docs/dev-portal/zudoku/components/code-tabs.mdx +179 -0
- package/docs/dev-portal/zudoku/components/dialog.mdx +167 -0
- package/docs/dev-portal/zudoku/components/head.mdx +199 -0
- package/docs/dev-portal/zudoku/components/icons.mdx +27 -0
- package/docs/dev-portal/zudoku/components/input.mdx +96 -0
- package/docs/dev-portal/zudoku/components/label.mdx +86 -0
- package/docs/dev-portal/zudoku/components/link.mdx +242 -0
- package/docs/dev-portal/zudoku/components/markdown.mdx +151 -0
- package/docs/dev-portal/zudoku/components/mermaid.mdx +81 -0
- package/docs/dev-portal/zudoku/components/playground.mdx +87 -0
- package/docs/dev-portal/zudoku/components/secret.mdx +78 -0
- package/docs/dev-portal/zudoku/components/select.mdx +176 -0
- package/docs/dev-portal/zudoku/components/shadcn.mdx +73 -0
- package/docs/dev-portal/zudoku/components/slider.mdx +108 -0
- package/docs/dev-portal/zudoku/components/slot.mdx +119 -0
- package/docs/dev-portal/zudoku/components/stepper.mdx +138 -0
- package/docs/dev-portal/zudoku/components/switch.mdx +96 -0
- package/docs/dev-portal/zudoku/components/syntax-highlight.mdx +602 -0
- package/docs/dev-portal/zudoku/components/textarea.mdx +78 -0
- package/docs/dev-portal/zudoku/components/tooltip.mdx +195 -0
- package/docs/dev-portal/zudoku/components/typography.mdx +61 -0
- package/docs/dev-portal/zudoku/configuration/ai-assistants.md +64 -0
- package/docs/dev-portal/zudoku/configuration/api-catalog.md +108 -0
- package/docs/dev-portal/zudoku/configuration/api-reference.md +397 -0
- package/docs/dev-portal/zudoku/configuration/authentication-auth0.md +173 -0
- package/docs/dev-portal/zudoku/configuration/authentication-azure-ad.md +238 -0
- package/docs/dev-portal/zudoku/configuration/authentication-clerk.md +110 -0
- package/docs/dev-portal/zudoku/configuration/authentication-firebase.md +61 -0
- package/docs/dev-portal/zudoku/configuration/authentication-pingfederate.md +136 -0
- package/docs/dev-portal/zudoku/configuration/authentication-supabase.md +225 -0
- package/docs/dev-portal/zudoku/configuration/authentication.md +199 -0
- package/docs/dev-portal/zudoku/configuration/build-configuration.mdx +147 -0
- package/docs/dev-portal/zudoku/configuration/docs.md +282 -0
- package/docs/dev-portal/zudoku/configuration/footer.mdx +214 -0
- package/docs/dev-portal/zudoku/configuration/llms.md +89 -0
- package/docs/dev-portal/zudoku/configuration/navigation.mdx +408 -0
- package/docs/dev-portal/zudoku/configuration/overview.md +380 -0
- package/docs/dev-portal/zudoku/configuration/protected-routes.md +149 -0
- package/docs/dev-portal/zudoku/configuration/search.md +169 -0
- package/docs/dev-portal/zudoku/configuration/sentry.mdx +44 -0
- package/docs/dev-portal/zudoku/configuration/site.md +124 -0
- package/docs/dev-portal/zudoku/configuration/slots.mdx +124 -0
- package/docs/dev-portal/zudoku/configuration/vite-config.md +18 -0
- package/docs/dev-portal/zudoku/custom-plugins.md +287 -0
- package/docs/dev-portal/zudoku/customization/colors-theme.mdx +275 -0
- package/docs/dev-portal/zudoku/customization/fonts.md +110 -0
- package/docs/dev-portal/zudoku/extending/events.md +124 -0
- package/docs/dev-portal/zudoku/guides/custom-pages.md +106 -0
- package/docs/dev-portal/zudoku/guides/environment-variables.md +99 -0
- package/docs/dev-portal/zudoku/guides/mermaid.mdx +70 -0
- package/docs/dev-portal/zudoku/guides/navigation-migration.md +87 -0
- package/docs/dev-portal/zudoku/guides/navigation-rules.mdx +197 -0
- package/docs/dev-portal/zudoku/guides/processors.mdx +234 -0
- package/docs/dev-portal/zudoku/guides/static-files.md +55 -0
- package/docs/dev-portal/zudoku/guides/transforming-examples.md +156 -0
- package/docs/dev-portal/zudoku/guides/using-multiple-apis.md +87 -0
- package/docs/dev-portal/zudoku/markdown/admonitions.md +128 -0
- package/docs/dev-portal/zudoku/markdown/code-blocks.md +196 -0
- package/docs/dev-portal/zudoku/markdown/frontmatter.md +172 -0
- package/docs/dev-portal/zudoku/markdown/mdx.md +68 -0
- package/docs/dev-portal/zudoku/markdown/overview.md +275 -0
- package/docs/dev-portal/zudoku/plugins.md +5 -0
- package/docs/dev-portal/zudoku/writing.mdx +72 -0
- package/docs/errors/bad-request.mdx +39 -0
- package/docs/errors/build-error.mdx +45 -0
- package/docs/errors/fatal-project-error.mdx +39 -0
- package/docs/errors/gateway-timeout.mdx +33 -0
- package/docs/errors/get-head-body-error.mdx +41 -0
- package/docs/errors/main-mod-error.mdx +40 -0
- package/docs/errors/no-project-set.mdx +41 -0
- package/docs/errors/not-found.mdx +43 -0
- package/docs/errors/rate-limit-exceeded.mdx +31 -0
- package/docs/errors/schema-validation-failed.mdx +51 -0
- package/docs/errors/system-configuration-error.mdx +44 -0
- package/docs/errors/unauthorized.mdx +50 -0
- package/docs/errors/unknown-error.mdx +42 -0
- package/docs/errors.mdx +14 -0
- package/docs/guides/canary-routing-for-employees.mdx +385 -0
- package/docs/guides/geolocation-backend-routing.mdx +404 -0
- package/docs/guides/modify-openapi-paths.mdx +371 -0
- package/docs/guides/openapi-overlays.mdx +492 -0
- package/docs/guides/overview.mdx +12 -0
- package/docs/guides/user-based-backend-routing.mdx +437 -0
- package/docs/handlers/aws-lambda.mdx +201 -0
- package/docs/handlers/custom-handler.mdx +112 -0
- package/docs/handlers/legacy-dev-portal-handler.mdx +135 -0
- package/docs/handlers/mcp-server.mdx +730 -0
- package/docs/handlers/openapi.mdx +78 -0
- package/docs/handlers/redirect.mdx +115 -0
- package/docs/handlers/system-handlers.mdx +41 -0
- package/docs/handlers/url-forward.mdx +204 -0
- package/docs/handlers/url-rewrite.mdx +224 -0
- package/docs/handlers/websocket-handler.mdx +154 -0
- package/docs/home.mdx +6 -0
- package/docs/managed-edge/overview.md +78 -0
- package/docs/mcp-server/configuration-migration-guide.mdx +344 -0
- package/docs/mcp-server/custom-tools.mdx +487 -0
- package/docs/mcp-server/graphql.mdx +241 -0
- package/docs/mcp-server/introduction.mdx +122 -0
- package/docs/mcp-server/openai-apps-sdk.mdx +160 -0
- package/docs/mcp-server/prompts.mdx +283 -0
- package/docs/mcp-server/resources.mdx +288 -0
- package/docs/mcp-server/testing.mdx +53 -0
- package/docs/mcp-server/tools.mdx +306 -0
- package/docs/policies/_index.md +92 -0
- package/docs/policies/ab-test-inbound/intro.md +8 -0
- package/docs/policies/ab-test-inbound/policy.ts +14 -0
- package/docs/policies/ab-test-inbound/schema.json +27 -0
- package/docs/policies/ab-test-outbound/intro.md +8 -0
- package/docs/policies/ab-test-outbound/policy.ts +26 -0
- package/docs/policies/ab-test-outbound/schema.json +27 -0
- package/docs/policies/acl-policy-inbound/intro.md +5 -0
- package/docs/policies/acl-policy-inbound/policy.ts +32 -0
- package/docs/policies/acl-policy-inbound/schema.json +52 -0
- package/docs/policies/akamai-ai-firewall/schema.json +98 -0
- package/docs/policies/amberflo-metering-inbound/doc.md +183 -0
- package/docs/policies/amberflo-metering-inbound/intro.md +20 -0
- package/docs/policies/amberflo-metering-inbound/schema.json +108 -0
- package/docs/policies/api-key-inbound/doc.md +77 -0
- package/docs/policies/api-key-inbound/intro.md +30 -0
- package/docs/policies/api-key-inbound/schema.json +84 -0
- package/docs/policies/archive-request-aws-s3-inbound/intro.md +4 -0
- package/docs/policies/archive-request-aws-s3-inbound/policy.ts +58 -0
- package/docs/policies/archive-request-aws-s3-inbound/schema.json +68 -0
- package/docs/policies/archive-request-azure-storage-inbound/doc.md +31 -0
- package/docs/policies/archive-request-azure-storage-inbound/intro.md +4 -0
- package/docs/policies/archive-request-azure-storage-inbound/policy.ts +54 -0
- package/docs/policies/archive-request-azure-storage-inbound/schema.json +53 -0
- package/docs/policies/archive-request-gcp-storage-inbound/doc.md +63 -0
- package/docs/policies/archive-request-gcp-storage-inbound/intro.md +4 -0
- package/docs/policies/archive-request-gcp-storage-inbound/policy.ts +68 -0
- package/docs/policies/archive-request-gcp-storage-inbound/schema.json +47 -0
- package/docs/policies/archive-response-aws-s3-outbound/intro.md +2 -0
- package/docs/policies/archive-response-aws-s3-outbound/policy.ts +59 -0
- package/docs/policies/archive-response-aws-s3-outbound/schema.json +68 -0
- package/docs/policies/archive-response-azure-storage-outbound/doc.md +31 -0
- package/docs/policies/archive-response-azure-storage-outbound/intro.md +3 -0
- package/docs/policies/archive-response-azure-storage-outbound/policy.ts +54 -0
- package/docs/policies/archive-response-azure-storage-outbound/schema.json +53 -0
- package/docs/policies/audit-log-inbound/doc.md +78 -0
- package/docs/policies/audit-log-inbound/intro.md +10 -0
- package/docs/policies/audit-log-inbound/schema.json +81 -0
- package/docs/policies/auth0-jwt-auth-inbound/doc.md +125 -0
- package/docs/policies/auth0-jwt-auth-inbound/intro.md +17 -0
- package/docs/policies/auth0-jwt-auth-inbound/schema.json +74 -0
- package/docs/policies/authzen-inbound/doc.md +24 -0
- package/docs/policies/authzen-inbound/intro.md +31 -0
- package/docs/policies/authzen-inbound/schema.json +126 -0
- package/docs/policies/axiomatics-authz-inbound/doc.md +144 -0
- package/docs/policies/axiomatics-authz-inbound/intro.md +11 -0
- package/docs/policies/axiomatics-authz-inbound/schema.json +161 -0
- package/docs/policies/basic-auth-inbound/intro.md +9 -0
- package/docs/policies/basic-auth-inbound/schema.json +99 -0
- package/docs/policies/bot-detection-inbound/intro.md +4 -0
- package/docs/policies/bot-detection-inbound/schema.json +56 -0
- package/docs/policies/brownout-inbound/doc.md +55 -0
- package/docs/policies/brownout-inbound/intro.md +12 -0
- package/docs/policies/brownout-inbound/schema.json +115 -0
- package/docs/policies/caching-inbound/doc.md +209 -0
- package/docs/policies/caching-inbound/intro.md +23 -0
- package/docs/policies/caching-inbound/schema.json +98 -0
- package/docs/policies/change-method-inbound/schema.json +56 -0
- package/docs/policies/clear-headers-inbound/schema.json +59 -0
- package/docs/policies/clear-headers-outbound/schema.json +59 -0
- package/docs/policies/clerk-jwt-auth-inbound/doc.md +85 -0
- package/docs/policies/clerk-jwt-auth-inbound/intro.md +4 -0
- package/docs/policies/clerk-jwt-auth-inbound/schema.json +68 -0
- package/docs/policies/cognito-jwt-auth-inbound/intro.md +7 -0
- package/docs/policies/cognito-jwt-auth-inbound/schema.json +74 -0
- package/docs/policies/comet-opik-tracing-inbound/schema.json +65 -0
- package/docs/policies/complex-rate-limit-inbound/doc.md +20 -0
- package/docs/policies/complex-rate-limit-inbound/intro.md +23 -0
- package/docs/policies/complex-rate-limit-inbound/schema.json +142 -0
- package/docs/policies/composite-inbound/doc.md +69 -0
- package/docs/policies/composite-inbound/intro.md +15 -0
- package/docs/policies/composite-inbound/schema.json +59 -0
- package/docs/policies/composite-outbound/intro.md +6 -0
- package/docs/policies/composite-outbound/schema.json +59 -0
- package/docs/policies/curity-phantom-token-inbound/doc.md +109 -0
- package/docs/policies/curity-phantom-token-inbound/intro.md +3 -0
- package/docs/policies/curity-phantom-token-inbound/schema.json +68 -0
- package/docs/policies/custom-code-inbound/doc.md +267 -0
- package/docs/policies/custom-code-inbound/intro.md +2 -0
- package/docs/policies/custom-code-inbound/schema.json +48 -0
- package/docs/policies/custom-code-outbound/doc.md +235 -0
- package/docs/policies/custom-code-outbound/intro.md +2 -0
- package/docs/policies/custom-code-outbound/schema.json +43 -0
- package/docs/policies/firebase-jwt-inbound/intro.md +6 -0
- package/docs/policies/firebase-jwt-inbound/schema.json +68 -0
- package/docs/policies/formdata-to-json-inbound/schema.json +60 -0
- package/docs/policies/galileo-tracing-inbound/schema.json +65 -0
- package/docs/policies/geo-filter-inbound/doc.md +33 -0
- package/docs/policies/geo-filter-inbound/schema.json +108 -0
- package/docs/policies/graphql-complexity-limit-inbound/doc.md +48 -0
- package/docs/policies/graphql-complexity-limit-inbound/intro.md +2 -0
- package/docs/policies/graphql-complexity-limit-inbound/schema.json +90 -0
- package/docs/policies/graphql-disable-introspection-inbound/doc.md +66 -0
- package/docs/policies/graphql-disable-introspection-inbound/intro.md +15 -0
- package/docs/policies/graphql-disable-introspection-inbound/schema.json +48 -0
- package/docs/policies/graphql-introspection-filter-outbound/doc.md +148 -0
- package/docs/policies/graphql-introspection-filter-outbound/schema.json +79 -0
- package/docs/policies/hmac-auth-inbound/doc.md +30 -0
- package/docs/policies/hmac-auth-inbound/intro.md +10 -0
- package/docs/policies/hmac-auth-inbound/policy.ts +70 -0
- package/docs/policies/hmac-auth-inbound/schema.json +53 -0
- package/docs/policies/http-deprecation-outbound/doc.md +73 -0
- package/docs/policies/http-deprecation-outbound/schema.json +83 -0
- package/docs/policies/ip-restriction-inbound/intro.md +8 -0
- package/docs/policies/ip-restriction-inbound/policy.ts +40 -0
- package/docs/policies/ip-restriction-inbound/schema.json +58 -0
- package/docs/policies/jwt-scopes-inbound/schema.json +59 -0
- package/docs/policies/ldap-auth-inbound/schema.json +56 -0
- package/docs/policies/mock-api-inbound/schema.json +72 -0
- package/docs/policies/moesif-inbound/doc.md +44 -0
- package/docs/policies/moesif-inbound/intro.md +6 -0
- package/docs/policies/moesif-inbound/schema.json +68 -0
- package/docs/policies/monetization-inbound/doc.md +87 -0
- package/docs/policies/monetization-inbound/intro.md +6 -0
- package/docs/policies/monetization-inbound/schema.json +102 -0
- package/docs/policies/mtls-auth-inbound/intro.md +6 -0
- package/docs/policies/mtls-auth-inbound/schema.json +68 -0
- package/docs/policies/okta-fga-authz-inbound/doc.md +181 -0
- package/docs/policies/okta-fga-authz-inbound/intro.md +20 -0
- package/docs/policies/okta-fga-authz-inbound/schema.json +104 -0
- package/docs/policies/okta-jwt-auth-inbound/intro.md +7 -0
- package/docs/policies/okta-jwt-auth-inbound/schema.json +74 -0
- package/docs/policies/open-id-jwt-auth-inbound/doc.md +58 -0
- package/docs/policies/open-id-jwt-auth-inbound/intro.md +30 -0
- package/docs/policies/open-id-jwt-auth-inbound/schema.json +128 -0
- package/docs/policies/openfga-authz-inbound/doc.md +207 -0
- package/docs/policies/openfga-authz-inbound/intro.md +17 -0
- package/docs/policies/openfga-authz-inbound/schema.json +191 -0
- package/docs/policies/openmeter-inbound/doc.md +163 -0
- package/docs/policies/openmeter-inbound/intro.md +18 -0
- package/docs/policies/openmeter-inbound/schema.json +183 -0
- package/docs/policies/prompt-injection-outbound/doc.md +106 -0
- package/docs/policies/prompt-injection-outbound/intro.md +4 -0
- package/docs/policies/prompt-injection-outbound/schema.json +74 -0
- package/docs/policies/propel-auth-jwt-inbound/doc.md +88 -0
- package/docs/policies/propel-auth-jwt-inbound/intro.md +4 -0
- package/docs/policies/propel-auth-jwt-inbound/schema.json +74 -0
- package/docs/policies/query-param-to-header-inbound/doc.md +70 -0
- package/docs/policies/query-param-to-header-inbound/intro.md +5 -0
- package/docs/policies/query-param-to-header-inbound/schema.json +74 -0
- package/docs/policies/quota-inbound/doc.md +235 -0
- package/docs/policies/quota-inbound/intro.md +7 -0
- package/docs/policies/quota-inbound/schema.json +133 -0
- package/docs/policies/rate-limit-inbound/doc.md +78 -0
- package/docs/policies/rate-limit-inbound/intro.md +30 -0
- package/docs/policies/rate-limit-inbound/schema.json +134 -0
- package/docs/policies/rbac-policy-inbound/intro.md +3 -0
- package/docs/policies/rbac-policy-inbound/policy.ts +42 -0
- package/docs/policies/rbac-policy-inbound/schema.json +52 -0
- package/docs/policies/readme-metrics-inbound/doc.md +1 -0
- package/docs/policies/readme-metrics-inbound/intro.md +3 -0
- package/docs/policies/readme-metrics-inbound/schema.json +84 -0
- package/docs/policies/remove-headers-inbound/schema.json +59 -0
- package/docs/policies/remove-headers-outbound/schema.json +59 -0
- package/docs/policies/remove-query-params-inbound/schema.json +59 -0
- package/docs/policies/replace-string-outbound/schema.json +69 -0
- package/docs/policies/request-size-limit-inbound/schema.json +60 -0
- package/docs/policies/request-validation-inbound/doc.md +72 -0
- package/docs/policies/request-validation-inbound/intro.md +24 -0
- package/docs/policies/request-validation-inbound/schema.json +98 -0
- package/docs/policies/require-origin-inbound/intro.md +12 -0
- package/docs/policies/require-origin-inbound/schema.json +65 -0
- package/docs/policies/secret-masking-outbound/doc.md +41 -0
- package/docs/policies/secret-masking-outbound/intro.md +13 -0
- package/docs/policies/secret-masking-outbound/schema.json +65 -0
- package/docs/policies/semantic-cache-inbound/doc.md +63 -0
- package/docs/policies/semantic-cache-inbound/intro.md +4 -0
- package/docs/policies/semantic-cache-inbound/schema.json +179 -0
- package/docs/policies/set-body-inbound/intro.md +7 -0
- package/docs/policies/set-body-inbound/schema.json +56 -0
- package/docs/policies/set-headers-inbound/doc.md +41 -0
- package/docs/policies/set-headers-inbound/intro.md +2 -0
- package/docs/policies/set-headers-inbound/schema.json +83 -0
- package/docs/policies/set-headers-outbound/schema.json +83 -0
- package/docs/policies/set-query-params-inbound/schema.json +83 -0
- package/docs/policies/set-status-outbound/schema.json +62 -0
- package/docs/policies/sleep-inbound/schema.json +56 -0
- package/docs/policies/stripe-webhook-verification-inbound/intro.md +2 -0
- package/docs/policies/stripe-webhook-verification-inbound/schema.json +60 -0
- package/docs/policies/supabase-jwt-auth-inbound/doc.md +29 -0
- package/docs/policies/supabase-jwt-auth-inbound/intro.md +12 -0
- package/docs/policies/supabase-jwt-auth-inbound/schema.json +86 -0
- package/docs/policies/transform-body-inbound/intro.md +8 -0
- package/docs/policies/transform-body-inbound/policy.ts +16 -0
- package/docs/policies/transform-body-inbound/schema.json +27 -0
- package/docs/policies/transform-body-outbound/intro.md +8 -0
- package/docs/policies/transform-body-outbound/policy.ts +19 -0
- package/docs/policies/transform-body-outbound/schema.json +27 -0
- package/docs/policies/upstream-azure-ad-service-auth-inbound/doc.md +82 -0
- package/docs/policies/upstream-azure-ad-service-auth-inbound/intro.md +20 -0
- package/docs/policies/upstream-azure-ad-service-auth-inbound/schema.json +84 -0
- package/docs/policies/upstream-firebase-admin-auth-inbound/intro.md +10 -0
- package/docs/policies/upstream-firebase-admin-auth-inbound/schema.json +68 -0
- package/docs/policies/upstream-firebase-user-auth-inbound/intro.md +2 -0
- package/docs/policies/upstream-firebase-user-auth-inbound/schema.json +113 -0
- package/docs/policies/upstream-gcp-federated-auth-inbound/doc.md +139 -0
- package/docs/policies/upstream-gcp-federated-auth-inbound/intro.md +21 -0
- package/docs/policies/upstream-gcp-federated-auth-inbound/schema.json +96 -0
- package/docs/policies/upstream-gcp-jwt-inbound/intro.md +10 -0
- package/docs/policies/upstream-gcp-jwt-inbound/schema.json +62 -0
- package/docs/policies/upstream-gcp-service-auth-inbound/doc.md +132 -0
- package/docs/policies/upstream-gcp-service-auth-inbound/intro.md +25 -0
- package/docs/policies/upstream-gcp-service-auth-inbound/schema.json +95 -0
- package/docs/policies/upstream-zuplo-jwt-auth-inbound/doc.md +213 -0
- package/docs/policies/upstream-zuplo-jwt-auth-inbound/intro.md +16 -0
- package/docs/policies/upstream-zuplo-jwt-auth-inbound/schema.json +101 -0
- package/docs/policies/validate-json-schema-inbound/doc.md +129 -0
- package/docs/policies/validate-json-schema-inbound/intro.md +7 -0
- package/docs/policies/validate-json-schema-inbound/schema.json +56 -0
- package/docs/policies/web-bot-auth-inbound/doc.md +104 -0
- package/docs/policies/web-bot-auth-inbound/intro.md +16 -0
- package/docs/policies/web-bot-auth-inbound/schema.json +76 -0
- package/docs/policies/xml-to-json-outbound/doc.md +71 -0
- package/docs/policies/xml-to-json-outbound/intro.md +4 -0
- package/docs/policies/xml-to-json-outbound/schema.json +117 -0
- package/docs/programmable-api/audit-log.mdx +74 -0
- package/docs/programmable-api/background-dispatcher.mdx +124 -0
- package/docs/programmable-api/background-loader.mdx +104 -0
- package/docs/programmable-api/cache.mdx +186 -0
- package/docs/programmable-api/compatibility-dates.mdx +201 -0
- package/docs/programmable-api/console-logging.mdx +48 -0
- package/docs/programmable-api/context-data.mdx +127 -0
- package/docs/programmable-api/custom-cors-policy.mdx +64 -0
- package/docs/programmable-api/environment.mdx +328 -0
- package/docs/programmable-api/hooks.mdx +569 -0
- package/docs/programmable-api/http-problems.mdx +385 -0
- package/docs/programmable-api/jwt-service-plugin.mdx +420 -0
- package/docs/programmable-api/logger.mdx +223 -0
- package/docs/programmable-api/memory-zone-read-through-cache.mdx +96 -0
- package/docs/programmable-api/node-modules.mdx +67 -0
- package/docs/programmable-api/not-found-handler.mdx +47 -0
- package/docs/programmable-api/oauth-protected-resource-plugin.mdx +46 -0
- package/docs/programmable-api/overview.mdx +213 -0
- package/docs/programmable-api/problem-response-formatter.mdx +183 -0
- package/docs/programmable-api/request-user.mdx +289 -0
- package/docs/programmable-api/reusing-code.mdx +26 -0
- package/docs/programmable-api/route-raw.mdx +55 -0
- package/docs/programmable-api/runtime-behaviors.mdx +25 -0
- package/docs/programmable-api/runtime-errors.mdx +246 -0
- package/docs/programmable-api/runtime-extensions.mdx +340 -0
- package/docs/programmable-api/safely-clone-a-request-or-response.mdx +57 -0
- package/docs/programmable-api/streaming-zone-cache.mdx +155 -0
- package/docs/programmable-api/web-crypto-apis.mdx +219 -0
- package/docs/programmable-api/web-standard-apis.mdx +109 -0
- package/docs/programmable-api/zone-cache.mdx +131 -0
- package/docs/programmable-api/zp-body-removed.mdx +32 -0
- package/docs/programmable-api/zuplo-context.mdx +414 -0
- package/docs/programmable-api/zuplo-id-token.mdx +90 -0
- package/docs/programmable-api/zuplo-json.mdx +91 -0
- package/docs/programmable-api/zuplo-request.mdx +200 -0
- package/docs/sample-apis.mdx +78 -0
- package/docs/self-hosted/overview.md +60 -0
- package/package.json +6 -5
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Documentation
|
|
3
|
+
navigation_label: Documentation
|
|
4
|
+
navigation_icon: book
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Dev Portal 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, Dev Portal 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="zudoku.config.tsx" 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="zudoku.config.tsx"
|
|
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="zudoku.config.tsx"
|
|
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="zudoku.config.tsx"
|
|
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="zudoku.config.tsx"
|
|
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="zudoku.config.tsx"
|
|
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="zudoku.config.tsx"
|
|
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="zudoku.config.tsx"
|
|
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="zudoku.config.tsx"
|
|
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](/dev-portal/zudoku/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](/dev-portal/zudoku/configuration/llms) page for complete documentation.
|
|
240
|
+
|
|
241
|
+
```tsx title="zudoku.config.tsx"
|
|
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
|
+
Dev Portal 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
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_label: Footer
|
|
3
|
+
sidebar_icon: panel-bottom-dashed
|
|
4
|
+
description:
|
|
5
|
+
Learn how to configure the footer in Zudoku, including columns, social links, copyright notice,
|
|
6
|
+
and logo. Customize the footer's position and content with slots.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Footer Configuration
|
|
10
|
+
|
|
11
|
+
The footer is a customizable component that appears at the bottom of every page in your Dev Portal site.
|
|
12
|
+
You can configure various aspects of the footer including its position, columns, social links,
|
|
13
|
+
copyright notice, and logo.
|
|
14
|
+
|
|
15
|
+
## Basic Configuration
|
|
16
|
+
|
|
17
|
+
The footer is configured in your `zudoku.config.tsx` file under the `page.footer` property:
|
|
18
|
+
|
|
19
|
+
```tsx
|
|
20
|
+
const config: ZudokuConfig = {
|
|
21
|
+
site: {
|
|
22
|
+
footer: {
|
|
23
|
+
// Footer configuration goes here
|
|
24
|
+
position: "center",
|
|
25
|
+
copyright: `© ${new Date().getFullYear()} YourCompany LLC. All rights reserved.`,
|
|
26
|
+
// Other options...
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
// Other configuration...
|
|
30
|
+
};
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Position
|
|
34
|
+
|
|
35
|
+
You can control the horizontal alignment of the footer content using the `position` property:
|
|
36
|
+
|
|
37
|
+
```tsx
|
|
38
|
+
footer: {
|
|
39
|
+
position: "center"; // default
|
|
40
|
+
// or
|
|
41
|
+
position: "start";
|
|
42
|
+
// or
|
|
43
|
+
position: "end";
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
This affects how the content in the footer's main row is positioned horizontally.
|
|
48
|
+
|
|
49
|
+
## Columns
|
|
50
|
+
|
|
51
|
+
The footer can include multiple columns of links, each with its own title:
|
|
52
|
+
|
|
53
|
+
```tsx
|
|
54
|
+
footer: {
|
|
55
|
+
columns: [
|
|
56
|
+
{
|
|
57
|
+
title: "Product",
|
|
58
|
+
position: "center", // position in grid, optional: start, center, end
|
|
59
|
+
links: [
|
|
60
|
+
{ label: "Features", href: "/features" },
|
|
61
|
+
{ label: "Pricing", href: "/pricing" },
|
|
62
|
+
{ label: "Documentation", href: "/docs" },
|
|
63
|
+
{ label: "GitHub", href: "https://github.com/org/repo" }, // Auto-detected as external
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
title: "Company",
|
|
68
|
+
links: [
|
|
69
|
+
{ label: "About", href: "/about" },
|
|
70
|
+
{ label: "Blog", href: "/blog" },
|
|
71
|
+
{ label: "Contact", href: "/contact" },
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
];
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Each column can have its own positioning with the `position` property, which can be `"start"`,
|
|
79
|
+
`"center"`, or `"end"`. This controls how the column is positioned within the footer grid.
|
|
80
|
+
|
|
81
|
+
## Social Media Links
|
|
82
|
+
|
|
83
|
+
You can add social media links to your footer:
|
|
84
|
+
|
|
85
|
+
```tsx
|
|
86
|
+
footer: {
|
|
87
|
+
social: [
|
|
88
|
+
{
|
|
89
|
+
icon: "github",
|
|
90
|
+
href: "https://github.com/yourusername",
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
icon: "twitter",
|
|
94
|
+
href: "https://twitter.com/yourhandle",
|
|
95
|
+
label: "Follow us", // optional label text
|
|
96
|
+
},
|
|
97
|
+
];
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
The `icon` property currently can be one of the following values:
|
|
102
|
+
|
|
103
|
+
<div className="[&_ul]:grid [&_ul]:grid-cols-[repeat(3,auto)]">
|
|
104
|
+
|
|
105
|
+
- `"reddit"`
|
|
106
|
+
- `"discord"`
|
|
107
|
+
- `"github"`
|
|
108
|
+
- `"x"` (Twitter)
|
|
109
|
+
- `"linkedin"`
|
|
110
|
+
- `"facebook"`
|
|
111
|
+
- `"instagram"`
|
|
112
|
+
- `"youtube"`
|
|
113
|
+
- `"tiktok"`
|
|
114
|
+
- `"twitch"`
|
|
115
|
+
- `"pinterest"`
|
|
116
|
+
- `"snapchat"`
|
|
117
|
+
- `"whatsapp"`
|
|
118
|
+
- `"telegram"`
|
|
119
|
+
|
|
120
|
+
</div>
|
|
121
|
+
|
|
122
|
+
Or you can provide a custom React component.
|
|
123
|
+
|
|
124
|
+
## Copyright Notice
|
|
125
|
+
|
|
126
|
+
Add a copyright notice with the `copyright` property:
|
|
127
|
+
|
|
128
|
+
```tsx
|
|
129
|
+
footer: {
|
|
130
|
+
copyright: `© ${new Date().getFullYear()} YourCompany LLC. All rights reserved.`;
|
|
131
|
+
}
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Logo
|
|
135
|
+
|
|
136
|
+
You can add a logo to your footer:
|
|
137
|
+
|
|
138
|
+
```tsx
|
|
139
|
+
footer: {
|
|
140
|
+
logo: {
|
|
141
|
+
src: {
|
|
142
|
+
light: "/path/to/light-logo.png",
|
|
143
|
+
dark: "/path/to/dark-logo.png"
|
|
144
|
+
},
|
|
145
|
+
alt: "Company Logo",
|
|
146
|
+
width: "120px" // optional width
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Customizing with Slot
|
|
152
|
+
|
|
153
|
+
Dev Portal provides `footer-before` and `footer-after` slots that allow you to insert custom content
|
|
154
|
+
before or after the main footer columns:
|
|
155
|
+
|
|
156
|
+
```tsx
|
|
157
|
+
// In your zudoku.config.tsx
|
|
158
|
+
slots: {
|
|
159
|
+
"footer-before": () => (
|
|
160
|
+
<div>
|
|
161
|
+
<h3>Custom pre-footer content</h3>
|
|
162
|
+
<p>This appears before the columns</p>
|
|
163
|
+
</div>
|
|
164
|
+
),
|
|
165
|
+
"footer-after": () => (
|
|
166
|
+
<div>
|
|
167
|
+
<p>Additional footer content</p>
|
|
168
|
+
</div>
|
|
169
|
+
)
|
|
170
|
+
}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Complete Example
|
|
174
|
+
|
|
175
|
+
Here's a complete example showing all footer options:
|
|
176
|
+
|
|
177
|
+
```tsx
|
|
178
|
+
footer: {
|
|
179
|
+
position: "center",
|
|
180
|
+
columns: [
|
|
181
|
+
{
|
|
182
|
+
title: "Product",
|
|
183
|
+
position: "start",
|
|
184
|
+
links: [
|
|
185
|
+
{ label: "Features", href: "/features" },
|
|
186
|
+
{ label: "Pricing", href: "/pricing" },
|
|
187
|
+
{ label: "Documentation", href: "/docs" }
|
|
188
|
+
]
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
title: "Resources",
|
|
192
|
+
position: "center",
|
|
193
|
+
links: [
|
|
194
|
+
{ label: "Blog", href: "/blog" },
|
|
195
|
+
{ label: "Support", href: "/support" },
|
|
196
|
+
{ label: "GitHub", href: "https://github.com/yourusername" } // Auto-detected as external
|
|
197
|
+
]
|
|
198
|
+
}
|
|
199
|
+
],
|
|
200
|
+
social: [
|
|
201
|
+
{ icon: "github", href: "https://github.com/yourusername" },
|
|
202
|
+
{ icon: "linkedin", href: "https://linkedin.com/company/yourcompany", label: "LinkedIn" }
|
|
203
|
+
],
|
|
204
|
+
copyright: `© ${new Date().getFullYear()} YourCompany LLC. All rights reserved.`,
|
|
205
|
+
logo: {
|
|
206
|
+
src: {
|
|
207
|
+
light: "/images/logo-light.svg",
|
|
208
|
+
dark: "/images/logo-dark.svg"
|
|
209
|
+
},
|
|
210
|
+
alt: "Company Logo",
|
|
211
|
+
width: "100px"
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
```
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: LLM-Friendly Documentation Export
|
|
3
|
+
navigation_label: llms.txt
|
|
4
|
+
navigation_icon: bot
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Dev Portal can generate LLM-friendly versions of your documentation following the
|
|
8
|
+
[llms.txt](https://llmstxt.org/) specification.
|
|
9
|
+
|
|
10
|
+
During build, you can optionally generate:
|
|
11
|
+
|
|
12
|
+
- **`.md` files** - Individual pages with frontmatter removed (via `publishMarkdown`)
|
|
13
|
+
- **`llms.txt`** - Summary with links to all pages
|
|
14
|
+
- **`llms-full.txt`** - Complete documentation in one file
|
|
15
|
+
|
|
16
|
+
All options are disabled by default.
|
|
17
|
+
|
|
18
|
+
## Configuration
|
|
19
|
+
|
|
20
|
+
LLM features are configured through the `docs` section in your config:
|
|
21
|
+
|
|
22
|
+
```tsx title="zudoku.config.tsx"
|
|
23
|
+
export default {
|
|
24
|
+
docs: {
|
|
25
|
+
files: "pages/**/*.{md,mdx}", // Your markdown files
|
|
26
|
+
publishMarkdown: true, // Generate .md files
|
|
27
|
+
llms: {
|
|
28
|
+
llmsTxt: true, // Generate llms.txt
|
|
29
|
+
llmsTxtFull: true, // Generate llms-full.txt
|
|
30
|
+
includeProtected: false, // Exclude protected routes
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
All options are disabled by default.
|
|
37
|
+
|
|
38
|
+
:::tip
|
|
39
|
+
|
|
40
|
+
When enabled, markdown files are generated during build and deleted after creating the `llms.txt`
|
|
41
|
+
files unless `publishMarkdown: true` is set (see
|
|
42
|
+
[`publishMarkdown` docs](/dev-portal/zudoku/configuration/docs#publishmarkdown)).
|
|
43
|
+
|
|
44
|
+
:::
|
|
45
|
+
|
|
46
|
+
### `llmsTxt`
|
|
47
|
+
|
|
48
|
+
**Type:** `boolean` **Default:** `false`
|
|
49
|
+
|
|
50
|
+
Generates an `llms.txt` file with links to all documentation pages:
|
|
51
|
+
|
|
52
|
+
```markdown title="llms.txt"
|
|
53
|
+
# Documentation
|
|
54
|
+
|
|
55
|
+
- [Quickstart](/dev-portal/zudoku/quickstart.md): Get started with Dev Portal - [Writing](/dev-portal/zudoku/writing.md): A guide to writing documentation
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### `llmsTxtFull`
|
|
59
|
+
|
|
60
|
+
**Type:** `boolean` **Default:** `false`
|
|
61
|
+
|
|
62
|
+
Generates `llms-full.txt` containing the complete content of all pages.
|
|
63
|
+
|
|
64
|
+
### `includeProtected`
|
|
65
|
+
|
|
66
|
+
**Type:** `boolean` **Default:** `false`
|
|
67
|
+
|
|
68
|
+
By default, protected routes are excluded. Set to `true` to include them in the generated files.
|
|
69
|
+
|
|
70
|
+
## Output
|
|
71
|
+
|
|
72
|
+
Generated files are available in the output directory after build:
|
|
73
|
+
|
|
74
|
+
```text
|
|
75
|
+
dist/
|
|
76
|
+
├── llms.txt # Generated if llmsTxt: true
|
|
77
|
+
├── llms-full.txt # Generated if llmsTxtFull: true
|
|
78
|
+
└── docs/
|
|
79
|
+
├── quickstart.md # Generated if publishMarkdown: true
|
|
80
|
+
├── writing.md
|
|
81
|
+
└── ...
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Important:** Individual `.md` files are only kept in the final build if `publishMarkdown: true`.
|
|
85
|
+
If only `llmsTxt` or `llmsTxtFull` is enabled, the `.md` files are generated temporarily during the
|
|
86
|
+
build but deleted after the `llms.txt` files are created.
|
|
87
|
+
|
|
88
|
+
Redirect pages, error pages (400, 404, 500), and protected routes (unless `includeProtected: true`)
|
|
89
|
+
are automatically excluded from all generated files.
|