diff --git a/docs.json b/docs.json index 046352a0..bde44fe3 100644 --- a/docs.json +++ b/docs.json @@ -1,295 +1,1058 @@ { - "$schema": "https://mintlify.com/docs.json", "theme": "maple", + "$schema": "https://mintlify.com/docs.json", "name": "Mintlify", "colors": { "primary": "#0D9373", "light": "#55D799", "dark": "#0D9373" }, + "logo": { + "light": "/logo/light.svg", + "dark": "/logo/dark.svg", + "href": "https://mintlify.com" + }, "favicon": "/favicon.svg", - "icons": { - "library": "lucide" + "api": { + "mdx": { + "auth": { + "method": "bearer" + } + } + }, + "navbar": { + "links": [ + { + "label": "Community", + "href": "https://mintlify.com/community" + } + ], + "primary": { + "type": "button", + "label": "Get Started", + "href": "https://mintlify.com/start" + } }, "navigation": { - "dropdowns": [ + "languages": [ { - "dropdown": "Documentation", - "icon": "book", - "description": "Set up your documentation", - "groups": [ + "language": "en", + "dropdowns": [ { - "group": "Getting Started", - "pages": [ - "index", - "quickstart", - "installation", - "editor", - "support" + "dropdown": "Documentation", + "icon": "book", + "description": "Set up your documentation", + "groups": [ + { + "group": "Getting Started", + "pages": [ + "index", + "quickstart", + "installation", + "editor", + "support" + ] + }, + { + "group": "Core Configuration", + "pages": [ + "settings", + "pages", + "navigation", + "themes", + "settings/custom-domain", + "ai-ingestion" + ] + }, + { + "group": "Components", + "pages": [ + "text", + "image-embeds", + "list-table", + "code", + "reusable-snippets", + "components/accordions", + "components/callouts", + "components/cards", + "components/columns", + "components/code-groups", + "components/examples", + "components/expandables", + "components/fields", + "components/frames", + "components/icons", + "components/mermaid-diagrams", + "components/panel", + "components/steps", + "components/tabs", + "components/tooltips", + "components/update" + ] + }, + { + "group": "API Pages", + "pages": [ + "api-playground/overview", + { + "group": "OpenAPI", + "icon": "file-json", + "pages": [ + "api-playground/openapi/setup", + "api-playground/openapi/writing-openapi", + "api-playground/openapi/advanced-features" + ] + }, + { + "group": "AsyncAPI", + "icon": "webhook", + "pages": [ + "api-playground/asyncapi/setup", + "api-playground/asyncapi/playground" + ] + }, + { + "group": "MDX", + "icon": "markdown", + "pages": [ + "api-playground/mdx/configuration", + "api-playground/mdx/authentication" + ] + }, + "api-playground/troubleshooting" + ] + }, + { + "group": "Authentication and Personalization", + "pages": [ + "settings/authentication-personalization/authentication", + "settings/authentication-personalization/partial-authentication", + "settings/authentication-personalization/personalization", + "settings/authentication-personalization/authentication-vs-personalization", + { + "group": "Authentication Setup", + "icon": "file-cog", + "pages": [ + "settings/authentication-personalization/authentication-setup/choosing-a-handshake", + "settings/authentication-personalization/authentication-setup/password", + "settings/authentication-personalization/authentication-setup/jwt", + "settings/authentication-personalization/authentication-setup/oauth", + "settings/authentication-personalization/authentication-setup/mintlify" + ] + }, + { + "group": "Personalization Setup", + "icon": "user-cog", + "pages": [ + "settings/authentication-personalization/personalization-setup/choosing-a-handshake", + "settings/authentication-personalization/personalization-setup/shared-session", + "settings/authentication-personalization/personalization-setup/jwt", + "settings/authentication-personalization/personalization-setup/oauth" + ] + }, + "settings/authentication-personalization/sending-data" + ] + }, + { + "group": "Guides", + "pages": [ + "guides/migration", + "mcp", + "translations", + "guides/monorepo", + "react-components", + "settings/custom-scripts", + "settings/seo", + "guides/hidden-pages", + "settings/broken-links", + { + "group": "Custom Subdirectory", + "icon": "folder", + "pages": [ + "advanced/subpath/cloudflare", + "advanced/subpath/route53-cloudfront", + "advanced/subpath/vercel" + ] + }, + { + "group": "Dashboard Access", + "icon": "gauge", + "pages": [ + "advanced/dashboard/sso", + "advanced/dashboard/permissions", + "advanced/dashboard/roles" + ] + } + ] + }, + { + "group": "Integrations", + "pages": [ + { + "group": "Analytics", + "icon": "chart-no-axes-combined", + "pages": [ + "integrations/analytics/overview", + "integrations/analytics/amplitude", + "integrations/analytics/clearbit", + "integrations/analytics/fathom", + "integrations/analytics/google-analytics", + "integrations/analytics/google-tag-manager", + "integrations/analytics/heap", + "integrations/analytics/hotjar", + "integrations/analytics/koala", + "integrations/analytics/logrocket", + "integrations/analytics/mixpanel", + "integrations/analytics/pirsch", + "integrations/analytics/plausible", + "integrations/analytics/posthog", + "integrations/analytics/segment" + ] + }, + { + "group": "SDKs", + "icon": "folder-code", + "pages": [ + "integrations/sdks/speakeasy", + "integrations/sdks/stainless" + ] + }, + { + "group": "Support", + "icon": "messages-square", + "pages": [ + "integrations/support/overview", + "integrations/support/intercom", + "integrations/support/front" + ] + }, + { + "group": "Privacy", + "icon": "folder-lock", + "pages": [ + "integrations/privacy/overview", + "integrations/privacy/osano" + ] + } + ] + }, + { + "group": "Version Control and CI/CD", + "pages": [ + "settings/github", + "settings/gitlab", + "settings/ci", + "settings/preview-deployments" + ] + } ] }, { - "group": "Core Configuration", - "pages": [ - "settings", - "pages", - "navigation", - "themes", - "settings/custom-domain", - "ai-ingestion" + "dropdown": "API Reference", + "icon": "terminal", + "description": "Reference for the API", + "groups": [ + { + "group": "API Reference", + "pages": [ + "api-reference/introduction" + ] + }, + { + "group": "Admin", + "pages": [ + "api-reference/update/trigger", + "api-reference/update/status" + ] + }, + { + "group": "Assistant", + "pages": [ + "api-reference/chat/create-topic", + "api-reference/chat/generate-message" + ] + } ] }, { - "group": "Components", - "pages": [ - "text", - "image-embeds", - "list-table", - "code", - "reusable-snippets", - "components/accordions", - "components/callouts", - "components/cards", - "components/columns", - "components/code-groups", - "components/examples", - "components/expandables", - "components/fields", - "components/frames", - "components/icons", - "components/mermaid-diagrams", - "components/panel", - "components/steps", - "components/tabs", - "components/tooltips", - "components/update" + "dropdown": "Changelog", + "icon": "history", + "description": "Updates and changes", + "groups": [ + { + "group": "Changelog", + "pages": [ + "changelog" + ] + } ] - }, + } + ] + }, + { + "dropdowns": [ { - "group": "API Pages", - "pages": [ - "api-playground/overview", + "dropdown": "Dokumentasi", + "icon": "book", + "description": "Set up your documentation", + "groups": [ { - "group": "OpenAPI", - "icon": "file-json", + "group": "Memulai", "pages": [ - "api-playground/openapi/setup", - "api-playground/openapi/writing-openapi", - "api-playground/openapi/advanced-features" + "id/index", + "id/quickstart", + "id/installation", + "id/editor", + "id/support" ] }, { - "group": "AsyncAPI", - "icon": "webhook", + "group": "Konfigurasi Inti", "pages": [ - "api-playground/asyncapi/setup", - "api-playground/asyncapi/playground" + "id/settings", + "id/pages", + "id/navigation", + "id/themes", + "id/settings/custom-domain", + "id/ai-ingestion" ] }, { - "group": "MDX", - "icon": "markdown", + "group": "Komponen", "pages": [ - "api-playground/mdx/configuration", - "api-playground/mdx/authentication" + "id/text", + "id/image-embeds", + "id/list-table", + "id/code", + "id/reusable-snippets", + "id/components/accordions", + "id/components/callouts", + "id/components/cards", + "id/components/columns", + "id/components/code-groups", + "id/components/examples", + "id/components/expandables", + "id/components/fields", + "id/components/frames", + "id/components/icons", + "id/components/mermaid-diagrams", + "id/components/panel", + "id/components/steps", + "id/components/tabs", + "id/components/tooltips", + "id/components/update" + ] + }, + { + "group": "Halaman API", + "pages": [ + "id/api-playground/overview", + { + "group": "OpenAPI", + "icon": "file-json", + "pages": [ + "id/api-playground/openapi/setup", + "id/api-playground/openapi/writing-openapi", + "id/api-playground/openapi/advanced-features" + ] + }, + { + "group": "AsyncAPI", + "icon": "webhook", + "pages": [ + "id/api-playground/asyncapi/setup", + "id/api-playground/asyncapi/playground" + ] + }, + { + "group": "MDX", + "icon": "markdown", + "pages": [ + "id/api-playground/mdx/configuration", + "id/api-playground/mdx/authentication" + ] + }, + "id/api-playground/troubleshooting" ] }, - "api-playground/troubleshooting" - ] - }, - { - "group": "Authentication and Personalization", - "pages": [ - "settings/authentication-personalization/authentication", - "settings/authentication-personalization/partial-authentication", - "settings/authentication-personalization/personalization", - "settings/authentication-personalization/authentication-vs-personalization", { - "group": "Authentication Setup", - "icon": "file-cog", + "group": "Autentikasi dan Personalisasi", "pages": [ - "settings/authentication-personalization/authentication-setup/choosing-a-handshake", - "settings/authentication-personalization/authentication-setup/password", - "settings/authentication-personalization/authentication-setup/jwt", - "settings/authentication-personalization/authentication-setup/oauth", - "settings/authentication-personalization/authentication-setup/mintlify" + "id/settings/authentication-personalization/authentication", + "id/settings/authentication-personalization/partial-authentication", + "id/settings/authentication-personalization/personalization", + "id/settings/authentication-personalization/authentication-vs-personalization", + { + "group": "Pengaturan Autentikasi", + "icon": "file-cog", + "pages": [ + "id/settings/authentication-personalization/authentication-setup/choosing-a-handshake", + "id/settings/authentication-personalization/authentication-setup/password", + "id/settings/authentication-personalization/authentication-setup/jwt", + "id/settings/authentication-personalization/authentication-setup/oauth", + "id/settings/authentication-personalization/authentication-setup/mintlify" + ] + }, + { + "group": "Pengaturan Personalisasi", + "icon": "user-cog", + "pages": [ + "id/settings/authentication-personalization/personalization-setup/choosing-a-handshake", + "id/settings/authentication-personalization/personalization-setup/shared-session", + "id/settings/authentication-personalization/personalization-setup/jwt", + "id/settings/authentication-personalization/personalization-setup/oauth" + ] + }, + "id/settings/authentication-personalization/sending-data" ] }, { - "group": "Personalization Setup", - "icon": "user-cog", + "group": "Panduan", "pages": [ - "settings/authentication-personalization/personalization-setup/choosing-a-handshake", - "settings/authentication-personalization/personalization-setup/shared-session", - "settings/authentication-personalization/personalization-setup/jwt", - "settings/authentication-personalization/personalization-setup/oauth" + "id/guides/migration", + "id/mcp", + "id/translations", + "id/guides/monorepo", + "id/react-components", + "id/settings/custom-scripts", + "id/settings/seo", + "id/guides/hidden-pages", + "id/settings/broken-links", + { + "group": "Subdirektori Kustom", + "icon": "folder", + "pages": [ + "id/advanced/subpath/cloudflare", + "id/advanced/subpath/route53-cloudfront", + "id/advanced/subpath/vercel" + ] + }, + { + "group": "Akses Dashboard", + "icon": "gauge", + "pages": [ + "id/advanced/dashboard/sso", + "id/advanced/dashboard/permissions", + "id/advanced/dashboard/roles" + ] + } ] }, - "settings/authentication-personalization/sending-data" + { + "group": "Integrasi", + "pages": [ + { + "group": "Analitik", + "icon": "chart-no-axes-combined", + "pages": [ + "id/integrations/analytics/overview", + "id/integrations/analytics/amplitude", + "id/integrations/analytics/clearbit", + "id/integrations/analytics/fathom", + "id/integrations/analytics/google-analytics", + "id/integrations/analytics/google-tag-manager", + "id/integrations/analytics/heap", + "id/integrations/analytics/hotjar", + "id/integrations/analytics/koala", + "id/integrations/analytics/logrocket", + "id/integrations/analytics/mixpanel", + "id/integrations/analytics/pirsch", + "id/integrations/analytics/plausible", + "id/integrations/analytics/posthog", + "id/integrations/analytics/segment" + ] + }, + { + "group": "SDK", + "icon": "folder-code", + "pages": [ + "id/integrations/sdks/speakeasy", + "id/integrations/sdks/stainless" + ] + }, + { + "group": "Dukungan", + "icon": "messages-square", + "pages": [ + "id/integrations/support/overview", + "id/integrations/support/intercom", + "id/integrations/support/front" + ] + }, + { + "group": "Privasi", + "icon": "folder-lock", + "pages": [ + "id/integrations/privacy/overview", + "id/integrations/privacy/osano" + ] + } + ] + }, + { + "group": "Kontrol Versi dan CI/CD", + "pages": [ + "id/settings/github", + "id/settings/gitlab", + "id/settings/ci", + "id/settings/preview-deployments" + ] + } ] }, { - "group": "Guides", - "pages": [ - "guides/migration", - "mcp", - "translations", - "guides/monorepo", - "react-components", - "settings/custom-scripts", - "settings/seo", - "guides/hidden-pages", - "settings/broken-links", + "dropdown": "Referensi API", + "icon": "terminal", + "description": "Reference for the API", + "groups": [ + { + "group": "Referensi API", + "pages": [ + "id/api-reference/introduction" + ] + }, { - "group": "Custom Subdirectory", - "icon": "folder", + "group": "Admin", "pages": [ - "advanced/subpath/cloudflare", - "advanced/subpath/route53-cloudfront", - "advanced/subpath/vercel" + "id/api-reference/update/trigger", + "id/api-reference/update/status" ] }, { - "group": "Dashboard Access", - "icon": "gauge", + "group": "Asisten", "pages": [ - "advanced/dashboard/sso", - "advanced/dashboard/permissions", - "advanced/dashboard/roles" - + "id/api-reference/chat/create-topic", + "id/api-reference/chat/generate-message" ] } ] }, { - "group": "Integrations", - "pages": [ + "dropdown": "Changelog", + "icon": "history", + "description": "Updates and changes", + "groups": [ { - "group": "Analytics", - "icon": "chart-no-axes-combined", + "group": "Changelog", "pages": [ - "integrations/analytics/overview", - "integrations/analytics/amplitude", - "integrations/analytics/clearbit", - "integrations/analytics/fathom", - "integrations/analytics/google-analytics", - "integrations/analytics/google-tag-manager", - "integrations/analytics/heap", - "integrations/analytics/hotjar", - "integrations/analytics/koala", - "integrations/analytics/logrocket", - "integrations/analytics/mixpanel", - "integrations/analytics/pirsch", - "integrations/analytics/plausible", - "integrations/analytics/posthog", - "integrations/analytics/segment" + "id/changelog" + ] + } + ] + } + ], + "language": "id" + }, + { + "language": "pt-BR", + "dropdowns": [ + { + "dropdown": "Documentação", + "icon": "book", + "description": "Set up your documentation", + "groups": [ + { + "group": "Primeiros Passos", + "pages": [ + "pt-BR/index", + "pt-BR/quickstart", + "pt-BR/installation", + "pt-BR/editor", + "pt-BR/support" ] }, { - "group": "SDKs", - "icon": "folder-code", + "group": "Configuração Principal", "pages": [ - "integrations/sdks/speakeasy", - "integrations/sdks/stainless" + "pt-BR/settings", + "pt-BR/pages", + "pt-BR/navigation", + "pt-BR/themes", + "pt-BR/settings/custom-domain", + "pt-BR/ai-ingestion" ] }, { - "group": "Support", - "icon": "messages-square", + "group": "Componentes", "pages": [ - "integrations/support/overview", - "integrations/support/intercom", - "integrations/support/front" + "pt-BR/text", + "pt-BR/image-embeds", + "pt-BR/list-table", + "pt-BR/code", + "pt-BR/reusable-snippets", + "pt-BR/components/accordions", + "pt-BR/components/callouts", + "pt-BR/components/cards", + "pt-BR/components/columns", + "pt-BR/components/code-groups", + "pt-BR/components/examples", + "pt-BR/components/expandables", + "pt-BR/components/fields", + "pt-BR/components/frames", + "pt-BR/components/icons", + "pt-BR/components/mermaid-diagrams", + "pt-BR/components/panel", + "pt-BR/components/steps", + "pt-BR/components/tabs", + "pt-BR/components/tooltips", + "pt-BR/components/update" ] }, { - "group": "Privacy", - "icon": "folder-lock", + "group": "Páginas de API", "pages": [ - "integrations/privacy/overview", - "integrations/privacy/osano" + "pt-BR/api-playground/overview", + { + "group": "OpenAPI", + "icon": "file-json", + "pages": [ + "pt-BR/api-playground/openapi/setup", + "pt-BR/api-playground/openapi/writing-openapi", + "pt-BR/api-playground/openapi/advanced-features" + ] + }, + { + "group": "AsyncAPI", + "icon": "webhook", + "pages": [ + "pt-BR/api-playground/asyncapi/setup", + "pt-BR/api-playground/asyncapi/playground" + ] + }, + { + "group": "MDX", + "icon": "markdown", + "pages": [ + "pt-BR/api-playground/mdx/configuration", + "pt-BR/api-playground/mdx/authentication" + ] + }, + "pt-BR/api-playground/troubleshooting" + ] + }, + { + "group": "Autenticação e Personalização", + "pages": [ + "pt-BR/settings/authentication-personalization/authentication", + "pt-BR/settings/authentication-personalization/partial-authentication", + "pt-BR/settings/authentication-personalization/personalization", + "pt-BR/settings/authentication-personalization/authentication-vs-personalization", + { + "group": "Configuração de Autenticação", + "icon": "file-cog", + "pages": [ + "pt-BR/settings/authentication-personalization/authentication-setup/choosing-a-handshake", + "pt-BR/settings/authentication-personalization/authentication-setup/password", + "pt-BR/settings/authentication-personalization/authentication-setup/jwt", + "pt-BR/settings/authentication-personalization/authentication-setup/oauth", + "pt-BR/settings/authentication-personalization/authentication-setup/mintlify" + ] + }, + { + "group": "Configuração de Personalização", + "icon": "user-cog", + "pages": [ + "pt-BR/settings/authentication-personalization/personalization-setup/choosing-a-handshake", + "pt-BR/settings/authentication-personalization/personalization-setup/shared-session", + "pt-BR/settings/authentication-personalization/personalization-setup/jwt", + "pt-BR/settings/authentication-personalization/personalization-setup/oauth" + ] + }, + "pt-BR/settings/authentication-personalization/sending-data" + ] + }, + { + "group": "Guias", + "pages": [ + "pt-BR/guides/migration", + "pt-BR/mcp", + "pt-BR/translations", + "pt-BR/guides/monorepo", + "pt-BR/react-components", + "pt-BR/settings/custom-scripts", + "pt-BR/settings/seo", + "pt-BR/guides/hidden-pages", + "pt-BR/settings/broken-links", + { + "group": "Subdiretório Personalizado", + "icon": "folder", + "pages": [ + "pt-BR/advanced/subpath/cloudflare", + "pt-BR/advanced/subpath/route53-cloudfront", + "pt-BR/advanced/subpath/vercel" + ] + }, + { + "group": "Acesso ao Painel", + "icon": "gauge", + "pages": [ + "pt-BR/advanced/dashboard/sso", + "pt-BR/advanced/dashboard/permissions", + "pt-BR/advanced/dashboard/roles" + ] + } + ] + }, + { + "group": "Integrações", + "pages": [ + { + "group": "Análises", + "icon": "chart-no-axes-combined", + "pages": [ + "pt-BR/integrations/analytics/overview", + "pt-BR/integrations/analytics/amplitude", + "pt-BR/integrations/analytics/clearbit", + "pt-BR/integrations/analytics/fathom", + "pt-BR/integrations/analytics/google-analytics", + "pt-BR/integrations/analytics/google-tag-manager", + "pt-BR/integrations/analytics/heap", + "pt-BR/integrations/analytics/hotjar", + "pt-BR/integrations/analytics/koala", + "pt-BR/integrations/analytics/logrocket", + "pt-BR/integrations/analytics/mixpanel", + "pt-BR/integrations/analytics/pirsch", + "pt-BR/integrations/analytics/plausible", + "pt-BR/integrations/analytics/posthog", + "pt-BR/integrations/analytics/segment" + ] + }, + { + "group": "SDKs", + "icon": "folder-code", + "pages": [ + "pt-BR/integrations/sdks/speakeasy", + "pt-BR/integrations/sdks/stainless" + ] + }, + { + "group": "Suporte", + "icon": "messages-square", + "pages": [ + "pt-BR/integrations/support/overview", + "pt-BR/integrations/support/intercom", + "pt-BR/integrations/support/front" + ] + }, + { + "group": "Privacidade", + "icon": "folder-lock", + "pages": [ + "pt-BR/integrations/privacy/overview", + "pt-BR/integrations/privacy/osano" + ] + } + ] + }, + { + "group": "Controle de Versão e CI/CD", + "pages": [ + "pt-BR/settings/github", + "pt-BR/settings/gitlab", + "pt-BR/settings/ci", + "pt-BR/settings/preview-deployments" + ] + } + ] + }, + { + "dropdown": "Referência da API", + "icon": "terminal", + "description": "Reference for the API", + "groups": [ + { + "group": "Referência da API", + "pages": [ + "pt-BR/api-reference/introduction" + ] + }, + { + "group": "Admin", + "pages": [ + "pt-BR/api-reference/update/trigger", + "pt-BR/api-reference/update/status" + ] + }, + { + "group": "Assistente", + "pages": [ + "pt-BR/api-reference/chat/create-topic", + "pt-BR/api-reference/chat/generate-message" ] } ] }, { - "group": "Version Control and CI/CD", - "pages": [ - "settings/github", - "settings/gitlab", - "settings/ci", - "settings/preview-deployments" + "dropdown": "Registro de Alterações", + "icon": "history", + "description": "Updates and changes", + "groups": [ + { + "group": "Registro de Alterações", + "pages": [ + "pt-BR/changelog" + ] + } ] } ] }, { - "dropdown": "API Reference", - "description": "Reference for the API", - "icon": "terminal", - "groups": [ + "language": "es", + "dropdowns": [ { - "group": "API Reference", - "pages": [ - "api-reference/introduction" + "dropdown": "Documentación", + "icon": "book", + "description": "Set up your documentation", + "groups": [ + { + "group": "Primeros pasos", + "pages": [ + "es/index", + "es/quickstart", + "es/installation", + "es/editor", + "es/support" + ] + }, + { + "group": "Configuración principal", + "pages": [ + "es/settings", + "es/pages", + "es/navigation", + "es/themes", + "es/settings/custom-domain", + "es/ai-ingestion" + ] + }, + { + "group": "Componentes", + "pages": [ + "es/text", + "es/image-embeds", + "es/list-table", + "es/code", + "es/reusable-snippets", + "es/components/accordions", + "es/components/callouts", + "es/components/cards", + "es/components/columns", + "es/components/code-groups", + "es/components/examples", + "es/components/expandables", + "es/components/fields", + "es/components/frames", + "es/components/icons", + "es/components/mermaid-diagrams", + "es/components/panel", + "es/components/steps", + "es/components/tabs", + "es/components/tooltips", + "es/components/update" + ] + }, + { + "group": "Páginas de API", + "pages": [ + "es/api-playground/overview", + { + "group": "OpenAPI", + "icon": "file-json", + "pages": [ + "es/api-playground/openapi/setup", + "es/api-playground/openapi/writing-openapi", + "es/api-playground/openapi/advanced-features" + ] + }, + { + "group": "AsyncAPI", + "icon": "webhook", + "pages": [ + "es/api-playground/asyncapi/setup", + "es/api-playground/asyncapi/playground" + ] + }, + { + "group": "MDX", + "icon": "markdown", + "pages": [ + "es/api-playground/mdx/configuration", + "es/api-playground/mdx/authentication" + ] + }, + "es/api-playground/troubleshooting" + ] + }, + { + "group": "Autenticación y Personalización", + "pages": [ + "es/settings/authentication-personalization/authentication", + "es/settings/authentication-personalization/partial-authentication", + "es/settings/authentication-personalization/personalization", + "es/settings/authentication-personalization/authentication-vs-personalization", + { + "group": "Configuración de autenticación", + "icon": "file-cog", + "pages": [ + "es/settings/authentication-personalization/authentication-setup/choosing-a-handshake", + "es/settings/authentication-personalization/authentication-setup/password", + "es/settings/authentication-personalization/authentication-setup/jwt", + "es/settings/authentication-personalization/authentication-setup/oauth", + "es/settings/authentication-personalization/authentication-setup/mintlify" + ] + }, + { + "group": "Configuración de personalización", + "icon": "user-cog", + "pages": [ + "es/settings/authentication-personalization/personalization-setup/choosing-a-handshake", + "es/settings/authentication-personalization/personalization-setup/shared-session", + "es/settings/authentication-personalization/personalization-setup/jwt", + "es/settings/authentication-personalization/personalization-setup/oauth" + ] + }, + "es/settings/authentication-personalization/sending-data" + ] + }, + { + "group": "Guías", + "pages": [ + "es/guides/migration", + "es/mcp", + "es/translations", + "es/guides/monorepo", + "es/react-components", + "es/settings/custom-scripts", + "es/settings/seo", + "es/guides/hidden-pages", + "es/settings/broken-links", + { + "group": "Subdirectorio personalizado", + "icon": "folder", + "pages": [ + "es/advanced/subpath/cloudflare", + "es/advanced/subpath/route53-cloudfront", + "es/advanced/subpath/vercel" + ] + }, + { + "group": "Acceso al panel", + "icon": "gauge", + "pages": [ + "es/advanced/dashboard/sso", + "es/advanced/dashboard/permissions", + "es/advanced/dashboard/roles" + ] + } + ] + }, + { + "group": "Integraciones", + "pages": [ + { + "group": "Analíticas", + "icon": "chart-no-axes-combined", + "pages": [ + "es/integrations/analytics/overview", + "es/integrations/analytics/amplitude", + "es/integrations/analytics/clearbit", + "es/integrations/analytics/fathom", + "es/integrations/analytics/google-analytics", + "es/integrations/analytics/google-tag-manager", + "es/integrations/analytics/heap", + "es/integrations/analytics/hotjar", + "es/integrations/analytics/koala", + "es/integrations/analytics/logrocket", + "es/integrations/analytics/mixpanel", + "es/integrations/analytics/pirsch", + "es/integrations/analytics/plausible", + "es/integrations/analytics/posthog", + "es/integrations/analytics/segment" + ] + }, + { + "group": "SDKs", + "icon": "folder-code", + "pages": [ + "es/integrations/sdks/speakeasy", + "es/integrations/sdks/stainless" + ] + }, + { + "group": "Soporte", + "icon": "messages-square", + "pages": [ + "es/integrations/support/overview", + "es/integrations/support/intercom", + "es/integrations/support/front" + ] + }, + { + "group": "Privacidad", + "icon": "folder-lock", + "pages": [ + "es/integrations/privacy/overview", + "es/integrations/privacy/osano" + ] + } + ] + }, + { + "group": "Control de versiones y CI/CD", + "pages": [ + "es/settings/github", + "es/settings/gitlab", + "es/settings/ci", + "es/settings/preview-deployments" + ] + } ] }, { - "group": "Admin", - "pages": [ - "api-reference/update/trigger", - "api-reference/update/status" + "dropdown": "Referencia de API", + "icon": "terminal", + "description": "Reference for the API", + "groups": [ + { + "group": "Referencia de API", + "pages": [ + "es/api-reference/introduction" + ] + }, + { + "group": "Admin", + "pages": [ + "es/api-reference/update/trigger", + "es/api-reference/update/status" + ] + }, + { + "group": "Asistente", + "pages": [ + "es/api-reference/chat/create-topic", + "es/api-reference/chat/generate-message" + ] + } ] }, { - "group": "Assistant", - "pages": [ - "api-reference/chat/create-topic", - "api-reference/chat/generate-message" - ] - } - ] - }, - { - "dropdown": "Changelog", - "icon": "history", - "description": "Updates and changes", - "groups": [ - { - "group": "Changelog", - "pages": [ - "changelog" + "dropdown": "Registro de cambios", + "icon": "history", + "description": "Updates and changes", + "groups": [ + { + "group": "Registro de cambios", + "pages": [ + "es/changelog" + ] + } ] } ] } ] }, - "logo": { - "light": "/logo/light.svg", - "dark": "/logo/dark.svg", - "href": "https://mintlify.com" - }, - "api": { - "mdx": { - "auth": { - "method": "bearer" - } - } - }, - "navbar": { - "links": [ - { - "label": "Community", - "href": "https://mintlify.com/community" - } - ], - "primary": { - "type": "button", - "label": "Get Started", - "href": "https://mintlify.com/start" - } - }, "footer": { "socials": { "x": "https://x.com/mintlify", @@ -363,6 +1126,9 @@ } ] }, + "icons": { + "library": "lucide" + }, "integrations": { "ga4": { "measurementId": "G-RCYWHL7EQ7" diff --git a/es/advanced/dashboard/permissions.mdx b/es/advanced/dashboard/permissions.mdx new file mode 100644 index 00000000..19e6d0f1 --- /dev/null +++ b/es/advanced/dashboard/permissions.mdx @@ -0,0 +1,16 @@ +--- +- title: Permisos de Editor +- description: Permite que más miembros de tu equipo actualicen tus documentos +--- + +El miembro del equipo que creó tus documentos iniciales tendrá acceso de actualización a tus documentos, siempre y cuando haga push al repositorio de documentación con la misma cuenta de GitHub que se usó al registrarse en Mintlify. + +Si otro editor intenta actualizar los documentos mientras está en el plan gratuito, verás una advertencia en la verificación de tu commit de git. + + + + + +En los detalles de la advertencia de verificación de git, encontrarás el enlace para actualizar tu plan. También puedes actualizar tu plan en el [panel de control](https://dashboard.mintlify.com) para permitir que editores ilimitados actualicen tus documentos. Una vez que actualices tu plan, activa una actualización manual o haz push de otro cambio para implementar tus actualizaciones. + +Aprende más sobre nuestros precios [aquí](https://mintlify.com/pricing). diff --git a/es/advanced/dashboard/roles.mdx b/es/advanced/dashboard/roles.mdx new file mode 100644 index 00000000..f6e4ac4b --- /dev/null +++ b/es/advanced/dashboard/roles.mdx @@ -0,0 +1,22 @@ +--- +- title: Roles +- description: Controla el acceso a tu panel con roles. +--- + +Mintlify proporciona dos niveles de acceso al panel: Editor y Admin. + +Lo siguiente describe las acciones que están limitadas al rol de Admin: + +| | Editor | Admin | +| ---------------------------------- | :----: | :---: | +| Actualizar roles de usuario | ❌ | ✅ | +| Eliminar usuarios | ❌ | ✅ | +| Invitar usuarios admin | ❌ | ✅ | +| Gestionar y actualizar facturación | ❌ | ✅ | +| Actualizar dominio personalizado | ❌ | ✅ | +| Actualizar fuente Git | ❌ | ✅ | +| Eliminar organización | ❌ | ✅ | + +Otras acciones en el panel están disponibles para ambos roles. + +Puedes invitar a tantos administradores como quieras, pero recomendamos limitar el acceso de administrador a los usuarios que lo necesiten. diff --git a/es/advanced/dashboard/sso.mdx b/es/advanced/dashboard/sso.mdx new file mode 100644 index 00000000..8583adee --- /dev/null +++ b/es/advanced/dashboard/sso.mdx @@ -0,0 +1,105 @@ +--- +- title: Inicio de Sesión Único (SSO) +- description: Personalice cómo su equipo puede iniciar sesión en su panel de administración +--- + + + La funcionalidad SSO está disponible en nuestro[plan Enterprise](https://mintlify.com/pricing?ref=sso). Por favor{" "} + contacta con ventaspara más información. + + +Usa inicio de sesión único en tu dashboard a través de SAML y OIDC. Si usas Okta o Google Workspace, tenemos documentación específica para configurar SSO, pero si usas otro proveedor, ¡por favor contáctanos! + +## Okta + + + + + + Bajo`Applications`, haga clic para crear una nueva integración de aplicación usando SAML 2.0. + + + + Ingrese lo siguiente: + + * URL de inicio de sesión único (proporcionada por Mintlify) + * URI de audiencia (proporcionada por Mintlify) + * Formato de ID de nombre:`EmailAddress` + * Declaraciones de atributos: + | Nombre | Formato de nombre | Valor | + | ----------- | ----------------- | ---------------- | + | `firstName` | Basic | `user.firstName` | + | `lastName` | Basic | `user.lastName` | + + + + Una vez que la aplicación esté configurada, navegue a la pestaña de inicio de sesión y envíenos la URL de metadatos. + Habilitaremos la conexión desde nuestro lado usando esta información. + + + + + + + + Bajo`Applications`, haga clic para crear una nueva integración de aplicación usando OIDC. + Debe elegir el tipo de aplicación`Web Application`. + + + + Seleccione el tipo de concesión de código de autorización e ingrese la URI de redirección proporcionada por Mintlify. + + + + Una vez que la aplicación esté configurada, navegue a la pestaña General y localice el ID de cliente y el secreto del cliente. + Por favor, proporciónenos estos de manera segura, junto con la URL de su instancia de Okta (por ejemplo,`.okta.com`). Puede enviar estos a través de un servicio como 1Password o SendSafely. + + + + + +## Google Workspace + + + + + + Bajo`Web and mobile apps`, seleccione`Add custom SAML app`del menú desplegable`Add app`. + + + ![](/images/gsuite-add-custom-saml-app.png) + + + + + Copie la URL de SSO proporcionada, el ID de entidad y el certificado x509 y envíelos al equipo de Mintlify. + + + ![](/images/gsuite-saml-metadata.png) + + + + + En la página de detalles del proveedor de servicios, ingrese lo siguiente: + + * URL de ACS (proporcionada por Mintlify) + * ID de entidad (proporcionado por Mintlify) + * Formato de ID de nombre:`EMAIL` + * ID de nombre:`Basic Information > Primary email` + + + ![](/images/gsuite-sp-details.png) + + + En la siguiente página, ingrese las siguientes declaraciones de atributos: + + | Atributo del Directorio de Google | Atributo de la aplicación | + | --------------------------------- | ------------------------- | + | `First name` | `firstName` | + | `Last name` | `lastName` | + + Una vez que este paso esté completo y los usuarios estén asignados a la aplicación, informe a nuestro equipo y habilitaremos el SSO para su cuenta. + + + + diff --git a/es/advanced/subpath/cloudflare.mdx b/es/advanced/subpath/cloudflare.mdx new file mode 100644 index 00000000..28f9af72 --- /dev/null +++ b/es/advanced/subpath/cloudflare.mdx @@ -0,0 +1,72 @@ +--- +- title: Cloudflare +- description: Aloja documentación en una subruta /docs usando Cloudflare Workers +--- + +## Crear Worker de Cloudflare + +Navega a la`Workers & Pages > Create application > Create worker`. Se te presentará la siguiente pantalla donde puedes crear un nuevo worker de Cloudflare. + + + Create a Cloudflare worker + + + + Ten en cuenta: Si tu proveedor de DNS es Cloudflare, no debes usar el proxy para el registro CNAME + + +### Agregar dominio personalizado + +Una vez que se ha creado el worker, haz clic en`Configure worker`. Navega al worker`Settings > Triggers`. Haz clic en`Add Custom Domain` para agregar tu dominio deseado a la lista - recomendamos que agregues tanto la versión con como sin`www.`antepuesto al dominio. + + + Cloudflare worker custom domain + + +Si tienes problemas para configurar un subdirectorio personalizado,[contacta a nuestro equipo de soporte](mailto:sales@mintlify.com) y te guiaremos a través del proceso de actualización de tu alojamiento con nosotros. + +### Editar Script del Worker + +Haz clic en`Edit Code` y agrega el siguiente script en el código del worker. + + + Cloudflare edit code + + + + Edita`DOCS_URL` reemplazando`[SUBDOMAIN]` con tu subdominio único y`CUSTOM_URL` con la URL base de tu sitio web. + + +```javascript +addEventListener("fetch", (event) => { + event.respondWith(handleRequest(event.request)); +}); + +async function handleRequest(request) { + try { + const urlObject = new URL(request.url); + // If the request is to the docs subdirectory + if (/^\/docs/.test(urlObject.pathname)) { + // Then Proxy to Mintlify + const DOCS_URL = "[SUBDOMAIN].mintlify.dev"; + const CUSTOM_URL = "[YOUR_DOMAIN]"; + + let url = new URL(request.url); + url.hostname = DOCS_URL; + + let proxyRequest = new Request(url, request); + + proxyRequest.headers.set("Host", DOCS_URL); + proxyRequest.headers.set("X-Forwarded-Host", CUSTOM_URL); + proxyRequest.headers.set("X-Forwarded-Proto", "https"); + + return await fetch(proxyRequest); + } + } catch (error) { + // if no action found, play the regular request + return await fetch(request); + } +} +``` + +Haz clic en`Deploy` y espera a que los cambios se propaguen (puede tomar hasta unas pocas horas). diff --git a/es/advanced/subpath/route53-cloudfront.mdx b/es/advanced/subpath/route53-cloudfront.mdx new file mode 100644 index 00000000..5a5a7506 --- /dev/null +++ b/es/advanced/subpath/route53-cloudfront.mdx @@ -0,0 +1,137 @@ +--- +- title: AWS Route 53 y Cloudfront +- sidebarTitle: AWS +- description: Aloja la documentación en un subdirectorio /docs usando servicios de AWS +--- + +## Crear Distribución de Cloudfront + +Navega a [Cloudfront](https://aws.amazon.com/cloudfront) dentro de la consola de AWS y haz clic en `Create distribution` + + + ![Cloudfront Create Distribution](/images/cloudfront/create-distribution.png) + + +Para el dominio de Origen, ingresa `[SUBDOMAIN].mintlify.dev` donde `[SUBDOMAIN]` es el subdominio único del proyecto. Haz clic en `Use: [SUBDOMAIN].mintlify.dev` + +![Cloudfront Origin name](/images/cloudfront/origin-name.png) + +Para **Cache key and origin requests**, selecciona `Caching Optimized`. + + + ![Cloudfront Caching policy](/images/cloudfront/caching-policy.png) + + +Y para **Web Application Firewall (WAF)**, habilita las protecciones de seguridad + + + ![Cloudfront Caching + policy](/images/cloudfront/enable-security-protections.png) + + +El resto de las configuraciones deben ser las predeterminadas. Haz clic en `Create distribution`. + +## Añadir Origen Predeterminado + +Después de crear la distribución, navega a la pestaña `Origins`. + +![Cloudfront Origins](/images/cloudfront/origins.png) + +Queremos encontrar una URL de staging que refleje dónde está el dominio principal (example.com). Esto varía mucho dependiendo de cómo esté alojada tu página de inicio. + + + Por ejemplo, si tu página de inicio está alojada en Webflow, puedes usar la URL de staging de Webflow. Se vería como `.webflow.io`. + + Si usas Vercel, puedes usar el dominio `.vercel.app` disponible para cada proyecto. + + + + Si no estás seguro de cómo obtener una URL de staging para tu página de inicio, [contact + support](mailto:support@mintlify.com) y estaremos encantados de ayudarte + + +Una vez que tengas la URL de staging, la nuestra por ejemplo es [mintlify-landing-page.vercel.app](https://mintlify-landing-page.vercel.app), crea un nuevo Origen y añádelo como el **Origin domain**. + + + ![Cloudfront Default Origins](/images/cloudfront/default-origin.png) + + +En este punto, deberías tener dos Orígenes - uno con `[SUBDOMAIN].mintlify.app` y otro con la URL de staging. + +## Configurar Comportamientos + +Los Comportamientos en Cloudfront permiten controlar la lógica de subrutas. A alto nivel, buscamos crear la siguiente lógica. + +* **Si un usuario llega a /docs**, ir a `[SUBDOMAIN].mintlify.dev` +* **Si un usuario llega a cualquier otra página**, ir a la página de inicio actual + +Vamos a crear tres comportamientos haciendo clic en el botón `Create behavior`. + +### `/docs/*` + +El primer comportamiento debe tener un **Path pattern** de `/docs/*` con **Origin and origin groups** apuntando al `.mintlify.dev` URL (en nuestro caso `acme.mintlify.dev`) + +![Cloudfront Behavior 1](/images/cloudfront/behavior-1.png) + +Para **Cache policy**, selecciona `CachingOptimized` y crea el comportamiento. + +### `/docs` + +El segundo comportamiento debe ser igual al primero pero con un **Path pattern** de `/docs` y **Origin and origin groups** apuntando al mismo `.mintlify.dev` URL. + +![Cloudfront Behavior 2](/images/cloudfront/behavior-2.png) + +### `Default (*)` + +Por último, vamos a editar el comportamiento `Default (*)`. + + + ![Cloudfront Behavior Default 1](/images/cloudfront/default-behavior-1.png) + + +Vamos a cambiar el **Origin and origin groups** del comportamiento predeterminado a la URL de staging (en nuestro caso `mintlify-landing-page.vercel.app`). + + + ![Cloudfront Behavior Default 2](/images/cloudfront/default-behavior-2.png) + + +Haz clic en `Save changes`. + +## Preview Distribution + +Ahora puedes probar si tu distribución está configurada correctamente yendo a la pestaña `General` y visitando la URL del **Distribution domain name**. + + + ![Cloudfront Preview + distribution](/images/cloudfront/preview-distribution.png) + + +Todas las páginas deberían dirigirse a tu página principal, pero si añades `/docs` a la URL, deberías ver que se dirige a la instancia de documentación de Mintlify. + +## Conectándolo con Route53 + +Ahora, vamos a llevar la funcionalidad de la distribución de Cloudfront a tu dominio principal. + + + Para esta sección, también puedes consultar la guía oficial de AWS sobre [Configurar Amazon Route 53 para dirigir el tráfico a una distribución de CloudFront](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html#routing-to-cloudfront-distribution-config) + + +Navega a [Route53](https://aws.amazon.com/route53) dentro de la consola de AWS, y haz clic en el `Hosted zone` de tu dominio principal. Haz clic en `Create record` + + + ![Route 53 create record](/images/cloudfront/route53-create-record.png) + + +Toggle `Alias` y luego **Route traffic to** la opción `Alias to CloudFront distribution`. + + + ![Route 53 create record alias](/images/cloudfront/create-record-alias.png) + + +Haz clic en `Create records`. + + + Es posible que necesites eliminar el registro A existente si hay uno actualmente. + + +¡Y voilà! Deberías poder tener tu documentación servida en `/docs` para tu dominio principal. diff --git a/es/advanced/subpath/vercel.mdx b/es/advanced/subpath/vercel.mdx new file mode 100644 index 00000000..82aa84bf --- /dev/null +++ b/es/advanced/subpath/vercel.mdx @@ -0,0 +1,30 @@ +--- +- title: Vercel +- description: Alojar documentación en una subruta /docs usando Vercel +--- + +## Configuración de vercel.json + +Para alojar su documentación en una subruta personalizada usando Vercel, necesita agregar la +siguiente configuración a su `vercel.json` archivo. + +```json +{ + "rewrites": [ + { + "source": "/docs", + "destination": "https://[subdomain].mintlify.dev/docs" + }, + { + "source": "/docs/:match*", + "destination": "https://[subdomain].mintlify.dev/docs/:match*" + } + ] +} +``` + + + Para más información, también puede consultar la guía oficial de Vercel sobre + reescrituras: [Project Configuration: + Rewrites](https://vercel.com/docs/projects/project-configuration#rewrites) + diff --git a/es/ai-ingestion.mdx b/es/ai-ingestion.mdx new file mode 100644 index 00000000..cfdf0235 --- /dev/null +++ b/es/ai-ingestion.mdx @@ -0,0 +1,77 @@ +--- +- title: Ingestión de IA +- description: Prepare su documentación para LLMs y herramientas de IA +- icon: bot-message-square +--- + +export const PreviewButton = ({ children, href }) => { + return ( + + {children} + + ) +} + +Mintlify genera formatos optimizados y proporciona atajos que ayudan a los usuarios a obtener respuestas más rápidas y precisas cuando utilizan su documentación como contexto para LLMs y herramientas de IA. + +## Menú contextual + +Proporcione acceso rápido a contenido optimizado para IA e integraciones directas con herramientas de IA populares desde un menú contextual en sus páginas. + +* **Copiar página**: Copia la página actual como Markdown para pegar como contexto en herramientas de IA. +* **Ver como Markdown**: Abre la página actual como Markdown. +* **Abrir en ChatGPT**: Crea una conversación de ChatGPT con la página actual como contexto. +* **Abrir en Claude**: Crea una conversación de Claude con la página actual como contexto. + + + The expanded contextual menu showing the Copy page, View as Markdown, Open in ChatGPT, and Open in Claude menu items. + + The expanded contextual menu showing the Copy page, View as Markdown, Open in ChatGPT, and Open in Claude menu items. + + +### Habilitando el menú contextual + +Agregue el `contextual` campo a su `docs.json` y especifique qué opciones desea incluir en su menú. + +```json +{ + "contextual": { + "options": [ + "copy", + "view", + "chatgpt", + "claude" + ] + } +} +``` + +## /llms.txt + +El [/llms.txt file](https://llmstxt.org) es un estándar de la industria que ayuda a los LLMs de propósito general a indexar de manera más eficiente, similar a cómo un mapa del sitio ayuda a los motores de búsqueda. + +Cada sitio de documentación aloja automáticamente un archivo `/llms.txt` en la raíz que enumera todas las páginas disponibles en su documentación. Las herramientas de IA pueden usar este archivo para comprender la estructura de su documentación y encontrar contenido relevante para las solicitudes de los usuarios. + +Abrir llms.txt para este sitio + +## /llms-full.txt + +El archivo `/llms-full.txt` combina todo su sitio de documentación en un solo archivo como contexto para herramientas de IA. + +Cada sitio de documentación aloja automáticamente un archivo `/llms-full.txt` en la raíz. + +Abrir llms-full.txt para este sitio + +## Generando versiones Markdown de las páginas + +Markdown proporciona texto estructurado que las herramientas de IA pueden procesar de manera más eficiente que HTML, lo que resulta en mejores tiempos de respuesta y menor uso de tokens. + +### .md extension + +Agregue una `.md` a la URL de una página para mostrar una versión Markdown de esa página. + +Abrir quickstart.md + +### Atajo Command + C + +Seleccione Command + C (Ctrl + C en Windows) para copiar cualquier página como Markdown. diff --git a/es/api-playground/asyncapi/playground.mdx b/es/api-playground/asyncapi/playground.mdx new file mode 100644 index 00000000..db3e5d64 --- /dev/null +++ b/es/api-playground/asyncapi/playground.mdx @@ -0,0 +1,5 @@ +--- +- title: Playground +- description: Permite a los usuarios interactuar con tus websockets +- asyncapi: /asyncapi.yaml channelOne +--- diff --git a/es/api-playground/asyncapi/setup.mdx b/es/api-playground/asyncapi/setup.mdx new file mode 100644 index 00000000..4485380b --- /dev/null +++ b/es/api-playground/asyncapi/setup.mdx @@ -0,0 +1,80 @@ +--- +- title: Configuración de AsyncAPI +- description: Crear páginas de referencia de websocket con AsyncAPI +--- + +## Agregar un archivo de especificación AsyncAPI + +Para comenzar a crear páginas para sus websockets, asegúrese de tener un documento de esquema AsyncAPI válido en formato JSON o YAML que siga la[especificación AsyncAPI](https://www.asyncapi.com/docs/reference/specification/v3.0.0). Su esquema debe seguir la especificación AsyncAPI 3.0+. + + + Para asegurarse de que su esquema AsyncAPI es válido, puede pegarlo en el + [AsyncAPI Studio](https://studio.asyncapi.com/) + + +## Auto-poblar páginas de websockets + +Puede agregar un campo`asyncapi`a cualquier pestaña o grupo en la navegación de su`docs.json`. Este campo puede contener la ruta a un documento de esquema AsyncAPI en el repositorio de su documentación, la URL de un documento de esquema AsyncAPI alojado, o un array de enlaces a documentos de esquema AsyncAPI. Mintlify generará automáticamente una página para cada canal de websocket AsyncAPI. + +**Ejemplos con Pestañas:** + + + ```json Local File {5} + "navigation": { + "tabs": [ + { + "tab": "API Reference", + "asyncapi": "/path/to/asyncapi.json" + } + ] + } + + ``` + + ```json Remote URL {5} + "navigation": { + "tabs": [ + { + "tab": "API Reference", + "asyncapi": "https://github.com/asyncapi/spec/blob/master/examples/simple-asyncapi.yml" + } + ] + } + ``` + + +**Ejemplos con Grupos:** + +```json {8-11} +"navigation": { + "tabs": [ + { + "tab": "AsyncAPI", + "groups": [ + { + "group": "Websockets", + "asyncapi": { + "source": "/path/to/asyncapi.json", + "directory": "api-reference" + } + } + ] + } + ] +} +``` + + + El campo directory es opcional. Si no se especifica, los archivos se colocarán en la carpeta**api-reference**del repositorio de documentación. + + +## Página de Canal + +Si desea tener más control sobre cómo ordena sus canales o si solo quiere hacer referencia a un solo canal, puede crear un archivo MDX con el campo`asyncapi`en el frontmatter. + +```mdx +--- +title: "Websocket Channel" +asyncapi: "/path/to/asyncapi.json channelName" +--- +``` diff --git a/es/api-playground/mdx/authentication.mdx b/es/api-playground/mdx/authentication.mdx new file mode 100644 index 00000000..c2e9f7c4 --- /dev/null +++ b/es/api-playground/mdx/authentication.mdx @@ -0,0 +1,88 @@ +--- +- title: Autenticación +- description: Puedes establecer parámetros de autenticación para permitir que los + usuarios utilicen sus claves de API reales. +--- + +## Habilitación de la autenticación + +Puedes agregar un método de autenticación a tu docs.json para habilitarlo en cada página o puedes configurarlo página por página. + +El método de autenticación de la página anulará docs.json si ambos están configurados. + +### Token de portador + + + ```json docs.json + "api": { + "mdx": { + "auth": { + "method": "bearer" + } + } + } + ``` + + ```md Page Metadata + --- + title: "Your page title" + authMethod: "bearer" + --- + ``` + + +### Autenticación básica + + + ```json docs.json + "api": { + "mdx": { + "auth": { + "method": "basic" + } + } + } + ``` + + ```md Page Metadata + --- + title: "Your page title" + authMethod: "basic" + --- + ``` + + +### Clave de API + + + ```json docs.json + "api": { + "mdx": { + "auth": { + "method": "key", + "name": "x-api-key" + } + } + } + ``` + + ```md Page Metadata + --- + title: "Your page title" + authMethod: "key" + --- + ``` + + +### Ninguno + +El método de autenticación "ninguno" es útil para deshabilitar la autenticación en un punto final específico después de establecer un valor predeterminado en docs.json. + + + ```md Page Metadata + --- + title: "Your page title" + authMethod: "none" + --- + ``` + diff --git a/es/api-playground/mdx/configuration.mdx b/es/api-playground/mdx/configuration.mdx new file mode 100644 index 00000000..73bee348 --- /dev/null +++ b/es/api-playground/mdx/configuration.mdx @@ -0,0 +1,70 @@ +--- +- title: Configuración MDX +- description: Generar páginas de documentación para sus endpoints de API usando MDX +--- + +Mintlify le permite definir sus endpoints de API utilizando una combinación de configuración`docs.json`, campos de metadatos MDX y el componente``. A partir de los endpoints definidos, generamos un área de juego de API, ejemplos de solicitudes y ejemplos de respuestas. + + + + En su archivo`docs.json`, defina su URL base y método de autenticación: + + ```json + "api": { + "mdx": { + "server": "https://mintlify.com/api", // string array for multiple base URLs + "auth": { + "method": "key", + "name": "x-api-key" // options: bearer, basic, key. + } + } + } + ``` + + Si no desea mostrar un área de juego de API, no necesita incluir tipos de autenticación. Oculte el área de juego con el siguiente campo: + + ```json + "api": { + "playground": { + "display": "none" + } + } + ``` + + Encuentre una lista completa de configuraciones de API[aquí](settings#param-api). + + + + Cada página de endpoint de API debe tener un archivo MDX correspondiente. En la parte superior de cada archivo, defina: + + ```md + --- + title: 'Create new user' + api: 'POST https://api.mintlify.com/user' + --- + ``` + + Puede especificar parámetros de ruta agregando el nombre del parámetro a la ruta, envuelto con`{}`: + + ```bash + https://api.example.com/v1/endpoint/{userId} + ``` + + + Si tiene`server`configurado en[docs.json](settings), puede usar rutas relativas como`/v1/endpoint`. + + + También puede anular el modo de visualización definido globalmente para el área de juego de API por página agregando`playground`en la parte superior del archivo MDX: + + ```md + --- + title: 'Create new user' + api: 'POST https://api.mintlify.com/user' + playground: 'none' + ``` + + + + Agregue sus páginas de endpoints a la barra lateral añadiendo las rutas al campo`navigation`en su`docs.json`. Aprenda más sobre cómo estructurar su documentación[aquí](navigation). + + diff --git a/es/api-playground/openapi/advanced-features.mdx b/es/api-playground/openapi/advanced-features.mdx new file mode 100644 index 00000000..fdad1c62 --- /dev/null +++ b/es/api-playground/openapi/advanced-features.mdx @@ -0,0 +1,199 @@ +--- +- title: Características Avanzadas +- description: Soporte para características avanzadas de OpenAPI +--- + +OpenAPI 3 tiene algunas características avanzadas para describir APIs complejas. Así es como puedes usarlas con Mintlify. + +## `oneOf`, `anyOf`, `allOf` + +Para tipos de datos complejos, OpenAPI proporciona las palabras clave `oneOf`, `anyOf`, y `allOf`, permitiéndote combinar esquemas de ciertas maneras. Puedes leer más sobre estas palabras clave en la [documentación de Swagger](https://swagger.io/docs/specification/data-models/oneof-anyof-allof-not/), pero esencialmente: + +* `oneOf` funciona como un operador "o exclusivo" +* `anyOf` funciona como un operador "o" +* `allOf` funciona como un operador "y" + +Las palabras clave `oneOf` y `anyOf` se tratan de la misma manera. Hemos encontrado que, cuando las personas usan `oneOf`, a menudo *quieren decir* `anyOf` - y a menudo no hay una diferencia significativa para el usuario. + +La palabra clave `not` no está actualmente soportada. + +### Combinando esquemas con `allOf` + +Mintlify realiza algún preprocesamiento en tu documento OpenAPI para mostrar estas combinaciones complejas de una manera legible. Por ejemplo, cuando combinas dos esquemas de objetos con `allOf`, Mintlify combina las propiedades de ambos en un solo objeto. Esto se vuelve especialmente útil cuando se aprovechan los [componentes reutilizables de `components`](https://swagger.io/docs/specification/components/)OpenAPI. + +```yaml +org_with_users: + allOf: + - $ref: '#/components/schemas/Org' + - type: object + properties: + users: + type: array + description: An array containing all users in the organization +... +components: + schemas: + Org: + type: object + properties: + id: + type: string + description: The ID of the organization +``` + + + + + El ID de la organización + + + + Un array que contiene todos los usuarios en la organización + + + + +### Proporcionando opciones con `oneOf` y `anyOf` + +Cuando usas `oneOf` o `anyOf`, Mintlify muestra las opciones en un contenedor con pestañas. Para dar a tus opciones nombres útiles, asegúrate de dar a cada subesquema un campo `title`. Por ejemplo, así es como podrías mostrar dos tipos diferentes de direcciones de entrega: + +```yaml +delivery_address: + oneOf: + - title: StreetAddress + type: object + properties: + address_line_1: + type: string + description: The street address of the recipient + ... + - title: POBox + type: object + properties: + box_number: + type: string + description: The number of the PO Box + ... +``` + + +
+ + + + La dirección de la calle de la residencia + + + + + + El número del apartado postal + + + +
+
+ +## `x-codeSamples` + +Si tus usuarios interactúan con tu API usando un SDK en lugar de directamente a través de una solicitud de red, puedes agregar ejemplos de código a tu documento OpenAPI, y Mintlify los mostrará en tus páginas de OpenAPI. Puedes definir tus ejemplos de código usando la extensión `x-codeSamples`. Esta propiedad se puede agregar dentro de cualquier método de solicitud, y tiene el siguiente esquema: + + + El lenguaje del ejemplo de código. + + + + La etiqueta para el ejemplo. Esto es útil cuando se proporcionan múltiples ejemplos para un solo endpoint. + + + + El código fuente del ejemplo. + + +Aquí hay un ejemplo de algunos ejemplos de código para una aplicación de seguimiento de plantas, que tiene tanto una herramienta CLI de Bash como un SDK de JavaScript. + +```yaml +paths: + /plants: + get: + ... + x-codeSamples: + - lang: bash + label: List all unwatered plants + source: | + planter list -u + - lang: javascript + label: List all unwatered plants + source: | + const planter = require('planter'); + planter.list({ unwatered: true }); + - lang: bash + label: List all potted plants + source: | + planter list -p + - lang: javascript + label: List all potted plants + source: | + const planter = require('planter'); + planter.list({ potted: true }); +``` + +## `x-hidden` y `x-excluded` + +Si tus páginas son [autogeneradas](/es/api-playground/openapi/setup) a partir de un documento OpenAPI, pero hay algunas rutas para las que no quieres crear páginas, puedes excluirlas de la generación de páginas agregando la propiedad `x-excluded`. + +Si quieres que se generen páginas, pero que no aparezcan en la navegación, agrega `x-hidden`. + +Puedes agregar la etiqueta `x-hidden` o `x-excluded` bajo las rutas de endpoints o webhooks debajo del método. + +Aquí hay ejemplos de cómo se vería eso en un documento de esquema OpenAPI para un endpoint o una ruta de webhook: + +```json {11, 19} +"paths": { + "/plants": { + "get": { + "description": "Returns all plants from the store", + "parameters": { ... }, + "responses": { ... } + } + }, + "/hidden_plants": { + "get": { + "x-hidden": true, + "description": "Returns all somewhat secret plants from the store", + "parameters": { ... }, + "responses": { ... } + } + }, + "/secret_plants": { + "get": { + "x-excluded": true, + "description": "Returns all top secret plants from the store (do not publish this endpoint!)", + "parameters": { ... }, + "responses": { ... } + } + } +}, +``` + +```json {9, 15} +"webhooks": { + "/plants_hook": { + "post": { + "description": "Webhook for information about a new plant added to the store", + } + }, + "/hidden_plants_hook": { + "post": { + "x-hidden": true, + "description": "Webhook for somewhat secret information about a new plant added to the store" + } + }, + "/secret_plants_hook": { + "post": { + "x-excluded": true, + "description": "Webhook for top secret information about a new plant added to the store (do not publish this endpoint!)" + } + } +} +``` diff --git a/es/api-playground/openapi/setup.mdx b/es/api-playground/openapi/setup.mdx new file mode 100644 index 00000000..83b2ebe0 --- /dev/null +++ b/es/api-playground/openapi/setup.mdx @@ -0,0 +1,164 @@ +--- +- title: Configuración de OpenAPI +- description: Hacer referencia a endpoints OpenAPI en sus páginas de documentación +--- + +## Agregar un archivo de especificación OpenAPI + +Para describir tus endpoints con OpenAPI, asegúrate de tener un documento OpenAPI válido en formato JSON o YAML que siga la [especificación OpenAPI](https://swagger.io/specification/). Tu documento debe seguir la especificación OpenAPI 3.0+. + + + Para validar tu especificación OpenAPI, usa nuestro [CLI](https://www.npmjs.com/package/mint) y ejecuta este comando: \ + `mint openapi-check ` + + +## Auto-poblar páginas de API + +La forma más rápida de comenzar con OpenAPI es agregar un campo `openapi` a una pestaña en el `docs.json`. Este campo puede contener la ruta a un documento OpenAPI en tu repositorio de documentación, o la URL de un documento OpenAPI alojado. Mintlify generará automáticamente una página para cada operación OpenAPI y las colocará en la pestaña. + +**Ejemplo con Pestañas:** + +```json {5} +"navigation": { + "tabs": [ + { + "tab": "API Reference", + "openapi": "https://petstore3.swagger.io/api/v3/openapi.json" + } + ] +} +``` + + + El ejemplo anterior es con pestañas, pero puedes agregar una propiedad `openapi` a cualquier [división de navegación](/es/navigation) + + +**Ejemplo con Grupos:** + +```json {8-11} +"navigation": { + "tabs": [ + { + "tab": "API Reference", + "groups": [ + { + "group": "Endpoints", + "openapi": { + "source": "/path/to/openapi-1.json", + "directory": "api-reference" + } + } + ] + } + ] +} +``` + + + El campo directory es opcional. Si no se especifica, los archivos se colocarán en la carpeta **api-reference** del repositorio de documentación. + + +Al usar esta opción, los metadatos para las páginas generadas tendrán los siguientes valores por defecto: + +* `title`: El campo `summary` de la operación OpenAPI, si está presente. De lo contrario, un título generado a partir del método HTTP y el endpoint. +* `description`: El campo `description` de la operación OpenAPI, si está presente. +* `version`: El valor `version` del ancla o pestaña, si está presente. +* `deprecated`: El campo `deprecated` de la operación OpenAPI, si está presente. Si es verdadero, aparecerá una etiqueta de obsoleto junto al endpoint en la navegación lateral y junto al título de la página del endpoint. + +Hay algunos escenarios en los que el comportamiento por defecto no es suficiente. Si necesitas más personalización, puedes crear una página MDX para tu operación OpenAPI y modificarla como cualquier otra página MDX. + + + Si tienes algunos endpoints en tu esquema OpenAPI para los que no quieres que se generen páginas automáticamente, puedes agregar la propiedad [x-hidden](/es/api-playground/openapi/advanced-features#x-hidden) + + +## Crear archivos MDX para páginas de API + +Si quieres personalizar los metadatos de la página, agregar contenido adicional, omitir ciertas operaciones OpenAPI o reordenar las páginas OpenAPI en tu navegación, necesitarás una página MDX para cada operación. Aquí tienes [un ejemplo de página OpenAPI en MDX](https://github.com/mindsdb/mindsdb/blob/main/docs/rest/databases/create-databases.mdx) de [MindsDB](https://docs.mindsdb.com/rest/databases/create-databases). + +![](/images/mindsdb.png) + +### Especificar archivos manualmente + +Siempre puedes crear una página MDX manualmente y hacer referencia a la operación OpenAPI en los metadatos de la página usando el campo `openapi`. + + + +Al usar la referencia OpenAPI, el nombre, la descripción, los parámetros, las respuestas y el área de juego de la API se generarán automáticamente a partir del documento OpenAPI. + +Si tienes múltiples archivos OpenAPI, incluye la ruta al archivo OpenAPI para asegurar que Mintlify encuentre el documento OpenAPI correcto. Esto no es necesario si solo tienes un archivo OpenAPI - lo detectará automáticamente. + +Si desea hacer referencia a un archivo OpenAPI externo utilizando este método, proporcione la URL del archivo en el docs.json. Vea [aquí](https://mintlify.com/docssettings#param-source-4) para el formato correcto. + + + ```md Example + --- + title: "Get users" + description: "Returns all plants from the system that the user has access to" + openapi: "/path/to/openapi-1.json GET /users" + deprecated: true + version: "1.0" + --- + ``` + + ```md Format + --- + title: "title of the page" + description: "description of the page" + openapi: openapi-file-path method path + deprecated: boolean (not required) + version: "version-string" (not required) + --- + ``` + + + + En la mayoría de los casos, el método y la ruta deben coincidir exactamente con el método y la ruta especificados en el documento OpenAPI. Si el endpoint no existe en el archivo OpenAPI, la página estará vacía. + + Para webhooks, reemplace el método (es decir, "POST") con "webhook" (sin distinción entre mayúsculas y minúsculas) y se generará el método correcto. + + +### Autogenerar archivos + +Para documentos OpenAPI grandes, crear una página MDX para cada operación OpenAPI puede ser mucho trabajo. Para facilitarlo, creamos un scraper local de páginas OpenAPI. + +Nuestro Mintlify [scraper](https://www.npmjs.com/package/@mintlify/scraping)autogenera archivos MDX para sus endpoints OpenAPI. + +Cada página generada corresponderá a una operación OpenAPI bajo la sección "paths" del esquema OpenAPI. +Si su documento OpenAPI es de la versión 3.1+, el scraper también generará páginas para webhooks bajo la sección "webhooks" del esquema OpenAPI. + +```bash +npx @mintlify/scraping@latest openapi-file +``` + +Agregue la `-o` bandera para especificar una carpeta donde poblar los archivos. Si no se especifica una carpeta, los archivos se poblarán en el directorio de trabajo. + +```bash +npx @mintlify/scraping@latest openapi-file -o api-reference +``` + +Aprenda más sobre nuestro paquete de scraping [aquí](https://www.npmjs.com/package/@mintlify/scraping). + +El scraper generará un array de +[Entradas de navegación](settings#structure) que contienen sus archivos MDX de OpenAPI. Puede agregar estas entradas a su Navegación existente, o reordenar y añadir los archivos a su navegación manualmente. + + + Si su documento OpenAPI no es válido, los archivos no se autogenerarán. + + +## Crear archivos MDX para esquemas OpenAPI + +Mintlify también le permite crear páginas individuales para cualquier esquema OpenAPI definido en la sección `components.schemas` field: + + + ```md Example + --- + openapi-schema: OrderItem + --- + ``` + + ```md Format + --- + openapi-schema: "schema-key" + --- + ``` + diff --git a/es/api-playground/openapi/writing-openapi.mdx b/es/api-playground/openapi/writing-openapi.mdx new file mode 100644 index 00000000..0399ea69 --- /dev/null +++ b/es/api-playground/openapi/writing-openapi.mdx @@ -0,0 +1,33 @@ +--- +- title: Escribiendo OpenAPI +- description: Usa las características de OpenAPI para mejorar tu documentación +--- + +## Describiendo tu API + +Hay muchas herramientas excelentes en línea para aprender sobre y construir documentos OpenAPI. Aquí están nuestras favoritas: + +* [Swagger's OpenAPI Guide](https://swagger.io/docs/specification/about/)para familiarizarte con la sintaxis de OpenAPI +* [OpenAPI v3.1.0 Specification](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md)para todos los detalles sobre la especificación más reciente de OpenAPI +* [Swagger & OpenAPI Validator](https://editor.swagger.io/)para depurar tu documento OpenAPI +* [Swagger's Editor](https://editor.swagger.io/)para ver ejemplos en acción + + + La Guía OpenAPI de Swagger es para OpenAPI v3.0, pero casi toda la información es aplicable a v3.1. Para más información sobre las diferencias entre v3.0 y v3.1, consulta[OpenAPI's blog post](https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0). + + +## Especificando la URL para tu API + +En un documento OpenAPI, los diferentes endpoints de la API se especifican por sus rutas, como`/users/{id}`, o tal vez simplemente`/`. Para especificar la URL base a la que se deben añadir estas rutas, OpenAPI proporciona el campo`servers`. Este campo es necesario para usar algunas características de Mintlify como el API Playground. Lee cómo configurar el campo`servers`en la[documentación de Swagger](https://swagger.io/docs/specification/api-host-and-base-path/). + +El API Playground utilizará estas URLs de servidor para determinar dónde enviar las solicitudes. Si se especifican múltiples servidores, aparecerá un menú desplegable para permitir alternar entre servidores. Si no se proporciona ningún servidor, el API Playground utilizará el modo simple, ya que no hay forma de enviar una solicitud. + +Si diferentes endpoints dentro de tu API existen en diferentes URLs, puedes[sobrescribir el campo server](https://swagger.io/docs/specification/api-host-and-base-path/#:~:text=%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20%2D%20southeastasia-,Overriding%20Servers,-The%20global%20servers)para una ruta u operación específica. + +## Especificando la autenticación + +Casi todas las APIs requieren algún método de autenticación. OpenAPI proporciona el campo`securitySchemes`para definir los métodos de autenticación utilizados en toda tu API, con una configuración simple para los tipos de autenticación más comunes -[Basic](https://swagger.io/docs/specification/authentication/basic-authentication/),[Bearer](https://swagger.io/docs/specification/authentication/bearer-authentication/), y[API Keys](https://swagger.io/docs/specification/authentication/api-keys/). Para aplicar estos métodos de autenticación a tus endpoints, OpenAPI utiliza el campo`security`. La sintaxis para definir y aplicar la autenticación es un poco poco intuitiva, así que definitivamente revisa[la documentación y ejemplos de Swagger](https://swagger.io/docs/specification/authentication/)sobre el tema. + +Las descripciones de la API y el API Playground añadirán campos de autenticación basados en las configuraciones de seguridad en tu documento OpenAPI. + +Si diferentes endpoints dentro de tu API requieren diferentes métodos de autenticación, puedes[sobrescribir el campo security](https://swagger.io/docs/specification/authentication/#:~:text=you%20can%20apply%20them%20to%20the%20whole%20API%20or%20individual%20operations%20by%20adding%20the%20security%20section%20on%20the%20root%20level%20or%20operation%20level%2C%20respectively.)para una operación específica. diff --git a/es/api-playground/overview.mdx b/es/api-playground/overview.mdx new file mode 100644 index 00000000..5b87012b --- /dev/null +++ b/es/api-playground/overview.mdx @@ -0,0 +1,11 @@ +--- +- title: Playground +- description: Permitir a los usuarios interactuar con su API +- openapi: POST /project/update/{projectId} +- hideApiMarker: true +- icon: play +--- + +El playground de API es un entorno interactivo para realizar solicitudes y previsualizar un endpoint de API. + +Esta página se genera automáticamente a partir de la especificación OpenAPI. diff --git a/es/api-playground/troubleshooting.mdx b/es/api-playground/troubleshooting.mdx new file mode 100644 index 00000000..87d5771f --- /dev/null +++ b/es/api-playground/troubleshooting.mdx @@ -0,0 +1,79 @@ +--- +- title: Solución de problemas +- description: Problemas comunes con Referencias de API +- icon: message-square-warning +--- + +Las páginas de API son complicadas. Como resultado, hay muchas cosas que pueden salir mal. +Aquí hay una lista de problemas comunes que hemos visto que los clientes enfrentan: + + + + En este escenario, es probable que Mintlify no pueda encontrar su documento OpenAPI, + o que su documento OpenAPI no sea válido. + + Ejecutar `mint dev` localmente debería revelar algunos de estos problemas. + + Para verificar que su documento OpenAPI pase la validación: + + 1. Visite [este validador](https://editor.swagger.io/) + 2. Cambie a la pestaña "Validar texto" + 3. Pegue su documento OpenAPI + 4. Haga clic en "¡Validarlo!" + + Si el cuadro de texto que aparece debajo tiene un borde verde, su documento ha pasado la validación. + Este es el paquete de validación exacto que Mintlify utiliza para validar documentos OpenAPI, por lo que si su documento + pasa la validación aquí, hay una gran probabilidad de que el problema esté en otro lugar. + + Además, Mintlify no admite OpenAPI 2.0. Si su documento utiliza esta versión de la especificación, + podría encontrar este problema. Puede convertir su documento en [editor.swagger.io](https://editor.swagger.io/) (bajo Editar > Convertir a OpenAPI 3): + + + ![](/images/convert-oas-3.png) + + + + + Esto generalmente es causado por un campo `openapi` mal escrito en los metadatos de la página. Asegúrese de que + el método HTTP y la ruta coincidan exactamente con el método HTTP y la ruta en el documento OpenAPI. + + Aquí hay un ejemplo de cómo las cosas podrían salir mal: + + ```md get-user.mdx + --- + openapi: "GET /users/{id}/" + --- + ``` + + ```yaml openapi.yaml + paths: + "/users/{id}": + get: ... + ``` + + Observe que la ruta en el campo `openapi` tiene una barra diagonal al final, mientras que la ruta en el documento OpenAPI + no la tiene. + + Otro problema común es un nombre de archivo mal escrito. Si está especificando un documento OpenAPI particular + en el campo `openapi`, asegúrese de que el nombre del archivo sea correcto. Por ejemplo, si tiene dos documentos OpenAPI + `openapi/v1.json` y `openapi/v2.json`, sus metadatos podrían verse así: + + ```md api-reference/v1/users/get-user.mdx + --- + openapi: "v1 GET /users/{id}" + --- + ``` + + + + Si tiene configurado un dominio personalizado, esto podría ser un problema con su proxy inverso. Por + defecto, las solicitudes realizadas a través del Playground de API comienzan con una solicitud `POST` a la + ruta `/api/request` en el sitio de documentación. Si su proxy inverso está configurado para permitir solo solicitudes `GET`, + entonces todas estas solicitudes fallarán. Para solucionarlo, configure su proxy inverso para + permitir solicitudes `POST` a la ruta `/api/request`. + + Alternativamente, si su proxy inverso le impide aceptar solicitudes `POST`, puede configurar Mintlify para enviar solicitudes directamente a su backend con la configuración `api.playground.proxy` en el `docs.json`, como se describe [aquí](settings#api-configurations). Esto + probablemente requerirá que configure CORS en su servidor, ya que estas solicitudes ahora vendrán directamente + de los navegadores de sus usuarios. + + diff --git a/es/api-reference/chat/create-topic.mdx b/es/api-reference/chat/create-topic.mdx new file mode 100644 index 00000000..dd89e078 --- /dev/null +++ b/es/api-reference/chat/create-topic.mdx @@ -0,0 +1,3 @@ +--- +- openapi: POST /chat/topic +--- diff --git a/es/api-reference/chat/generate-message.mdx b/es/api-reference/chat/generate-message.mdx new file mode 100644 index 00000000..533f014f --- /dev/null +++ b/es/api-reference/chat/generate-message.mdx @@ -0,0 +1,3 @@ +--- +- openapi: POST /chat/message +--- diff --git a/es/api-reference/introduction.mdx b/es/api-reference/introduction.mdx new file mode 100644 index 00000000..ea584f7b --- /dev/null +++ b/es/api-reference/introduction.mdx @@ -0,0 +1,38 @@ +--- +- title: Introducción +- icon: book-open +--- + +## Activar Actualizaciones + +Puedes aprovechar la API REST para activar programáticamente una actualización cuando lo desees. + +## Autenticación + +Puedes generar una clave de API a través de + +[el dashboard](https://dashboard.mintlify.com/settings/organization/api-keys). La clave de API está +asociada a toda la organización y se puede usar en múltiples despliegues. + + + + + +## Clave de API de administrador + +La clave de API de administrador se usa para la mayoría de la API. Se utiliza para activar actualizaciones a través del [endpoint de Actualización](/es/api-reference/update/trigger). + +## Clave de API del Asistente + +La API del Asistente te permite incorporar la experiencia del asistente de IA basada en tus documentos y continuamente actualizada en cualquier aplicación de tu elección. + +Las respuestas incluyen citas para que puedas dirigir a tus usuarios a los lugares correctos donde necesitan obtener ayuda. + + + El token de la API del Asistente es un token público que puede ser referenciado en tu + código frontend, mientras que la clave de API es un token del lado del servidor que debe mantenerse + secreto. + + +Ahora que tienes una clave de API, echa un vistazo a nuestro [ejemplo](https://github.com/mintlify/discovery-api-example) de cómo usar +la API para el asistente de IA. También puedes ver una versión desplegada de este ejemplo en [chat.mintlify.com](https://chat.mintlify.com). diff --git a/es/api-reference/update/status.mdx b/es/api-reference/update/status.mdx new file mode 100644 index 00000000..32604041 --- /dev/null +++ b/es/api-reference/update/status.mdx @@ -0,0 +1,3 @@ +--- +- openapi: GET /project/update-status/{statusId} +--- diff --git a/es/api-reference/update/trigger.mdx b/es/api-reference/update/trigger.mdx new file mode 100644 index 00000000..0bdb4dfd --- /dev/null +++ b/es/api-reference/update/trigger.mdx @@ -0,0 +1,3 @@ +--- +- openapi: POST /project/update/{projectId} +--- diff --git a/es/changelog.mdx b/es/changelog.mdx new file mode 100644 index 00000000..b0109be5 --- /dev/null +++ b/es/changelog.mdx @@ -0,0 +1,460 @@ +--- +- title: Actualizaciones del producto +- description: Nuevas actualizaciones y mejoras +- mode: center +--- + + + ## Actualizaciones de estabilidad del área de pruebas de API + + * Búsqueda para encontrar un endpoint + * Indicar un endpoint obsoleto con una etiqueta + * Ocultar páginas de API generadas automáticamente de la navegación + * Subir archivos multipart o de datos de formulario + + Aprende más en [documentación del área de pruebas de API.](/api-playground/) + + ## npm i mint + + Ahora puedes usar `npm i mint@latest -g` para actualizar tu CLI. + + + + ## Editor Web 3.0 + + + ![Webeditor3 Jpe](/images/webeditor3.jpeg) + + + Usabilidad renovada en el editor WYSIWYG. + + **Mejoras importantes** + + * Buscar nombres de archivos usando el atajo ⌘ + P + * Las páginas cargan 10 veces más rápido + * Tiempos de carga más rápidos al buscar una rama + * Pestaña de opciones de página para configurar diseño, título y metadatos para SEO + * Barra de herramientas flotante al resaltar texto + + **Correcciones adicionales** + + * Margen superior fijo para componentes de registro de cambios + * Mejorada la fiabilidad del comportamiento del clic derecho + * Después de hacer clic en publicar, permanecerás en la misma página en lugar de ser llevado a un estado vacío + * Colores estandarizados en los iconos de archivos + * Mejorada la fiabilidad después de seleccionar nuevas ramas varias veces seguidas + * Eliminado el modo Diff + * Mayor consistencia al crear una nueva carpeta desde el menú desplegable + * Corregido el problema de las citas en bloque que creaban más citas en bloque al intentar deseleccionar + + ## Traducciones con IA en beta + + + ![AI Translations graphic](/images/changelog/translations.png) + + + Traduce toda tu documentación con IA. [Aprende más.](navigation#localization) + + ## Exportación de documentos a PDF en beta + + Exporta toda tu documentación, un subdirectorio o una sola página como PDF. + + ## Soporte para hooks de React + + Añade interactividad a tus documentos. Todos los hooks estándar de React están automáticamente disponibles en tus archivos MDX. [Aprende más.](react-components) + + + + ## Generador de servidor MCP + + + ![screenshot of MCP server generator](/images/changelog/mcpgenerator.png) + + + Genera servidores MCP para que las aplicaciones de IA puedan interactuar con tus documentos o APIs. El contenido escrito se genera automáticamente como un servidor MCP, y puedes generar un servidor MCP a partir de tu especificación OpenAPI con un solo clic. + Consulta la [documentación sobre cómo empezar con MCP.](/es/mcp) + + ## Mejoras + + * Etiquetar actualizaciones del registro de cambios para que los usuarios finales puedan filtrar las actualizaciones + * Sonnet-3.7 compatible con AI Chat. Configura tu modelo preferido a través del panel de control + * Cambia el nombre de tu despliegue directamente en la configuración del panel de control + + ## Correcciones de errores + + * Imágenes OG corregidas + * Corregida la inconsistencia de estilo de los iconos para anclajes sin contenedor + * Mejorados los detalles de estilo del borde del panel de control para la capacidad de respuesta móvil-tableta-escritorio + * Mostrar ejemplos de código incluso en modo simple para el área de pruebas de API + * Soporte para el atajo "command + k" para búsqueda en el editor web + * Los bloques de código dentro de las notas se expanden para llenar el ancho del área de la nota + + + + ## Nuevo esquema de configuración `docs.json` + + + ![docs.json screenshot](/images/changelog/docsjson.png) + + + Hemos introducido un nuevo `docs.json` esquema como reemplazo de `mint.json`, para admitir mejor el control de versiones multinivel, una comprensión visual más fácil y una terminología más consistente. Para obtener más información sobre lo que ha cambiado, [consulta nuestro blog](https://mintlify.com/blog/refactoring-mint-json-into-docs-json). + + Actualiza de `mint.json` a `docs.json` con los siguientes pasos: + + 1. Asegúrate de que tu CLI esté en la última versión + + ``` + npm i mint@latest -g + ``` + + 1. En el repositorio de tus documentos, ejecuta + + ``` + mint upgrade + ``` + + 1. Elimina tu antiguo archivo mint.json y sube tus cambios + + ## Comprobaciones de CI + + Revisa automáticamente tus documentos para encontrar enlaces rotos, descubrir problemas de ortografía y gramática, o aplicar estilos de escritura con tu propia configuración de Vale. Aprende más en nuestra [documentación](settings/ci). + + ## Soporte .md para LLMs + + Todas las páginas de documentación están ahora automáticamente disponibles como archivos Markdown simples—solo añade `.md` a la URL. Esto facilita que los LLMs ingieran páginas individuales de tu documentación. + + ## Más Temas + + + ![graphic with text "Themes v2"](/images/changelog/themes.png) + + + Nuevos [temas preconfigurados](themes) para modificar el aspecto y la sensación de tus documentos. Configura a través de tu [archivo docs.json](settings). + + Ahora disponibles: + + * Maple + * Palm + * Willow + + ## Otras mejoras + + * [Guía para la Escritura Técnica:](https://mintlify.com/guides/introduction)Mejores prácticas para escribir documentación técnica, incluyendo investigación de audiencia, tipos de contenido y consejos de escritura. + * [Componente desplegable](navigation#dropdowns): Organiza la navegación con un menú desplegable, además de pestañas y anclajes. + * [Corrector de sintaxis con IA](https://x.com/ricardonunez_io/status/1892334887644123192): El editor web detectará si hay un error de análisis y usará IA para sugerir correcciones. + + + + ## Mejoras del Asistente de IA + + * Nueva interfaz de usuario con página de chat dedicada y prompts preestablecidos + * Mejoras de estabilidad, por ejemplo, correcciones de errores al editar el archivo incorrecto o ningún archivo en absoluto + * Conocimiento más robusto para añadir y editar componentes + * Edición mejorada del archivo mint.json + + ## Autenticación Parcial + + Personaliza el acceso a cualquier página o sección de contenido según los permisos del usuario. Compatible con la conexión a tu propio sistema de autenticación. + + ## Área de pruebas de API renovada + + Hemos renovado completamente el diseño y el rendimiento del [Área de pruebas de API](/api-playground/). Las actualizaciones incluyen: + + * Expansión más fácil de detalles para una visión general de un campo + * Diseño anidado más intuitivo, por ejemplo, para añadir o eliminar elementos + * Tiempos de respuesta más rápidos + + ## Mejoras de Calidad + + * Soporte para requerir autenticación para acceder a despliegues de vista previa + + + + ## Autenticación + + + ![Authentication screenshot](/images/changelog/authentication.png) + + + Haz que los documentos sean privados configurando la autenticación mediante JWT, OAuth o una contraseña universal. Con esta privacidad, puedes crear una base de conocimientos interna o evitar que los competidores vean tus documentos. + + + + ## Asistente de IA + + + ![AI Assistant](/images/changelog/ai-assistant.jpg) + + + Ahora puedes pedirle a la IA que haga cambios en tus documentos, con el contexto de toda la documentación existente. Escribe un prompt y el asistente propondrá cambios generando una solicitud de extracción. + + ## Actualización de la Integración con GitLab + + Hemos mejorado nuestro soporte para la sincronización con GitLab, como habilitar actualizaciones automatizadas y despliegues de vista previa. Consulta nuestra [documentación sobre GitLab](/es/settings/gitlab) para comenzar. + + ## Editor Web + + + ![Web Editor](/images/changelog/webeditor.jpg) + + + Hemos renovado nuestro editor web para que ahora puedas actualizar los documentos con una experiencia completamente WYSIWYG, mientras se sincroniza con markdown. + + Echa un vistazo a nuestros [documentos sobre cómo empezar con el Editor Web](/es/editor). + + ## /llms.txt support + + + ![llms.txt support](/images/changelog/llms.jpg) + + + Todas las instancias de documentos ahora se alojan automáticamente en /llms.txt y /llms-full.txt para que los LLMs puedan ingerir fácilmente tu documentación. Para más información, lee los [documentos sobre el nuevo estándar llms.txt.](https://llmstxt.org) + + ## Localización + + Ahora puedes localizar tus documentos, lo que funciona de manera similar al versionado. Añade un `locale` a una versión y el contenido fijo en Mintlify como "¿Fue útil esta página?" también coincidirá con el idioma. + + ### Mejoras de Calidad + + * Devuelve resultados de chat y búsqueda basados en la versión actual que el usuario está leyendo + * Autentica usuarios con OAuth, además de tokens JWT o de Sesión Compartida. + + + + ## Registros de cambios + + Lanzamos un nuevo [componente Update](/es/components/update) para facilitar la visualización y el informe de actualizaciones (como esta) a tus usuarios. + + + ![Changelog](/images/changelog/changelog.jpg) + + + ## Resaltado de Líneas de Código + + Ahora puedes resaltar líneas de código en tus documentos para enfatizar y llamar la atención sobre partes importantes añadiendo un comentario especial después del identificador del lenguaje. Usa llaves `{}` y especifica números de línea o rangos separados por comas. + + ```javascript Line Highlighting Example {1,3-5} + const greeting = "Hello, World!"; + function sayHello() { + console.log(greeting); + } + sayHello(); + ``` + + ````md + ```javascript Line Highlighting Example {1,3-5} + const greeting = "Hello, World!"; + function sayHello() { + console.log(greeting); + } + sayHello(); + ``` + ```` + + ## Bloques de código en modo claro + + Los bloques de código ahora tienen una variante en modo claro que se puede habilitar añadiendo lo siguiente a tu `mint.json`: + + ```json + "codeBlock": { + "mode": "auto" + } + ``` + + ## Pie de Página Avanzado + + + ![Advanced Footer](/images/changelog/advanced-footer.gif) + + + Ahora puedes añadir más enlaces al pie de página estándar. Esta mejora proporciona más consistencia entre las páginas de inicio y los documentos, o una mayor personalización si deseas destacar páginas específicas como redes sociales o registros de estado. + + ## Filtrar búsqueda basada en el usuario actual + + Cuando la personalización está habilitada, los resultados de búsqueda ahora se filtran según el usuario actualmente conectado para que solo vean el contenido relevante. + + ## Indicaciones Personalizadas para el Chat de IA + + Ahora puedes personalizar las indicaciones para el chat de IA. Por favor, contacta con el [soporte](mailto:sales@mintlify.com) si deseas personalizar las indicaciones. + + ## Mejoras en el Panel de Control + + * Se añadió la capacidad de cambiar el dominio personalizado a /docs directamente a través de la configuración del panel de control. + * Se consolidaron las páginas de inicio de sesión y registro para disminuir la fricción y la confusión. + * Se implementó el flujo de inicio de sesión de descubrimiento para que los usuarios que son miembros de múltiples organizaciones ahora puedan cambiar entre ellas. + * Se añadió el inicio de sesión con OAuth de Google + * Se añadió la capacidad de agregar nuevos despliegues a través de la configuración del panel de control. + + ## Correcciones de Errores + + * Ahora se pueden usar barras diagonales iniciales en la navegación. + * Ahora se pueden editar archivos CSS y JS en el editor web. + * Se corrigió `suggestEdit` que no aparecía incluso cuando estaba habilitado. + * Se corrigió la navegación por teclado para Búsqueda y Chat de modo que ahora puedes usar las teclas de flecha arriba y abajo para navegar por los resultados. + * No se permite a los motores de búsqueda rastrear páginas protegidas por autenticación de usuario. + * Se revalida la caché cuando se elimina una organización. + * Ahora usamos el analizador Scalar OpenAPI para analizar definiciones OpenAPI, lo que mejora el rendimiento, corrige problemas de análisis y muestra mejores mensajes de error. + * Ahora se admiten descripciones de nivel superior en las páginas de referencia de API generadas automáticamente a partir de definiciones OpenAPI. + * Se añadió soporte de estilo en línea para iconos + * Se corrigió la aparición repentina de CSS personalizado en los documentos. + * Se muestra correctamente el estilo de código en línea junto con los enlaces. + * Se mantiene la posición de desplazamiento cuando haces clic en el botón de retroceso en un navegador. + + + + ## Fuentes Personalizadas + + + ![Custom Fonts](/images/changelog/custom-fonts.jpeg) + + + Personaliza la fuente de tus documentos con tu propia fuente alojada en un CDN o eligiendo entre las fuentes de Google para que tus documentos coincidan con tu marca. + + ## Imágenes en componentes de Tarjeta + + Añade una propiedad `img` a una tarjeta para mostrar una imagen en la parte superior de la tarjeta. Aprende más sobre esto [aquí](/es/components/cards#image-card). + + ## Mejoras en la Velocidad de Actualización + + + ![Performance Improvements](/images/changelog/performance-improvements.png) + + + Para proyectos grandes (\~3,000 archivos), el paso de descarga para actualizaciones de documentos es ahora \~440 veces más rápido - una reducción del 99.8% en tiempo. En general, las descargas de archivos durante las actualizaciones son ahora \~5.5 veces más rápidas - una reducción del 81.8% en tiempo. + + ## Mejoras de SEO + + + ![SEO Improvements](/images/changelog/seo-improvements.jpeg) + + + Hemos corregido tanto el diseño móvil como el de escritorio de nuestros documentos para que sean más amigables con el SEO - incluyendo la adición de etiquetas aria adecuadas a los elementos de la barra de navegación y de alternancia. + + ## Mejoras en el Panel de Control + + * Migración del enrutador de aplicaciones en el panel de control. + * Las analíticas de búsqueda ahora están disponibles en el panel de control. + * Se ha añadido la funcionalidad de eliminar una organización al panel de control. + * Se implementó la interfaz de usuario de conexión con GitLab. + * Se corrigieron datos de analíticas incorrectos. + * Los complementos ahora se pueden comprar directamente a través del panel de control. + + ## Correcciones de Errores + + * Se corrigió un error donde la barra superior no se extendía al ancho de la pantalla cuando estaba en modo personalizado y el diseño de la barra lateral era `sidenav`. + * Se corrigió el posicionamiento relativo del widget de IA. + + ## Más + + * **Solución de problemas para páginas de API**: Las páginas de API pueden ser complicadas, así que hemos listado problemas comunes para ayudarte a resolverlos rápidamente —[Lee los documentos](/es/api-playground/troubleshooting) + + + + ## Páginas de Referencia OpenAPI + + * Los endpoints definidos por OpenAPI que son complejos y recursivos son ahora un 98% más pequeños. + * Ahora mostramos[additionalProperties](https://swagger.io/docs/specification/data-models/dictionaries/)en las páginas de OpenAPI. + + ## Carga de Archivos en el Área de Juegos de API + + Por defecto, las solicitudes del área de juegos de API son proxificadas por Mintlify. Ahora puedes usar`disableProxy` para deshabilitar este comportamiento y admitir tipos de solicitudes como cargas de archivos. + + * [Aprende más sobre las configuraciones de API](settings#api-configurations) + + ## Mejoras de SEO para móviles + + Hemos corregido el diseño móvil de nuestros documentos para que sean más amigables con el SEO - incluyendo la adición de etiquetas aria adecuadas a los elementos. + + ## Formulario de Soporte + + Hemos añadido un formulario de soporte más detallado al panel de control de Mintlify. Ahora puedes enviar un formulario para ponerte en contacto con nosotros. + + ## Correcciones de Errores + + * Se corrigió un error en la funcionalidad de integración de Segment. + * Ahora mostramos mensajes de error más detallados para los permisos de GitHub al interactuar con el editor. + * Se corrigieron errores donde la navegación no se expandía correctamente cuando se usaba un enlace directo. + + + + ## Widget de IA + + + ![AI Widget](/images/changelog/widget.png) + + + Para `Pro`usuarios, presentamos Mintlify Widget, una extensión de su documentación para responder a las preguntas de sus usuarios cuando y donde las hagan. Puede agregar este chatbot impulsado por IA a cualquier página web: su página de inicio, dentro de su producto o en sus páginas de documentación existentes. + + * [Lea el anuncio del blog](https://mintlify.com/blog/widget) + + ## Pro Plan + + También actualizamos nuestros planes de precios para una mejor personalización y escala. + + * [Lea el anuncio del blog](https://mintlify.com/blog/pro-plan) + + ## Sincronización de ejemplos de código del API Playground + + Cuando navega por la documentación de la API, el ejemplo de código seleccionado ahora se sincroniza a través de sus páginas. + + ## Insights + + Actualmente en beta, esta función resume las preguntas y patrones comunes de los usuarios en informes fáciles de digerir con sugerencias impulsadas por IA sobre cómo mejorar su producto. + + + + ## Aspectos destacados de la Semana de Lanzamiento + + * Themes: Customize your styling with pre-configured themes. Just add the theme Quill, Prism, or Venus to your `mint.json` archivo y actualizará el estilo de su documentación. + * Búsqueda V2: consulte directamente las descripciones y títulos de los endpoints de OpenAPI para llegar a las páginas de Referencia de API, elimine las páginas ocultas de la búsqueda y disfrute de nuestra interfaz de barra de búsqueda actualizada. + * Ramificación del editor web: cree ramas en nuestro editor web sin un IDE. + * Personalización de usuario: autentique a los usuarios con Shared Session o JWT para que pueda mostrarles contenido personalizado, como prellenar claves de API o mostrar contenido específico para los clientes. + * Mejoras de automatización de OpenAPI: para autocompletar las páginas de API Playground, puede agregar un `openapi` campo a un objeto en los arrays de tabs o anchors en el mint.json. + + + + ## Okta SSO + + Ahora admitimos el inicio de sesión a través de Okta SAML y OIDC. + + ## API REST de Mintlify + + Active programáticamente actualizaciones en su documentación. + + + + ## Modo personalizado + + Agregue una configuración a los metadatos para eliminar todos los elementos excepto la barra superior. + Casos de uso de ejemplo: + + * Cree una configuración de página de inicio global personalizada con componentes personalizados + * Agregue videos de pantalla completa o galerías de imágenes + * Incruste elementos de demostración de iFrame personalizados para agregar interactividad a su documentación + + Consulte nuestra [documentación del Modo Personalizado](pages#custom-mode). + + + + ## Mintlify MDX para VSCode + + Llame a fragmentos de nuestros componentes y llamadas preconfiguradas sin salir de VSCode. [Instale la extensión aquí](https://marketplace.visualstudio.com/items?itemName=mintlify.mintlify-snippets). + + + + ## Mejoras de calidad + + * Mejoras en el panel de control: vea los registros de actualización para ver qué ha cambiado y el estado de una actualización, alterne entre proyectos de Mintlify para gestionar implementaciones + * Versionado con pestañas totalmente compatible + * Redirecciones con comodines ahora compatibles + * Detección de errores de CLI: ahora mostramos la posición del frontmatter inválido cuando hay problemas de análisis durante el desarrollo local + + + + ## Aspectos destacados de la Semana de Lanzamiento + + * Implementaciones de vista previa: Cuando cree una solicitud de extracción, generaremos un enlace único que muestra una vista previa en vivo de cómo se verá su documentación en producción. Puede compartir este enlace con los miembros del equipo. + * Snippets V2: Ahora admitimos componentes completamente reutilizables y variables para snippets. + * Motor MDX de código abierto: Hemos expuesto dos APIs—getCompiledMdx y MDXComponent—para que pueda acceder al markdown de Mintlify y al resaltado de sintaxis de código. [Las contribuciones al proyecto](https://github.com/mintlify/mdx) son bienvenidas. + * Insights del Chat de IA: Segmente el historial de chat por fecha y aumente la cuota del Chat de IA desde el panel de control, y vea con qué frecuencia aparece una consulta específica. + diff --git a/es/code.mdx b/es/code.mdx new file mode 100644 index 00000000..02453188 --- /dev/null +++ b/es/code.mdx @@ -0,0 +1,201 @@ +--- +- title: Código +- description: Muestra código en línea y bloques de código +- icon: code +--- + +## Básico + +### Código en línea + +Para denotar un `word` o `phrase` como código, enciérralo entre comillas invertidas (\`). + +``` +To denote a `word` or `phrase` as code, enclose it in backticks (`). +``` + +### Bloque de código + +Usa [bloques de código cercados](https://www.markdownguide.org/extended-syntax/#fenced-code-blocks) encerrando el código entre tres comillas invertidas y sigue las comillas iniciales con el lenguaje de programación de tu fragmento para obtener resaltado de sintaxis. Opcionalmente, también puedes escribir el nombre de tu código después del lenguaje de programación. + +```java HelloWorld.java +class HelloWorld { + public static void main(String[] args) { + System.out.println("Hello, World!"); + } +} +``` + +````md +```java HelloWorld.java +class HelloWorld { + public static void main(String[] args) { + System.out.println("Hello, World!"); + } +} +``` +```` + +## Resaltado de sintaxis + +Coloca el nombre de tu lenguaje de programación después de las tres comillas invertidas para obtener resaltado de sintaxis. + +Usamos [Prism](https://prismjs.com/#supported-languages) para el resaltado de sintaxis. [Test Drive Prism](https://prismjs.com/test.html#language=markup) enumera todos los lenguajes soportados. + +```java +class HelloWorld { + public static void main(String[] args) { + System.out.println("Hello, World!"); + } +} +``` + +````md +```java +class HelloWorld { + public static void main(String[] args) { + System.out.println("Hello, World!"); + } +} +``` +```` + +## Nombres + +Agrega un título después del lenguaje de programación para establecer el nombre de tu ejemplo de código. El texto puede ser cualquier cosa siempre que esté en una sola línea. + +```javascript Code Block Example +const hello = "world"; +``` + +````md Code Block Example +```javascript Code Block Example +const hello = "world"; +``` +```` + +## Resaltado de líneas + +Resalta líneas específicas en tus bloques de código agregando un comentario especial después del identificador del lenguaje. Usa llaves `{}` y especifica números de línea o rangos separados por comas. + +```javascript Line Highlighting Example {1,3-5} +const greeting = "Hello, World!"; +function sayHello() { + console.log(greeting); +} +sayHello(); +``` + +````md +```javascript Line Highlighting Example {1,3-5} +const greeting = "Hello, World!"; +function sayHello() { + console.log(greeting); +} +sayHello(); +``` +```` + +## Expandible + +Si tienes un bloque de código largo y `[expandable]` después de tu título para hacerlo cerrable y expandible. + +```python library.py [expandable] +from datetime import datetime, timedelta +from typing import Dict, List, Optional +from dataclasses import dataclass + +@dataclass +class Book: + title: str + author: str + isbn: str + checked_out: bool = False + due_date: Optional[datetime] = None + +class Library: + def __init__(self): + self.books: Dict[str, Book] = {} + self.checkouts: Dict[str, List[str]] = {} # patron -> list of ISBNs + + def add_book(self, book: Book) -> None: + if book.isbn in self.books: + raise ValueError(f"Book with ISBN {book.isbn} already exists") + self.books[book.isbn] = book + + def checkout_book(self, isbn: str, patron: str, days: int = 14) -> None: + if patron not in self.checkouts: + self.checkouts[patron] = [] + + book = self.books.get(isbn) + if not book: + raise ValueError("Book not found") + + if book.checked_out: + raise ValueError("Book is already checked out") + + if len(self.checkouts[patron]) >= 3: + raise ValueError("Patron has reached checkout limit") + + book.checked_out = True + book.due_date = datetime.now() + timedelta(days=days) + self.checkouts[patron].append(isbn) + + def return_book(self, isbn: str) -> float: + book = self.books.get(isbn) + if not book or not book.checked_out: + raise ValueError("Book not found or not checked out") + + late_fee = 0.0 + if datetime.now() > book.due_date: + days_late = (datetime.now() - book.due_date).days + late_fee = days_late * 0.50 + + book.checked_out = False + book.due_date = None + + # Remove from patron's checkouts + for patron, books in self.checkouts.items(): + if isbn in books: + books.remove(isbn) + break + + return late_fee + + def search(self, query: str) -> List[Book]: + query = query.lower() + return [ + book for book in self.books.values() + if query in book.title.lower() or query in book.author.lower() + ] + +def main(): + library = Library() + + # Add some books + books = [ + Book("The Hobbit", "J.R.R. Tolkien", "978-0-261-10295-4"), + Book("1984", "George Orwell", "978-0-452-28423-4"), + ] + + for book in books: + library.add_book(book) + + # Checkout and return example + library.checkout_book("978-0-261-10295-4", "patron123") + late_fee = library.return_book("978-0-261-10295-4") + print(f"Late fee: ${late_fee:.2f}") + +if __name__ == "__main__": + main() +``` + +````md +```javascript Expandable Example [expandable] +const greeting = "Hello, World!"; +function sayHello() { + console.log(greeting); +} +sayHello(); +``` +```` diff --git a/es/components/accordions.mdx b/es/components/accordions.mdx new file mode 100644 index 00000000..a1a24cbc --- /dev/null +++ b/es/components/accordions.mdx @@ -0,0 +1,110 @@ +--- +- title: Acordeones +- description: Un componente desplegable para alternar la visibilidad del contenido +- icon: chevron-down +--- + + + Puede poner cualquier contenido aquí, incluyendo otros componentes, como código: + + ```java HelloWorld.java + class HelloWorld { + public static void main(String[] args) { + System.out.println("Hello, World!"); + } + } + ``` + + + + ````jsx Accordion Example + + You can put any content in here, including other components, like code: + + ```java HelloWorld.java + class HelloWorld { + public static void main(String[] args) { + System.out.println("Hello, World!"); + } + } + ``` + + ```` + + ````jsx Accordion Group Example + + + You can put other components inside Accordions. + + ```java HelloWorld.java + class HelloWorld { + public static void main(String[] args) { + System.out.println("Hello, World!"); + } + } + ``` + + Check out the [Accordion](/components/accordions) docs for all the supported props. + + + + Check out the [Accordion](/components/accordions) docs for all the supported props. + + + + Check out the [Accordion](/components/accordions) docs for all the supported props. + + + ```` + + +### Props + + + Título en la vista previa del Acordeón. + + + + Detalle debajo del título en la vista previa del Acordeón. + + + + Si el Acordeón está abierto por defecto. + + + + Un[icono de Font Awesome](https://fontawesome.com/icons),[icono de Lucide](https://lucide.dev/icons), o código SVG + + + + Uno de "regular", "solid", "light", "thin", "sharp-solid", "duotone", o + "brands" + + +## Grupos de Acordeón + +Puede agrupar múltiples acordeones en una sola visualización. Simplemente agregue``alrededor de sus componentes``existentes. + + + + Puede poner otros componentes dentro de los Acordeones. + + ```java HelloWorld.java + class HelloWorld { + public static void main(String[] args) { + System.out.println("Hello, World!"); + } + } + ``` + + Consulte la documentación de[Accordion](/es/components/accordions)para ver todas las props soportadas. + + + + Consulte la documentación de[Accordion](/es/components/accordions)para ver todas las props soportadas. + + + + Consulte la documentación de[Accordion](/es/components/accordions)para ver todas las props soportadas. + + diff --git a/es/components/callouts.mdx b/es/components/callouts.mdx new file mode 100644 index 00000000..acbecc61 --- /dev/null +++ b/es/components/callouts.mdx @@ -0,0 +1,43 @@ +--- +- title: Llamadas de atención +- description: Usa llamadas de atención para agregar contexto llamativo a tu contenido +- icon: info +--- + +Las llamadas de atención pueden estilizarse como Nota, Advertencia, Información, Consejo o Verificación: + +Esto agrega una nota en el contenido + +```jsx +This adds a note in the content +``` + +Esto levanta una advertencia para tener cuidado + +```jsx +This raises a warning to watch out for +``` + +Esto llama la atención sobre información importante + +```jsx +This draws attention to important information +``` + +Esto sugiere un consejo útil + +```jsx +This suggests a helpful tip +``` + +Esto nos trae un estado verificado + +```jsx +This brings us a checked status +``` + + + ```jsx Callout Example + This adds a note in the content + ``` + diff --git a/es/components/cards.mdx b/es/components/cards.mdx new file mode 100644 index 00000000..89facb61 --- /dev/null +++ b/es/components/cards.mdx @@ -0,0 +1,118 @@ +--- +- title: Tarjetas +- description: Destaca puntos principales o enlaces con iconos personalizables +- icon: square-mouse-pointer +--- + + + Así es como se usa una tarjeta con un icono y un enlace. Hacer clic en esta tarjeta + te lleva a la página de Columnas. + + + + ```jsx Card Example + + This is how you use a card with an icon and a link. Clicking on this card + brings you to the Columns page. + + ``` + + ```jsx Image Card Example + + Here is an example of a card with an image + + ``` + + +## Tarjeta horizontal + +Agrega una propiedad`horizontal`para mostrar las tarjetas horizontalmente. + + + Aquí tienes un ejemplo de una tarjeta horizontal + + +## Tarjeta de imagen + +Agrega una propiedad`img`para mostrar una imagen en la parte superior de la tarjeta. + + + Aquí tienes un ejemplo de una tarjeta con una imagen + + +## Tarjeta de enlace + +Puedes personalizar el CTA y si mostrar o no la flecha en la tarjeta. Por defecto, la flecha solo se mostrará para enlaces externos. + + + Así es como se usa una tarjeta con un icono y un enlace. Hacer clic en esta tarjeta + te lleva a la página de Columnas. + + + + ```jsx Card Example + + This is how you use a card with an icon and a link. Clicking on this card + brings you to the Columns page. + + ``` + + +## Agrupación de tarjetas + +Puedes agrupar tarjetas en[columnas](/es/components/columns). + + + + Esta es la primera tarjeta. + + + + Esta es la segunda tarjeta. + + + +## Propiedades + + + El título de la tarjeta + + + + Un icono de[Font Awesome icon](https://fontawesome.com/icons),[Lucide + icon](https://lucide.dev/icons), o código SVG en`icon={}` + + + + Uno de`regular`,`solid`,`light`,`thin`,`sharp-solid`,`duotone`,`brands` + + + + El color del icono como un código hexadecimal + + + + La URL a la que se dirigirá el usuario al hacer clic en la tarjeta + + + + Hace que la tarjeta sea más compacta y horizontal + + + + La URL o ruta local de una imagen para mostrar en la parte superior de la tarjeta + + + + Etiqueta para el botón de acción + + + + Habilitar o deshabilitar el icono de flecha de enlace + diff --git a/es/components/code-groups.mdx b/es/components/code-groups.mdx new file mode 100644 index 00000000..5c78e63b --- /dev/null +++ b/es/components/code-groups.mdx @@ -0,0 +1,52 @@ +--- +- title: Grupos de Código +- description: El componente CodeGroup te permite combinar bloques de código en + una visualización separada por pestañas +- icon: group +--- + +Necesitarás hacer [Bloques de Código](/es/code) luego añadir el componente `` alrededor de ellos. Cada Bloque de Código debe tener un nombre de archivo porque usamos los nombres para los botones de las pestañas. + +Mira abajo para un ejemplo del resultado final. + + + ```javascript helloWorld.js + console.log("Hello World"); + ``` + + ```python hello_world.py + print('Hello World!') + ``` + + ```java HelloWorld.java + class HelloWorld { + public static void main(String[] args) { + System.out.println("Hello, World!"); + } + } + ``` + + + + ````md Code Group Example + + + ```javascript helloWorld.js + console.log("Hello World"); + ``` + + ```python hello_world.py + print('Hello World!') + ``` + + ```java HelloWorld.java + class HelloWorld { + public static void main(String[] args) { + System.out.println("Hello, World!"); + } + } + ``` + + + ```` + diff --git a/es/components/columns.mdx b/es/components/columns.mdx new file mode 100644 index 00000000..61fca226 --- /dev/null +++ b/es/components/columns.mdx @@ -0,0 +1,36 @@ +--- +- title: Columnas +- description: Muestra tarjetas lado a lado en formato de cuadrícula +- icon: columns-2 +--- + +El componente `Columns` te permite agrupar múltiples componentes `Card` juntos. Se usa más comúnmente para poner múltiples tarjetas en una cuadrícula, especificando el número de columnas de la cuadrícula. + + + + Neque porro quisquam est qui dolorem ipsum quia dolor sit amet + + + + Lorem ipsum dolor sit amet, consectetur adipiscing elit + + + + + ```jsx Card Group Example + + + Neque porro quisquam est qui dolorem ipsum quia dolor sit amet + + + Lorem ipsum dolor sit amet, consectetur adipiscing elit + + + ``` + + +### Props + + + El número de columnas por fila + diff --git a/es/components/examples.mdx b/es/components/examples.mdx new file mode 100644 index 00000000..a43fd6b8 --- /dev/null +++ b/es/components/examples.mdx @@ -0,0 +1,45 @@ +--- +- title: Ejemplos +- description: Muestra bloques de código en la parte superior derecha de la página + en dispositivos de escritorio +- icon: between-horizontal-start +--- + +Los `` y `` fijan bloques de código en la parte superior derecha de una página incluso mientras te desplazas. Los componentes funcionan en todas las páginas incluso si no usas un área de juegos de API. + +`` y `` se muestran como bloques de código regulares en dispositivos móviles. + +## Ejemplo de Solicitud + +El componente `` funciona de manera similar a [CodeGroup](/es/components/code-groups), pero muestra el contenido de la solicitud en la barra lateral derecha. Por lo tanto, puedes poner múltiples bloques de código dentro de ``. + +Por favor, establece un nombre en cada bloque de código que pongas dentro de RequestExample. + + + ````md RequestExample Example + + + ```bash Request + curl --request POST \ + --url https://dog-api.kinduff.com/api/facts + ``` + + + ```` + + +## Ejemplo de Respuesta + +El componente `` es el mismo que `` pero aparecerá debajo de él. + + + ````md ResponseExample Example + + + ```json Response + { "status": "success" } + ``` + + + ```` + diff --git a/es/components/expandables.mdx b/es/components/expandables.mdx new file mode 100644 index 00000000..7d765c13 --- /dev/null +++ b/es/components/expandables.mdx @@ -0,0 +1,44 @@ +--- +- title: Expandibles +- description: Alterna para mostrar propiedades anidadas. +- icon: list-tree +--- + + + + + El nombre completo del usuario + + + + Si el usuario es mayor de 21 años + + + + + + ```jsx Expandable Example + + + + The full name of the user + + + + Whether the user is over 21 years old + + + + ``` + + +## Props + + + El nombre del objeto que estás mostrando. Se usa para generar el texto "Mostrar NOMBRE" y + "Ocultar NOMBRE". + + + + Establece en true para mostrar el componente como abierto cuando la página se carga. + diff --git a/es/components/fields.mdx b/es/components/fields.mdx new file mode 100644 index 00000000..f8f77d6c --- /dev/null +++ b/es/components/fields.mdx @@ -0,0 +1,117 @@ +--- +- title: Campos +- description: Establecer parámetros para tus referencias de API o SDK +- icon: letter-text +--- + +Hay dos tipos de campos: Campos de Parámetros y Campos de Respuesta. + +## Campo de Parámetro + +Un componente`ParamField`se utiliza para definir los parámetros de tus APIs o SDKs. Añadir un`ParamField`agregará automáticamente un[API Playground](/es/api-playground/overview). + + + Un ejemplo de un campo de parámetro + + + + ```jsx Path Example + + An example of a parameter field + + ``` + + ```jsx Body Example + + The age of the user. Cannot be less than 0 + + ``` + + ```jsx Response Example + + A response field example + + ``` + + +### Props + + + Si es un parámetro de consulta, ruta, cuerpo o encabezado seguido del nombre + + + + Tipo esperado del valor del parámetro + + Admite`number`,`string`,`bool`,`object`. + + Los arrays se pueden definir usando el sufijo`[]`. Por ejemplo`string[]`. + + + + Indica si el parámetro es obligatorio + + + + Indica si el parámetro está obsoleto + + + + Valor predeterminado utilizado por el servidor si la solicitud no proporciona un valor + + + + Valor que se utilizará para inicializar el playground + + + + Texto de marcador de posición para la entrada en el playground + + + + Descripción del parámetro (markdown habilitado) + + +## Campo de Respuesta + +El componente``está diseñado para definir los valores de retorno de una API. Muchas documentaciones también usan``en las páginas cuando necesitas listar los tipos de algo. + + + Un ejemplo de campo de respuesta + + +```jsx + + A response field example + +``` + +### Props + + + El nombre del valor de respuesta. + + + + Tipo esperado del valor de respuesta - esto puede ser cualquier cadena arbitraria. + + + + El valor predeterminado. + + + + Mostrar "required" junto al nombre del campo. + + + + Si un campo está obsoleto o no. + + + + Etiquetas que se muestran antes del nombre del campo + + + + Etiquetas que se muestran después del nombre del campo + diff --git a/es/components/frames.mdx b/es/components/frames.mdx new file mode 100644 index 00000000..97aed505 --- /dev/null +++ b/es/components/frames.mdx @@ -0,0 +1,40 @@ +--- +- title: Marcos +- description: Usa el componente Frame para envolver imágenes u otros componentes + en un contenedor. +- icon: frame +--- + +Los marcos son muy útiles si quieres centrar una imagen. + + + + + +## Leyendas + +Puedes agregar contexto adicional a una imagen usando la prop opcional `caption`. + + + + + +## Props + + + Texto de leyenda opcional para mostrar centrado debajo de tu componente. + + + + ```jsx Frame + + + + ``` + + ```jsx Frame with Captions + + + + ``` + diff --git a/es/components/icons.mdx b/es/components/icons.mdx new file mode 100644 index 00000000..116fc87e --- /dev/null +++ b/es/components/icons.mdx @@ -0,0 +1,41 @@ +--- +- title: Iconos +- description: Usa iconos de bibliotecas de iconos populares +- icon: flag +--- + + + + + ```jsx Icon Example + + ``` + + +## Iconos en línea + +El icono se colocará en línea cuando se use en un párrafo. + +```markdown Inline Icon Example + The documentation you want, effortlessly +``` + + La documentación que deseas, sin esfuerzo + +### Props + + + Un [Font Awesome](https://fontawesome.com/icons) o [Lucide](https://lucide.dev/icons) icono + + + + Uno de `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands` (solo para [Font Awesome](https://fontawesome.com/icons) iconos). + + + + El color del icono como código hexadecimal (por ejemplo, `#FF5733`) + + + + El tamaño del icono en píxeles + diff --git a/es/components/mermaid-diagrams.mdx b/es/components/mermaid-diagrams.mdx new file mode 100644 index 00000000..c691c8db --- /dev/null +++ b/es/components/mermaid-diagrams.mdx @@ -0,0 +1,61 @@ +--- +- title: Mermaid +- description: Muestra diagramas usando Mermaid +- icon: waypoints +--- + + + ````md Mermaid Flowchart Example + ```mermaid + flowchart LR + subgraph subgraph1 + direction TB + top1[top] --> bottom1[bottom] + end + subgraph subgraph2 + direction TB + top2[top] --> bottom2[bottom] + end + %% ^ These subgraphs are identical, except for the links to them: + + %% Link *to* subgraph1: subgraph1 direction is maintained + outside --> subgraph1 + %% Link *within* subgraph2: + %% subgraph2 inherits the direction of the top-level graph (LR) + outside ---> top2 + ``` + ```` + + +[Mermaid](https://mermaid.js.org/) te permite crear diagramas visuales usando texto y código. + +```mermaid + flowchart LR + subgraph subgraph1 + direction TB + top1[top] --> bottom1[bottom] + end + subgraph subgraph2 + direction TB + top2[top] --> bottom2[bottom] + end + %% ^ These subgraphs are identical, except for the links to them: + + %% Link *to* subgraph1: subgraph1 direction is maintained + outside --> subgraph1 + %% Link *within* subgraph2: + %% subgraph2 inherits the direction of the top-level graph (LR) + outside ---> top2 +``` + +Para una lista completa de diagramas soportados por Mermaid, consulta su [sitio web](https://mermaid.js.org/). + +## Sintaxis para diagramas Mermaid + +Para crear un diagrama de flujo, puedes escribir el diagrama de flujo Mermaid dentro de un bloque de código Mermaid. + +````md +```mermaid +// Your mermaid code block here +``` +```` diff --git a/es/components/panel.mdx b/es/components/panel.mdx new file mode 100644 index 00000000..f3e50201 --- /dev/null +++ b/es/components/panel.mdx @@ -0,0 +1,21 @@ +--- +- title: Panel +- description: Especifica el contenido del panel del lado derecho +- icon: panel-right +--- + +Puedes usar el componente `` para personalizar el panel del lado derecho de una página con cualquier componente que desees. + +Si una página tiene un componente ``, cualquier componente [RequestExample](/es/components/examples#request-example) y [ResponseExample](/es/components/examples#response-example) debe estar dentro de ``. + +Los componentes en un `` reemplazarán la tabla de contenidos de una página. + +```md + + Pin info to the side panel. Or add any other component. + +``` + + + Fija información en el panel lateral. O añade cualquier otro componente. + diff --git a/es/components/responses.mdx b/es/components/responses.mdx new file mode 100644 index 00000000..ab7b49f7 --- /dev/null +++ b/es/components/responses.mdx @@ -0,0 +1,54 @@ +--- +- title: Campos de Respuesta +- description: Muestra valores de respuesta de API +--- + +El componente `` está diseñado para definir los valores de retorno de una API. Muchos documentos también usan `` en las páginas cuando necesitas listar los tipos de algo. + + + Un ejemplo de campo de respuesta + + +```jsx + + A response field example + +``` + +## Propiedades + + + El nombre del valor de respuesta. + + + + Tipo esperado del valor de respuesta - esto puede ser cualquier cadena arbitraria. + + + + El valor por defecto. + + + + Muestra "requerido" junto al nombre del campo. + + + + Si un campo está obsoleto o no. + + + + Etiquetas que se muestran antes del nombre del campo + + + + Etiquetas que se muestran después del nombre del campo + + + + ```jsx Response Field Example + + A response field example + + ``` + diff --git a/es/components/steps.mdx b/es/components/steps.mdx new file mode 100644 index 00000000..4b1c2a35 --- /dev/null +++ b/es/components/steps.mdx @@ -0,0 +1,73 @@ +--- +- title: Steps +- description: Secuencia el contenido usando el componente Steps +- icon: list-todo +--- + +Los pasos son la mejor manera de mostrar una serie de acciones o eventos a tus usuarios. Puedes añadir tantos pasos como desees. + + + + Estas son instrucciones o contenido que solo pertenecen al primer paso. + + + + Estas son instrucciones o contenido que solo pertenecen al segundo paso. + + + + Estas son instrucciones o contenido que solo pertenecen al tercer paso. + + + + + ```jsx Steps Example + + + These are instructions or content that only pertain to the first step. + + + These are instructions or content that only pertain to the second step. + + + These are instructions or content that only pertain to the third step. + + + ``` + + +## Propiedades de Steps + + + Una lista de `Step` componentes. + + + + El tamaño de los títulos de los pasos. Uno de `p`, `h2` y `h3`. + + +## Propiedades de Pasos Individuales + + + El contenido de un paso, ya sea como texto plano o componentes. + + + + Un [icono de Font Awesome](https://fontawesome.com/icons), [icono de Lucide](https://lucide.dev/icons), o código SVG en `icon={}` + + + + Uno de `regular`, `solid`, `light`, `thin`, `sharp-solid`, `duotone`, `brands` + + + + El título es el texto principal para el paso y aparece junto al indicador. + + + + El número del paso. + + + + El tamaño de los títulos de los pasos. Uno de `p`, `h2` y `h3`. + diff --git a/es/components/tabs.mdx b/es/components/tabs.mdx new file mode 100644 index 00000000..b9c9779f --- /dev/null +++ b/es/components/tabs.mdx @@ -0,0 +1,59 @@ +--- +- title: Pestañas +- description: Alterna contenido usando el componente Pestañas +- icon: panel-top +--- + +Puedes añadir cualquier número de pestañas y otros componentes dentro de las pestañas. + + + + ☝️ Bienvenido al contenido que solo puedes ver dentro de la primera Pestaña. + Puedes añadir cualquier número de componentes dentro de las pestañas. + + ```java HelloWorld.java + class HelloWorld { + public static void main(String[] args) { + System.out.println("Hello, World!"); + } + } + ``` + + + + ✌️ Aquí está el contenido que solo está dentro de la segunda Pestaña. + + + + 💪 Aquí está el contenido que solo está dentro de la tercera Pestaña. + + + + + ````jsx Tabs Example + + + ☝️ Welcome to the content that you can only see inside the first Tab. + ```java HelloWorld.java + class HelloWorld { + public static void main(String[] args) { + System.out.println("Hello, World!"); + } + } + ``` + + + ✌️ Here's content that's only inside the second Tab. + + + 💪 Here's content that's only inside the third Tab. + + + ```` + + +## Propiedades de Pestaña + + + El título de la pestaña. Los títulos cortos son más fáciles de navegar. + diff --git a/es/components/tooltips.mdx b/es/components/tooltips.mdx new file mode 100644 index 00000000..743f552f --- /dev/null +++ b/es/components/tooltips.mdx @@ -0,0 +1,15 @@ +--- +- title: Tooltips +- description: Muestra una definición cuando pasas el cursor sobre el texto +- icon: message-square +--- + +Los tooltips son una forma de mostrar una definición cuando pasas el cursor sobre el texto. + +Pasa el cursor sobre mí y verás un tooltip en acción + + + ```jsx Tooltip Example + Hover over me + ``` + diff --git a/es/components/update.mdx b/es/components/update.mdx new file mode 100644 index 00000000..08474310 --- /dev/null +++ b/es/components/update.mdx @@ -0,0 +1,66 @@ +--- +- title: Actualización +- description: Mantener un registro de cambios y actualizaciones +- icon: list-collapse +--- + +El componente`Update`se utiliza para realizar un seguimiento de los cambios y actualizaciones. + + + + + + + ## Registro de cambios + + Puede agregar cualquier cosa aquí, como una captura de pantalla, un fragmento de código o una lista de cambios. + + #### Características + + * Diseño responsivo + * Sección fija para cada registro de cambios + + + + ### Cómo usar + + ```md + + This is how you use a changelog with a label + and a description. + + + This is how you use a changelog with a label + and a description. + + ``` + + Puede usar múltiples componentes`Update`para crear registros de cambios. + + + + Cada`label`crea un ancla y también aparece en la tabla de contenidos a la derecha. + + +## Props + + + La etiqueta dada a la actualización, aparece como texto fijo a la izquierda del registro de cambios. + + + + Etiquetas para el registro de cambios, se mostrarán como filtros en el panel del lado derecho. + + + + Descripción de la actualización, aparece debajo de la etiqueta y la etiqueta. + + + + ```jsx Update Example + + This is how you use a changelog with a label + and a description. + + ``` + diff --git a/es/editor.mdx b/es/editor.mdx new file mode 100644 index 00000000..8acd5e98 --- /dev/null +++ b/es/editor.mdx @@ -0,0 +1,229 @@ +--- +- title: Editor Web +- description: Construye tu documentación usando el editor web de Mintlify +- icon: mouse-pointer-2 +--- + +Mintlify Web Editor interface in light mode + +Mintlify Web Editor interface in dark mode + +## Introduction + +El editor web es una interfaz visual para crear, editar y revisar documentación directamente en tu navegador. + +El editor web ofrece una experiencia **What-You-See-Is-What-You-Get (WYSIWYG)** mientras mantiene la sincronización con tu repositorio Git, lo que te permite ver actualizaciones en tiempo real y colaborar con tu equipo en los cambios de la documentación. + +### Editor web vs. CLI + +El editor web te permite escribir y editar tu documentación en tu navegador sin necesidad de herramientas de desarrollo locales o usar la línea de comandos. Deberías usar el editor web si quieres mantener tu documentación en un solo lugar con una sola herramienta. + +La CLI es una herramienta de línea de comandos que te permite crear y gestionar tu documentación localmente usando el IDE de tu elección. Deberías usar la CLI si quieres integrar la documentación en tu flujo de trabajo de desarrollo existente. + +Tanto el editor web como la CLI están completamente integrados con tu repositorio Git, por lo que puedes usarlos indistintamente y diferentes miembros de tu equipo pueden usar cualquiera de las herramientas según sus preferencias. + +## Modos del Editor + +El editor web ofrece dos modos para adaptarse a diferentes preferencias y necesidades de edición. + +Puedes cambiar entre los modos naturales en cualquier momento usando el interruptor en la esquina superior derecha de la barra de herramientas del editor. + + + Mode toggle icons highlighted in the Mintlify web editor + + Mode toggle icons highlighted in the Mintlify web editor + + +### Modo Visual + +El modo visual proporciona una experiencia WYSIWYG donde los cambios que haces en el editor son los cambios que se publicarán en tu sitio de documentación. Este modo es ideal cuando quieres ver cómo se verán tus cambios en tiempo real. + + + Visual editing mode in the Mintlify web editor + + Visual editing mode in the Mintlify web editor + + +#### Menú de Componentes + +Puedes agregar bloques de contenido y otros componentes a tu documentación en el modo visual usando el menú desplegable de componentes. + +1. Presiona la tecla `/` para abrir el menú de componentes. +2. Selecciona un componente del menú. + + + The unfurled component menu emphasized in the Mintlify web editor + + The unfurled component menu emphasized in the Mintlify web editor + + +### Modo Markdown + +El modo Markdown proporciona acceso directo al código MDX subyacente de tu documentación. Este modo es preferible cuando necesitas un control preciso sobre las propiedades de los componentes o cuando prefieres escribir en sintaxis Markdown/MDX. + + + Markdown mode in the Mintlify web editor + + Markdown mode in the Mintlify Web Editor + + +## Realizando Cambios + +1. **Navegar por archivos**: Usa el explorador de archivos de la barra lateral para navegar por tu documentación. +2. **Abrir un archivo**: Haz clic en el archivo que quieres editar para abrirlo en el editor. +3. **Realizar cambios**: Edita el contenido usando el modo visual o Markdown. Los cambios se guardan automáticamente como borradores. +4. **Vista previa de cambios**: Ve cómo se verán tus cambios en el modo visual. + +## Publicación + + + La publicación actualiza directamente tu rama de despliegue configurada. Para flujos de trabajo colaborativos, considera usar ramas y solicitudes de extracción en su lugar. + + +Cuando estés listo para hacer que tus cambios estén en vivo, haz clic en el botón **Publish** en la esquina superior derecha del editor web. + +Tus cambios se desplegarán en tu sitio de producción inmediatamente. + + + The publish button emphasized in the Mintlify web editor + + The publish button emphasized in the Mintlify web editor + + +## Branches + +Las ramas te permiten trabajar en cambios de documentación sin actualizar la versión principal hasta que estés listo para que tus cambios se publiquen. + + + Usa ramas para actualizaciones significativas, nuevas secciones o cuando varios miembros del equipo están trabajando en diferentes partes de la documentación simultáneamente. + + +### Creando una Rama + +1. Selecciona el nombre de la rama en la barra de herramientas del editor (generalmente `main` por defecto). +2. Selecciona **New Branch**. +3. Ingresa un nombre descriptivo para tu rama. +4. Selecciona **Create Branch**. + +### Cambiando de Rama + +1. Selecciona el nombre de la rama actual en la barra de herramientas del editor. +2. Selecciona la rama a la que quieres cambiar del menú desplegable. + +### Guardando Cambios en una Rama + +Para guardar tus cambios en una rama, selecciona el botón **Save Changes** en la esquina superior derecha del editor. + +Cuando estás trabajando en una rama, tus cambios no se guardan automáticamente. + +## Pull Requests + +Las pull requests (o PRs) te permiten a ti y a otras personas revisar los cambios que has realizado en una rama y luego fusionar esos cambios en tu documentación principal. + +### Creando una Pull Request en una Rama + +1. Realiza tus cambios en una rama. +2. Haz clic en el **Publish Pull Request** botón en la esquina superior derecha del editor. +3. Añade un Título y Descripción de Pull Request para tu pull request. Un buen título y descripción ayudará a los revisores a entender los cambios que has realizado. +4. Haz clic en **Publish Pull Request**. + + + Publish pull request button emphasized in the Mintlify web editor + + Publish pull request button emphasized in the Mintlify web editor + + +### Revisando Pull Requests + +Puedes revisar pull requests en tu plataforma Git (GitHub, GitLab). + +Después de crear una pull request, puedes ver una implementación de vista previa de los cambios. + +Después de que un revisor apruebe una pull request, puedes fusionar la pull request en tu rama principal y los cambios se implementarán en tu sitio de documentación en vivo. + +## Sincronización Git + +El editor web se integra con tu repositorio Git, asegurando que todos los cambios estén correctamente versionados y rastreados. + +### Cómo funciona la sincronización Git + +* **Autenticación**: El editor web se conecta a tu repositorio Git a través de nuestra [GitHub App](/es/settings/github) o [GitLab integration](/es/settings/gitlab). + +* **Obtención automática**: Cuando abres el editor, automáticamente obtiene el contenido más reciente de la rama principal de tu repositorio. + +* **Seguimiento de cambios**: A medida que realizas ediciones, el editor web rastrea los cambios y puede confirmarlos en tu repositorio. + +* **Ramificación**: Puedes hacer cambios directamente en tu rama principal o en una rama separada, dependiendo de tus preferencias de flujo de trabajo. + +* **Pull requests**: Para flujos de trabajo colaborativos, puedes crear pull requests desde el editor web. + +## Terminología Git + +Entender los siguientes términos puede ayudarte a trabajar más eficazmente con el editor web y el flujo de trabajo Git. + + + + Un repositorio (o repo) es donde se almacenan tus archivos de documentación, junto con su historial de revisiones. El editor web se conecta a tu repositorio Git para obtener y almacenar el contenido de la documentación. + + + + Un commit es una instantánea de los cambios en tu documentación en un punto específico en el tiempo. Cuando publicas cambios en el editor web, estás creando un commit en tu repositorio Git. + + + + Una rama es una versión paralela de tu documentación que te permite trabajar en cambios sin afectar la versión principal. El editor web te permite crear y cambiar entre ramas. + + + + Una pull request (o PR) es una propuesta para fusionar cambios de una rama a otra, típicamente de una rama de características a la rama principal. Las PRs facilitan la revisión y discusión antes de que los cambios sean incorporados. + + + + Un diff (o diferencia) muestra los cambios específicos entre dos versiones de un archivo. Al revisar pull requests, los diffs resaltan lo que se ha añadido, eliminado o modificado. + + + +## Solución de problemas + +Aquí hay soluciones a problemas comunes que podrías encontrar con el editor web. + + + + **Posibles causas:** + + * La implementación aún está en progreso + * Problemas de caché en tu navegador + + **Solutions:** + + 1. Verifica el estado de implementación en tu Panel de Control de Mintlify. + 2. Intenta hacer una actualización forzada en tu navegador (Ctrl+F5 o Cmd+Shift+R). + 3. Limpia la caché de tu navegador. + + + + **Posibles causas:** + + * Permisos insuficientes para el repositorio Git + * Problemas de autenticación con tu proveedor Git + + **Solutions:** + + 1. Verifica que tienes el acceso correcto al repositorio. + 2. Comprueba si tu integración Git está configurada correctamente. + 3. Revisa la documentación de [Editor Permissions](/es/advanced/dashboard/permissions). + + + + **Posibles causas:** + + * Problemas de conectividad de red + * Repositorios de documentación grandes + + **Solutions:** + + 1. Verifica tu conexión a internet. + 2. Actualiza la página e intenta de nuevo. + 3. Contacta al soporte si el problema persiste. + + diff --git a/es/guides/auth0.mdx b/es/guides/auth0.mdx new file mode 100644 index 00000000..f57c3370 --- /dev/null +++ b/es/guides/auth0.mdx @@ -0,0 +1,65 @@ +--- +- title: Usando Auth0 con el Protocolo de Autenticación OAuth +- description: Si Auth0 es la fuente de verdad para los datos de sus usuarios, + puede configurar Mintlify como una aplicación cliente OAuth para autenticar + a sus usuarios. +--- + + + **Aviso de seguridad**: Aunque proporcionamos esta guía para ayudarte a integrar Auth0 con Mintlify, por favor consulta con tu equipo de seguridad antes de implementar cualquier solución de autenticación. Mintlify no es responsable de ningún problema de seguridad que pueda surgir de tu implementación específica. + + +## Visión general + +Esta guía te lleva a través de la configuración de Auth0 como proveedor de autenticación para tu documentación de Mintlify. Al final, tus usuarios podrán iniciar sesión en tu documentación usando sus credenciales de Auth0. + + + + Inicia sesión en tu panel de control de Auth0 y navega a**Applications**>**Applications**. Haz clic en el botón**Create Application**, dale un nombre a tu aplicación (por ejemplo, "Mintlify"), y selecciona**Regular Web Applications**como el tipo de aplicación. Luego haz clic en**Create**. + + ![Creating a new application in Auth0](/images/guides/auth0/auth0-create-application.png) + + + + Después de crear tu aplicación, serás llevado a la página de configuración de la aplicación. Aquí encontrarás las credenciales esenciales necesarias para la integración OAuth: + + ![Auth0 client settings page](/images/guides/auth0/auth0clientsettings.png) + + Toma nota de la siguiente información: + + * **Domain**: Este es el dominio de tu inquilino de Auth0 (por ejemplo,`your-tenant.auth0.com`) + * **Client ID**: El identificador público de tu aplicación + * **Client Secret**: La clave secreta de tu aplicación (mantenla segura) + + Necesitarás estos valores para configurar Mintlify en el siguiente paso. + + + + Navega a tu Panel de Control de Mintlify y ve a la sección**Settings**>**Authentication**. Selecciona**OAuth**como tu método de autenticación y verás el formulario de configuración de OAuth: + + ![Mintlify OAuth client settings](/images/guides/auth0/mintlifyoauthclientsettings.png) + + Rellene el formulario con los siguientes valores: + + * **URL de Autorización**: `https://YOUR_AUTH0_DOMAIN/authorize` (reemplace `YOUR_AUTH0_DOMAIN` con su dominio real de Auth0 del paso 2) + * **ID del Cliente**: Ingrese el ID del Cliente de su aplicación Auth0 + * **Secreto del Cliente**: Ingrese el Secreto del Cliente de su aplicación Auth0 + * **Ámbitos**: Dejar en blanco a menos que tenga ámbitos personalizados configurados en Auth0 + * **URL del Token**: `https://YOUR_AUTH0_DOMAIN/oauth/token` (reemplace `YOUR_AUTH0_DOMAIN` con su dominio real de Auth0) + + Después de completar estos detalles, haga clic en **Guardar cambios** para almacenar su configuración de OAuth. + + + + Mintlify generará una URL de Redirección única que Auth0 necesita reconocer para que el flujo de OAuth funcione correctamente. + + Copie la URL de Redirección de la configuración de Autenticación en su Panel de Control de Mintlify: + + ![Mintlify redirect URL](/images/guides/auth0/mintlifyredirecturl.png) + + Vuelva a la página de configuración de su aplicación Auth0, desplácese hacia abajo hasta la sección **URIs de la Aplicación** y pegue la URL de Redirección en **URLs de Devolución de Llamada Permitidas** field: + ![Auth0 redirect URL configuration](/images/guides/auth0/auth0redirecturl.png) + + Haga clic en **Guardar Cambios** en la parte inferior de la página de Auth0 para aplicar esta configuración. + + diff --git a/es/guides/hidden-pages.mdx b/es/guides/hidden-pages.mdx new file mode 100644 index 00000000..81a177b6 --- /dev/null +++ b/es/guides/hidden-pages.mdx @@ -0,0 +1,27 @@ +--- +- title: Páginas ocultas +- description: Excluye páginas de tu `docs.json` +- icon: eye-closed +--- + +Puedes usar páginas ocultas para contenido que no es estrictamente confidencial, pero que no está listo para su lanzamiento. Las páginas ocultas están excluidas de la navegación de tu sitio, por lo que las personas solo pueden acceder a las páginas ocultas si conocen la URL exacta. + +Una página está oculta hasta que la agregas a un grupo, pestaña u otro elemento de navegación en tu `docs.json`. + + + Algunos elementos de navegación como barras laterales, menús desplegables y pestañas pueden cambiar o aparecer vacíos en páginas ocultas. + + +Si deseas que las páginas ocultas sean indexadas para SEO y que su contenido aparezca cuando las personas buscan dentro de tus documentos, agrega la siguiente configuración a tu `docs.json`: + +``` +"seo" { + "indexing": all +} +``` + +Si deseas excluir el contenido de una página oculta específica de los resultados de búsqueda de motores de búsqueda y búsqueda interna, agrega `noindex: true` al frontmatter de la página. + +Si tienes páginas a las que solo quieres que grupos específicos de tus propios usuarios tengan acceso, puedes usar el acceso selectivo de grupos disponible a través de [Personalización](/es/settings/authentication-personalization/personalization#showing-hiding-pages). + +Si tienes páginas para las que deseas mantener un control de acceso estricto, puedes usar [Autenticación](/es/settings/authentication-personalization/authentication). diff --git a/es/guides/migration.mdx b/es/guides/migration.mdx new file mode 100644 index 00000000..d0bceeae --- /dev/null +++ b/es/guides/migration.mdx @@ -0,0 +1,150 @@ +--- +- title: Migraciones +- description: Cómo migrar la documentación desde tu proveedor existente +- icon: import +--- + +Puedes usar nuestros [public packages](https://www.npmjs.com/package/@mintlify/scraping) para convertir tu documentación existente a Mintlify. + +Actualmente soportamos migración automatizada para: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +} + horizontal + /> + + + +} + horizontal + /> + + +¿No ves tu proveedor de documentación o tienes un sistema propio? ¡Aún podemos ayudarte! Por favor, ponte en contacto con nosotros en [support@mintlify.com](mailto:support@mintlify.com). + +## Comandos + +* `mintlify-scrape section [url]` - Extrae múltiples páginas de un sitio. +* `mintlify-scrape page [url]` - Extrae una sola página de un sitio. + +Los comandos detectarán automáticamente el framework. + +## Instalación + +Primero, instala el paquete: + +``` +npm i @mintlify/scraping +``` + +Uso único: + + + ```bash Section + npx @mintlify/scraping@latest section [url] + ``` + + ```bash Page + npx @mintlify/scraping@latest page [url] + ``` + + +Instalación global: + +``` +npm install @mintlify/scraping@latest -g +``` + +Uso global: + + + ```bash Section + mintlify-scrape section [url] + ``` + + ```bash Page + mintlify-scrape page [url] + ``` + + +Proporciona la ruta relativa o URL al archivo OpenAPI para generar archivos frontmatter para cada endpoint. + +``` +mintlify-scrape openapi-file [openApiFilename] + +-w, --writeFiles Whether or not to write the frontmatter files [boolean] [default: true] +-o, --outDir The folder in which to write any created frontmatter files [string] +``` diff --git a/es/guides/monorepo.mdx b/es/guides/monorepo.mdx new file mode 100644 index 00000000..904a411b --- /dev/null +++ b/es/guides/monorepo.mdx @@ -0,0 +1,34 @@ +--- +- title: Configuración de monorepo +- description: Despliega tus documentos desde un repositorio que contiene + múltiples proyectos +- icon: folder-git +--- + +Configura Mintlify para desplegar documentación desde un directorio específico dentro de un monorepo. Esta configuración te permite mantener la documentación junto con tu código en repositorios que contienen múltiples proyectos o servicios. + +## Prerrequisitos + +* Acceso de administrador a tu proyecto Mintlify. +* Archivos de documentación organizados en un directorio dedicado dentro de tu monorepo. +* Un `docs.json` válido en tu directorio de documentación. + +## Configurar despliegue de monorepo + + + + Navega a [Configuración de Git](https://dashboard.mintlify.com/settings/deployment/git-settings) en tu panel de control. + + + The project settings panel in the Git Settings menu. The Set up as monorepo toggle button is enabled and a path to the /docs directory is specified. + + The project settings panel in the Git Settings menu. The Set up as monorepo toggle button is enabled and a path to the /docs directory is specified. + + + + + 1. Selecciona el botón de alternancia **Configurar como monorepo**. + 2. Ingresa la ruta relativa a tu directorio de documentación. + 3. Selecciona **Guardar cambios**. + + diff --git a/es/image-embeds.mdx b/es/image-embeds.mdx new file mode 100644 index 00000000..531b3a4a --- /dev/null +++ b/es/image-embeds.mdx @@ -0,0 +1,128 @@ +--- +- title: Imágenes e incrustaciones +- description: Agrega imagen, video y otros elementos HTML +- icon: image +--- + + + +## Imagen + +Las imágenes son la forma más común de agregar contenido visual a tu documentación. + +### Conceptos básicos + +La[markdown syntax](https://www.markdownguide.org/basic-syntax/#images)te permite agregar imágenes usando el siguiente código + +```md +![title](/path/image.jpg) +``` + + + Para asegurarte de que las imágenes se muestren correctamente en producción, agrega una barra diagonal al principio de la ruta de la imagen (por ejemplo,`/path/image.jpg`). + + +Ten en cuenta que el tamaño del archivo de imagen debe ser menor de 20MB. De lo contrario, recomendamos alojarlo en un proveedor de CDN como[S3](https://aws.amazon.com/s3),[Cloudinary](https://cloudinary.com)o un servicio similar. + +### Incrustaciones + +Para obtener más personalización con las imágenes, también puedes usar incrustaciones para agregar imágenes. + +```html + +``` + +### Deshabilitar el zoom de imagen + +Para deshabilitar el zoom predeterminado al hacer clic en las imágenes, agrega la propiedad noZoom a las incrustaciones de imágenes. + +```html + +``` + +### Enlazar imágenes + +Para enlazar una imagen, por ejemplo, para crear un botón en tus documentos, envuelve la imagen en un enlace con la`noZoom`propiedad. Las imágenes en`a`etiquetas tendrán automáticamente un cursor de puntero. + +```html + + + +``` + +### Modo oscuro + +Para usar imágenes separadas para el modo claro y oscuro, utiliza Tailwind CSS para ocultar y mostrar imágenes. + +```html + + +``` + +### Relacionado + +Para más información, recomendamos las siguientes secciones: + + + Lee la referencia para el componente Frame + + +## Videos + + +``` + +Para otros videos, usa: + +```html + +``` + +Para reproducir automáticamente el video, usa: + +```html + +``` + + + Dado que Mintlify necesita adherirse a la sintaxis JSX, los atributos de doble palabra deberán + escribirse en camelCase: autoPlay, playsInline. + + +## iFrames + +Carga otra página HTML dentro del documento. + +```html + +``` diff --git a/es/index.mdx b/es/index.mdx new file mode 100644 index 00000000..f33450ec --- /dev/null +++ b/es/index.mdx @@ -0,0 +1,48 @@ +--- +- title: Introducción +- description: Conoce la próxima generación de documentación. Nativa de IA, + hermosa de forma predeterminada y construida para desarrolladores. +- icon: book-open +- mode: custom +--- + +export const HeroCard = ({ filename, title, description, href }) => { + return ( + + + +

{title}

+ + {description} + +
+ ) +} + +
+
+ + + +
+ +
+

+ Documentation +

+ +

+ Conoce la próxima generación de documentación. Nativa de IA, hermosa de forma predeterminada y construida para desarrolladores. +

+ +
+ + + + + + + +
+
+
diff --git a/es/installation.mdx b/es/installation.mdx new file mode 100644 index 00000000..2f64e1bf --- /dev/null +++ b/es/installation.mdx @@ -0,0 +1,141 @@ +--- +- title: Instalación +- description: Instala el CLI para previsualizar y desarrollar tu documentación localmente +- icon: terminal +--- + + + + + + + **Requisito previo**: Por favor, instale [Node.js](https://nodejs.org/en) (versión 19 o superior) antes de continuar. + + +**Paso 1**: Instale el [CLI](https://www.npmjs.com/package/mint): + + + ```bash npm + npm i -g mint + ``` + + ```bash yarn + yarn global add mint + ``` + + ```bash pnpm + pnpm add -g mint + ``` + + +**Paso 2**: Navegue al directorio de documentos (donde se encuentra el archivo `docs.json`) y ejecute el siguiente comando: + +```bash +mint dev +``` + +Alternativamente, si no desea instalar el CLI globalmente, puede usar un script de una sola vez: + + + ```bash npm + npx mint dev + ``` + + ```bash yarn + yarn dlx mint dev + ``` + + ```bash pnpm + pnpm dlx mint dev + ``` + + +Una vista previa local de su documentación estará disponible en `http://localhost:3000`. + +## Actualizaciones + +Cada versión del CLI está asociada con una versión específica de la plataforma Mintlify. Si su vista previa local no coincide con la versión de producción, actualice el CLI: + + + ```bash npm + npm i -g mint@latest + ``` + + ```bash yarn + yarn global upgrade mint + ``` + + ```bash pnpm + pnpm up --global mint + ``` + + +## Puertos personalizados + +Por defecto, el CLI usa el puerto 3000. Puede personalizar el puerto usando la bandera `--port`. Para ejecutar el CLI en el puerto 3333, por ejemplo, use este comando: + +```bash +mint dev --port 3333 +``` + +Si intenta ejecutar en un puerto que ya está en uso, utilizará el siguiente puerto disponible: + +```md +Port 3000 is already in use. Trying 3001 instead. +``` + +## Comandos adicionales + +Aunque `mint dev` es el comando más comúnmente utilizado, hay otros comandos que puede usar para administrar su documentación. + +### Encontrar enlaces rotos + +El CLI puede ayudar a validar los enlaces de referencia hechos en su documentación. Para identificar cualquier enlace roto, use el siguiente comando: + +```bash +mint broken-links +``` + +### Verificar especificación OpenAPI + +Puede usar el CLI para verificar errores en su archivo OpenAPI usando el siguiente comando: + +```bash +mint openapi-check +``` + +Puede pasar un nombre de archivo (por ejemplo, `./openapi.yaml`) o una URL (por ejemplo, `https://petstore3.swagger.io/api/v3/openapi.json`). + +### Renombrar archivos + +Puede renombrar archivos usando el siguiente comando: + +```bash +mint rename +``` + +Esto es una mejora sobre actualizar el nombre del archivo normalmente, ya que también actualizará todas las referencias al archivo, asegurando que no haya enlaces rotos. + +## Formato + +Mientras desarrolla localmente, recomendamos usar extensiones en su IDE para reconocer y formatear MDX. + +Si usa Cursor, Windsurf o VSCode, recomendamos la extensión [MDX VSCode](https://marketplace.visualstudio.com/items?itemName=unifiedjs.vscode-mdx) para resaltado de sintaxis, y [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) para el formato de código. + +Si usa JetBrains, recomendamos el plugin [MDX IntelliJ IDEA](https://plugins.jetbrains.com/plugin/14944-mdx) para resaltado de sintaxis, y configuración de [Prettier](https://prettier.io/docs/webstorm) para el formato del código. + +## Solución de problemas + + + + Esto puede deberse a una versión desactualizada de node. Intenta lo siguiente: + + 1. Elimina la versión actualmente instalada del CLI de mint:`npm remove -g mint` + 2. Actualiza a Node v19 o superior. + 3. Vuelve a instalar el CLI de mint:`npm install -g mint` + + + + Solution: Go to the root of your device and delete the \~/.mintlify folder. Afterwards, run `mint dev` de nuevo. + + diff --git a/es/integrations/analytics/amplitude.mdx b/es/integrations/analytics/amplitude.mdx new file mode 100644 index 00000000..8a9cacaa --- /dev/null +++ b/es/integrations/analytics/amplitude.mdx @@ -0,0 +1,23 @@ +--- +- title: Amplitude +--- + +Añade lo siguiente a tu archivo `docs.json` para enviar analíticas a Amplitude. + + + ```json Analytics options in docs.json + "integrations": { + "amplitude": { + "apiKey": "required" + } + } + ``` + + ```json Example + "integrations": { + "amplitude": { + "apiKey": "76bb138bf3fbf58186XXX00000" + } + } + ``` + diff --git a/es/integrations/analytics/clearbit.mdx b/es/integrations/analytics/clearbit.mdx new file mode 100644 index 00000000..bbf0194b --- /dev/null +++ b/es/integrations/analytics/clearbit.mdx @@ -0,0 +1,23 @@ +--- +- title: Clearbit +--- + +Añade lo siguiente a tu archivo `docs.json` para enviar analíticas a Clearbit. + + + ```json Analytics options in docs.json + "integrations": { + "clearbit": { + "publicApiKey": "required" + } + } + ``` + + ```json Example + "integrations": { + "clearbit": { + "publicApiKey": "pk_1a1882" + } + } + ``` + diff --git a/es/integrations/analytics/fathom.mdx b/es/integrations/analytics/fathom.mdx new file mode 100644 index 00000000..9adc0b7a --- /dev/null +++ b/es/integrations/analytics/fathom.mdx @@ -0,0 +1,25 @@ +--- +- title: Fathom +--- + +Agrega lo siguiente a tu archivo `docs.json` para enviar analíticas a Fathom. + +Puedes obtener el `siteId` de la configuración de tu script. + + + ```json Analytics options in docs.json + "integrations": { + "fathom": { + "siteId": "required" + } + } + ``` + + ```json Example + "integrations": { + "fathom": { + "siteId": "YSVMSDAY" + } + } + ``` + diff --git a/es/integrations/analytics/google-analytics.mdx b/es/integrations/analytics/google-analytics.mdx new file mode 100644 index 00000000..2db4fc38 --- /dev/null +++ b/es/integrations/analytics/google-analytics.mdx @@ -0,0 +1,43 @@ +--- +- title: Google Analytics 4 +--- + +Necesitará generar un nuevoGA4 propiedad para usar con Mintlify. Los datos recopilados irán al mismo proyecto que sus otros datos de Google Analytics. + +Si está utilizando la versión antigua de Google Analytics, Universal Analytics, aún podrá generar una GA4 propiedad. GA4 los datos son ligeramente diferentes de los datos de UA pero aún se recopilan en el mismo proyecto. + +## Cómo conectar GA4 a Mintlify + +### Crear un flujo web + +Necesitará crear un flujo web para obtener el ID de medición que pondrá en Mintlify. + +Haga clic en el engranaje en la parte inferior izquierda de la pantalla de Google Analytics. Luego haga clic en Flujos de datos. + +![](/images/ga4-web-streams.png) + +Cree un flujo web y ponga la URL de su sitio de documentación de Mintlify como la URL del flujo. + +Su ID de medición se parece a `G-XXXXXXX` y aparecerá en Detalles del flujo inmediatamente después de crear el flujo web. + +### Poner el ID de medición en docs.json + +Agregue su ID de medición a su `docs.json` archivo de la siguiente manera: + +```json docs.json +"integrations": { + "ga4": { + "measurementId": "G-XXXXXXX" + } +} +``` + +### Esperar + +Google Analytics tarda de dos a tres días en mostrar sus datos. + +Puede usar el [Google Analytics Debugger](https://chrome.google.com/webstore/detail/google-analytics-debugger/jnkmfdileelhofjcijamephohjechhna?hl=en) para verificar que los análisis estén habilitados correctamente. La extensión registrará en la consola de su navegador cada vez que GA4 haga una solicitud. + + + Los enlaces de vista previa tienen los análisis desactivados. + diff --git a/es/integrations/analytics/google-tag-manager.mdx b/es/integrations/analytics/google-tag-manager.mdx new file mode 100644 index 00000000..c874fb99 --- /dev/null +++ b/es/integrations/analytics/google-tag-manager.mdx @@ -0,0 +1,25 @@ +--- +- title: Google Tag Manager +--- + +Agregue su ID de etiqueta al `docs.json` archivo y nosotros inyectaremos el script de Google Tag Manager en todas sus páginas. + +Usted es responsable de configurar los banners de consentimiento de cookies con Google Tag Manager si los necesita. + + + ```json Analytics options in docs.json + "integrations": { + "gtm": { + "tagId": "required" + } + } + ``` + + ```json Example + "integrations": { + "gtm": { + "tagId": "GTM-MGBL4PW" + } + } + ``` + diff --git a/es/integrations/analytics/heap.mdx b/es/integrations/analytics/heap.mdx new file mode 100644 index 00000000..754dd608 --- /dev/null +++ b/es/integrations/analytics/heap.mdx @@ -0,0 +1,23 @@ +--- +- title: Heap +--- + +Añade lo siguiente a tu archivo `docs.json` para enviar analíticas a Heap. + + + ```json Analytics options in docs.json + "integrations": { + "heap": { + "appId": "required" + } + } + ``` + + ```json Example + "integrations": { + "heap": { + "appId": "1234567890" + } + } + ``` + diff --git a/es/integrations/analytics/hotjar.mdx b/es/integrations/analytics/hotjar.mdx new file mode 100644 index 00000000..c4a4d15e --- /dev/null +++ b/es/integrations/analytics/hotjar.mdx @@ -0,0 +1,14 @@ +--- +- title: HotJar +--- + +Añade lo siguiente a tu archivo `docs.json` para enviar analíticas a HotJar. + +```json Analytics options in docs.json +"integrations": { + "hotjar": { + "hjid": "required", + "hjsv": "required" + } +} +``` diff --git a/es/integrations/analytics/koala.mdx b/es/integrations/analytics/koala.mdx new file mode 100644 index 00000000..6d24ce29 --- /dev/null +++ b/es/integrations/analytics/koala.mdx @@ -0,0 +1,23 @@ +--- +- title: Koala +--- + +Añade lo siguiente a tu archivo `docs.json` para enviar analíticas a Koala. + + + ```json Analytics options in docs.json + "integrations": { + "koala": { + "publicApiKey": "required" + } + } + ``` + + ```json Example + "integrations": { + "koala": { + "publicApiKey": "pk_1a1882" + } + } + ``` + diff --git a/es/integrations/analytics/logrocket.mdx b/es/integrations/analytics/logrocket.mdx new file mode 100644 index 00000000..23f5c3f7 --- /dev/null +++ b/es/integrations/analytics/logrocket.mdx @@ -0,0 +1,13 @@ +--- +- title: LogRocket +--- + +Añade lo siguiente a tu archivo `docs.json` para enviar analíticas a LogRocket. + +```json Analytics options in docs.json +"integrations": { + "logrocket": { + "apiKey": "required" + } +} +``` diff --git a/es/integrations/analytics/mixpanel.mdx b/es/integrations/analytics/mixpanel.mdx new file mode 100644 index 00000000..f21d7374 --- /dev/null +++ b/es/integrations/analytics/mixpanel.mdx @@ -0,0 +1,13 @@ +--- +- title: Mixpanel +--- + +Añade lo siguiente a tu archivo `docs.json` para enviar analíticas a Mixpanel. + +```json Analytics options in docs.json +"integrations": { + "mixpanel": { + "projectToken": "required" + } +} +``` diff --git a/es/integrations/analytics/overview.mdx b/es/integrations/analytics/overview.mdx new file mode 100644 index 00000000..350d5146 --- /dev/null +++ b/es/integrations/analytics/overview.mdx @@ -0,0 +1,602 @@ +--- +- title: Integraciones de Análisis +- description: Integre con una plataforma de análisis para rastrear eventos +--- + +Enviar automáticamente datos sobre el compromiso con su documentación a su proveedor de análisis de terceros. + +## Todas las Integraciones + + + + + +} + /> + + + + + + +} + /> + + + + + + + + +} + /> + + + + + + + + + + +} + /> + + + + + + + + + + +} + /> + + + + + +} + /> + + + + + +} + /> + + + + + + +} + /> + + + + + + + + + + + + + + + + + + + + + + + + + + + +} + /> + + + + + + + + + + + + + + + + + + + + + + + + + + +} + /> + + + + + + + +} + /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +} + /> + + + + + +} + /> + + + + + + + + +} + /> + + +## Habilitando Análisis + +Establezca sus claves de análisis en `docs.json`. Puede agregar un número ilimitado de integraciones de análisis de forma gratuita. + +La sintaxis para `docs.json` se muestra a continuación. Solo necesita incluir entradas para las plataformas que desea conectar. + +```json Analytics options in docs.json +"integrations": { + "amplitude": { + "apiKey": "required" + }, + "clearbit": { + "publicApiKey": "required" + }, + "cookies": { + "key": "required", + "value": "required" + }, + "fathom": { + "siteId": "required" + }, + "ga4": { + "measurementId": "required" + }, + "gtm": { + "tagId": "required" + }, + "hotjar": { + "hjid": "required", + "hjsv": "required" + }, + "koala": { + "publicApiKey": "required" + }, + "logrocket": { + "appId": "required" + }, + "mixpanel": { + "projectToken": "required" + }, + "pirsch": { + "id": "required" + }, + "plausible": { + "domain": "required" + }, + "posthog": { + "apiKey": "required", + "apiHost": "optional" + }, + "segment": { + "key": "required" + }, + "telemetry": { + "enabled": "boolean" + } +} +``` + +## Preguntas Frecuentes + + + * `expandable_open` + * `expandable_close` + * `accordion_open` + * `accordion_close` + * `header_nav_item_click` + * `cta_click` + * `scroll_to_bottom` + * `search_close` + * `api_playground_call` + * `search_result_click` + * `chat_enter` + * `chat_followup` + * `chat_completed` + * `code_block_copy` + * `chat_shared` + * `thumb_vote` + * `powered_by_mintlify_click` + * `ai_chat_citation_click` + * `ai_chat_feedback_positive_click` + * `ai_chat_feedback_negative_click` + * `pageview` + diff --git a/es/integrations/analytics/pirsch.mdx b/es/integrations/analytics/pirsch.mdx new file mode 100644 index 00000000..c0c643d2 --- /dev/null +++ b/es/integrations/analytics/pirsch.mdx @@ -0,0 +1,25 @@ +--- +- title: Pirsch +--- + +Añade lo siguiente a tu archivo `docs.json` para enviar analíticas a Pirsch. + +Puedes obtener el ID de tu sitio en Configuración > Desarrollador > Código de Identificación. + + + ```json Analytics options in docs.json + "integrations": { + "pirsch": { + "id": "required" + } + } + ``` + + ```json Example + "integrations": { + "pirsch": { + "id": "8Kw7OKxBfswOjnKGZa7P9Day8JmVYwTp" + } + } + ``` + diff --git a/es/integrations/analytics/plausible.mdx b/es/integrations/analytics/plausible.mdx new file mode 100644 index 00000000..f18de5dc --- /dev/null +++ b/es/integrations/analytics/plausible.mdx @@ -0,0 +1,28 @@ +--- +- title: Plausible +--- + +Añade el dominio de tu sitio a `docs.json` para enviar analíticas a Plausible. + + + No incluyas `https://` para el dominio o servidor. + + + + ```json Analytics options in docs.json + "integrations": { + "plausible": { + "domain": "required", + "server": "optional" + } + } + ``` + + ```json Example + "integrations": { + "plausible": { + "domain": "docs.domain.com" + } + } + ``` + diff --git a/es/integrations/analytics/posthog.mdx b/es/integrations/analytics/posthog.mdx new file mode 100644 index 00000000..e023e7b4 --- /dev/null +++ b/es/integrations/analytics/posthog.mdx @@ -0,0 +1,36 @@ +--- +- title: PostHog +--- + +Agrega lo siguiente a tu archivo `docs.json` para enviar análisis a PostHog. + +Solo necesitas incluir `apiHost` si estás alojando PostHog por tu cuenta. Enviamos eventos a `https://app.posthog.com` por defecto. + + + ```json Analytics options in docs.json + "integrations": { + "posthog": { + "apiKey": "YOUR_POSTHOG_PROJECT_API_KEY", + "apiHost": "optional" + } + } + ``` + + ```json Example + "integrations": { + "posthog": { + "apiKey": "phc_TXdpocbYTeZVm5VJmMzHTMrCofBQu3e0kN7HGMNGTVW" + } + } + ``` + + +
+ + + Habilitar los análisis de PostHog deshabilitará los análisis en el panel de control de Mintlify. + + +## Grabaciones de Sesión + +Necesitas agregar la URL de tu sitio web de documentación a los "Dominios autorizados para grabaciones" de Posthog antes de que puedas recibir grabaciones de sesión. La opción para agregar tu URL está en la configuración del proyecto de Posthog. diff --git a/es/integrations/analytics/segment.mdx b/es/integrations/analytics/segment.mdx new file mode 100644 index 00000000..e7592335 --- /dev/null +++ b/es/integrations/analytics/segment.mdx @@ -0,0 +1,23 @@ +--- +- title: Segment +--- + +Añade tu clave de escritura de Segment a tu archivo `docs.json` para enviar analíticas a Segment. + + + ```json Analytics options in docs.json + "integrations": { + "segment": { + "key": "required", + } + } + ``` + + ```json Example + "integrations": { + "segment": { + "key": "nqJxiRG15Y6M594P8Sb8ESEciU3VC2" + } + } + ``` + diff --git a/es/integrations/privacy/osano.mdx b/es/integrations/privacy/osano.mdx new file mode 100644 index 00000000..5275d898 --- /dev/null +++ b/es/integrations/privacy/osano.mdx @@ -0,0 +1,25 @@ +--- +- title: Osano +--- + +Agregue lo siguiente a su archivo`docs.json`para añadir el administrador de consentimiento de cookies[Osano](https://www.osano.com/). + + + ```json Integration options in docs.json + "integrations": { + "osano": "SOURCE" + } + ``` + + ```json Example + "integrations": { + "osano": "https://cmp.osano.com/2sUB2dqwqdkks/8dqwd-dwd86£-4a9b/osano.js" + } + ``` + + +El`SOURCE`se puede encontrar como el valor`src`en el fragmento de código generado por Osano. Siempre comienza con`https://cmp.osano.com/`. + +```html Code snippet from Osano +