blume 1.7.3 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +19 -0
- package/CHANGELOG.md +245 -0
- package/README.md +34 -21
- package/dist/cli/{chunk-vacwm2hv.js → chunk-27g6wdth.js} +2 -2
- package/dist/cli/{chunk-ps4m1xh4.js → chunk-2hn4b8z7.js} +513 -550
- package/dist/cli/chunk-2hn4b8z7.js.map +12 -0
- package/dist/cli/chunk-5shv93fd.js +39 -0
- package/dist/cli/chunk-5shv93fd.js.map +10 -0
- package/dist/cli/chunk-6crbhc3x.js +361 -0
- package/dist/cli/chunk-6crbhc3x.js.map +14 -0
- package/dist/cli/{chunk-8cjtbafj.js → chunk-6hsn950k.js} +109 -383
- package/dist/cli/chunk-6hsn950k.js.map +10 -0
- package/dist/cli/chunk-6vm74dry.js +148 -0
- package/dist/cli/chunk-6vm74dry.js.map +10 -0
- package/dist/cli/{chunk-yg63d42r.js → chunk-79jhk4py.js} +87 -58
- package/dist/cli/chunk-79jhk4py.js.map +35 -0
- package/dist/cli/chunk-82bbrxdn.js +51 -0
- package/dist/cli/chunk-82bbrxdn.js.map +10 -0
- package/dist/cli/chunk-abh8yjkn.js +31 -0
- package/dist/cli/chunk-abh8yjkn.js.map +10 -0
- package/dist/cli/chunk-ah61y8py.js +75 -0
- package/dist/cli/chunk-ah61y8py.js.map +11 -0
- package/dist/cli/{chunk-dwgcp5sm.js → chunk-ce574jw2.js} +1 -1
- package/dist/cli/chunk-ch6g3ar0.js +102 -0
- package/dist/cli/chunk-ch6g3ar0.js.map +10 -0
- package/dist/cli/chunk-dh8cwk36.js +279 -0
- package/dist/cli/chunk-dh8cwk36.js.map +10 -0
- package/dist/cli/{chunk-rqy0s5wh.js → chunk-epjnccmv.js} +17 -16
- package/dist/cli/{chunk-rqy0s5wh.js.map → chunk-epjnccmv.js.map} +3 -3
- package/dist/cli/chunk-f2z5v128.js +97 -0
- package/dist/cli/chunk-f2z5v128.js.map +10 -0
- package/dist/cli/{chunk-2z47ypj8.js → chunk-fa25z98p.js} +16 -3
- package/dist/cli/chunk-fa25z98p.js.map +11 -0
- package/dist/cli/{chunk-1jefwnfs.js → chunk-fs23ddbb.js} +1076 -2592
- package/dist/cli/chunk-fs23ddbb.js.map +35 -0
- package/dist/cli/{chunk-e7f42gdj.js → chunk-fxypxtvm.js} +2 -2
- package/dist/cli/{chunk-bvwwhd84.js → chunk-fz5wtpmh.js} +15 -15
- package/dist/cli/{chunk-bvwwhd84.js.map → chunk-fz5wtpmh.js.map} +1 -1
- package/dist/cli/chunk-hdpx1tax.js +91 -0
- package/dist/cli/chunk-hdpx1tax.js.map +10 -0
- package/dist/cli/{chunk-ct47dqpx.js → chunk-jts8mvcz.js} +67 -7
- package/dist/cli/{chunk-2mzebbbz.js.map → chunk-jts8mvcz.js.map} +6 -4
- package/dist/cli/{chunk-ahnw3kxw.js → chunk-jwyddg7y.js} +27 -22
- package/dist/cli/chunk-jwyddg7y.js.map +15 -0
- package/dist/cli/{chunk-cjtn640a.js → chunk-kdp5q7ke.js} +43 -20
- package/dist/cli/chunk-kdp5q7ke.js.map +10 -0
- package/dist/cli/{chunk-5g0w1e2c.js → chunk-kpf8rrjc.js} +28 -16
- package/dist/cli/{chunk-5g0w1e2c.js.map → chunk-kpf8rrjc.js.map} +4 -4
- package/dist/cli/chunk-m3vmjgmq.js +133 -0
- package/dist/cli/chunk-m3vmjgmq.js.map +10 -0
- package/dist/cli/{chunk-b27xqwn9.js → chunk-mb2919y2.js} +9 -5
- package/dist/cli/chunk-mb2919y2.js.map +10 -0
- package/dist/cli/{chunk-5qk08vmp.js → chunk-q5163e60.js} +133 -54
- package/dist/cli/chunk-q5163e60.js.map +11 -0
- package/dist/cli/chunk-qkqwkpte.js +12437 -0
- package/dist/cli/chunk-qkqwkpte.js.map +182 -0
- package/dist/cli/{chunk-4x36ddpw.js → chunk-qs4q5p4e.js} +81 -87
- package/dist/cli/chunk-qs4q5p4e.js.map +10 -0
- package/dist/cli/{chunk-0xjyb285.js → chunk-qwsrynx5.js} +15 -5
- package/dist/cli/{chunk-0xjyb285.js.map → chunk-qwsrynx5.js.map} +4 -4
- package/dist/cli/chunk-s1p84fyh.js +261 -0
- package/dist/cli/chunk-s1p84fyh.js.map +10 -0
- package/dist/cli/chunk-s6jhgk0q.js +176 -0
- package/dist/cli/chunk-s6jhgk0q.js.map +11 -0
- package/dist/cli/chunk-vtk4a6dg.js +374 -0
- package/dist/cli/chunk-vtk4a6dg.js.map +10 -0
- package/dist/cli/{chunk-k79xp7av.js → chunk-wgm7m9qk.js} +230 -700
- package/dist/cli/chunk-wgm7m9qk.js.map +36 -0
- package/dist/cli/chunk-wm7js3j9.js +145 -0
- package/dist/cli/chunk-wm7js3j9.js.map +11 -0
- package/dist/cli/chunk-yt5n7ppj.js +79 -0
- package/dist/cli/chunk-yt5n7ppj.js.map +10 -0
- package/dist/cli/{chunk-3r45185y.js → chunk-yw7dm696.js} +9 -11
- package/dist/cli/{chunk-3r45185y.js.map → chunk-yw7dm696.js.map} +3 -3
- package/dist/cli/{chunk-nn13znc2.js → chunk-zxcczpyx.js} +1 -1
- package/dist/cli/chunk-zxh4d9vy.js +122 -0
- package/dist/cli/chunk-zxh4d9vy.js.map +11 -0
- package/dist/cli/index.js +214 -57
- package/dist/cli/index.js.map +8 -7
- package/dist/types/ai/agent-readability.d.ts +52 -0
- package/dist/types/ai/ai-catalog.d.ts +42 -0
- package/dist/types/ai/api/paths.d.ts +17 -0
- package/dist/types/ai/api-catalog.d.ts +18 -0
- package/dist/types/ai/ask-context.d.ts +7 -7
- package/dist/types/ai/ask.d.ts +368 -0
- package/dist/types/ai/changelog-markdown.d.ts +2 -0
- package/dist/types/ai/component-markdown.d.ts +2 -2
- package/dist/types/ai/index.d.ts +24 -0
- package/dist/types/ai/link-headers.d.ts +24 -0
- package/dist/types/ai/llms.d.ts +25 -0
- package/dist/types/ai/markdown.d.ts +45 -0
- package/dist/types/ai/mcp/discovery.d.ts +68 -0
- package/dist/types/ai/mcp/tools.d.ts +16 -0
- package/dist/types/ai/openapi-components.d.ts +43 -0
- package/dist/types/ai/relative-links.d.ts +26 -0
- package/dist/types/ai/serializers.d.ts +15 -0
- package/dist/types/ai/skills.d.ts +42 -0
- package/dist/types/ai/tar.d.ts +25 -0
- package/dist/types/ai/visibility.d.ts +17 -0
- package/dist/types/ai/web-bot-auth.d.ts +16 -0
- package/dist/types/analytics/adobe.d.ts +35 -0
- package/dist/types/analytics/amplitude.d.ts +50 -0
- package/dist/types/analytics/clarity.d.ts +31 -0
- package/dist/types/analytics/clearbit.d.ts +29 -0
- package/dist/types/analytics/cloudflare.d.ts +41 -0
- package/dist/types/analytics/fathom.d.ts +41 -0
- package/dist/types/analytics/google-analytics.d.ts +44 -0
- package/dist/types/analytics/google-tag-manager.d.ts +40 -0
- package/dist/types/analytics/head.d.ts +30 -0
- package/dist/types/analytics/heap.d.ts +40 -0
- package/dist/types/analytics/hightouch.d.ts +44 -0
- package/dist/types/analytics/hotjar.d.ts +33 -0
- package/dist/types/analytics/index.d.ts +61 -0
- package/dist/types/analytics/inline.d.ts +17 -0
- package/dist/types/analytics/logrocket.d.ts +44 -0
- package/dist/types/analytics/mixpanel.d.ts +67 -0
- package/dist/types/analytics/pirsch.d.ts +42 -0
- package/dist/types/analytics/plausible.d.ts +56 -0
- package/dist/types/analytics/posthog.d.ts +45 -0
- package/dist/types/analytics/schema.d.ts +320 -0
- package/dist/types/analytics/script.d.ts +46 -0
- package/dist/types/analytics/segment.d.ts +50 -0
- package/dist/types/analytics/vercel.d.ts +48 -0
- package/dist/types/astro/integration.d.ts +76 -0
- package/dist/types/astro/markdown-negotiation.d.ts +23 -0
- package/dist/types/astro/module-types.d.ts +14 -0
- package/dist/types/astro/pages.d.ts +44 -0
- package/dist/types/cli/env.d.ts +12 -0
- package/dist/types/cli/init/scaffold.d.ts +154 -0
- package/dist/types/components/layout/nav-utils.d.ts +11 -0
- package/dist/types/core/adapter.d.ts +47 -0
- package/dist/types/core/api-name.d.ts +7 -0
- package/dist/types/core/changelog-index.d.ts +13 -0
- package/dist/types/core/config-input.d.ts +197 -526
- package/dist/types/core/config.d.ts +61 -35
- package/dist/types/core/content-assets.d.ts +76 -0
- package/dist/types/core/custom-pages.d.ts +33 -0
- package/dist/types/core/data.d.ts +30 -15
- package/dist/types/core/define-components.d.ts +12 -9
- package/dist/types/core/deployment-env.d.ts +6 -11
- package/dist/types/core/frontmatter.d.ts +10 -0
- package/dist/types/core/graph.d.ts +18 -0
- package/dist/types/core/heading-markers.d.ts +54 -0
- package/dist/types/core/i18n-ui.d.ts +12 -10
- package/dist/types/core/i18n.d.ts +87 -0
- package/dist/types/core/includes.d.ts +138 -0
- package/dist/types/core/last-modified.d.ts +47 -0
- package/dist/types/core/links.d.ts +95 -0
- package/dist/types/core/locale-links.d.ts +60 -0
- package/dist/types/core/manifest.d.ts +17 -0
- package/dist/types/core/meta.d.ts +38 -0
- package/dist/types/core/nav-diagnostics.d.ts +26 -0
- package/dist/types/core/navigation.d.ts +6 -0
- package/dist/types/core/node-require.d.ts +19 -0
- package/dist/types/core/package-json.d.ts +13 -0
- package/dist/types/core/probe.d.ts +42 -0
- package/dist/types/core/project-graph.d.ts +51 -0
- package/dist/types/core/project.d.ts +2 -0
- package/dist/types/core/safe-href.d.ts +2 -0
- package/dist/types/core/safe-links.d.ts +26 -0
- package/dist/types/core/schema.d.ts +2284 -454
- package/dist/types/core/site-url.d.ts +16 -0
- package/dist/types/core/sources/assets.d.ts +36 -0
- package/dist/types/core/sources/cache.d.ts +37 -0
- package/dist/types/core/sources/collection.d.ts +28 -0
- package/dist/types/core/sources/contentful-rich-text.d.ts +31 -0
- package/dist/types/core/sources/contentful.d.ts +40 -0
- package/dist/types/core/sources/filesystem.d.ts +24 -0
- package/dist/types/core/sources/github-releases.d.ts +31 -0
- package/dist/types/core/sources/json.d.ts +30 -0
- package/dist/types/core/sources/lexical.d.ts +19 -0
- package/dist/types/core/sources/lower.d.ts +75 -0
- package/dist/types/core/sources/mdx-remote.d.ts +28 -0
- package/dist/types/core/sources/normalize.d.ts +147 -0
- package/dist/types/core/sources/notion.d.ts +131 -0
- package/dist/types/core/sources/obsidian.d.ts +46 -0
- package/dist/types/core/sources/payload.d.ts +39 -0
- package/dist/types/core/sources/portable-text.d.ts +42 -0
- package/dist/types/core/sources/read.d.ts +23 -0
- package/dist/types/core/sources/remote.d.ts +74 -0
- package/dist/types/core/sources/resolve.d.ts +19 -0
- package/dist/types/core/sources/sanity.d.ts +43 -0
- package/dist/types/core/sources/strapi-blocks.d.ts +12 -0
- package/dist/types/core/sources/strapi.d.ts +33 -0
- package/dist/types/core/sources/types.d.ts +7 -0
- package/dist/types/core/sources/watch.d.ts +45 -0
- package/dist/types/core/text-width.d.ts +11 -0
- package/dist/types/core/types.d.ts +15 -1
- package/dist/types/core/unrecognized-keys.d.ts +7 -0
- package/dist/types/core/versions.d.ts +72 -0
- package/dist/types/core/yaml.d.ts +9 -0
- package/dist/types/deploy/adapter-output.d.ts +45 -0
- package/dist/types/deploy/adapters/cloudflare.d.ts +40 -0
- package/dist/types/deploy/adapters/index.d.ts +29 -0
- package/dist/types/deploy/adapters/netlify.d.ts +37 -0
- package/dist/types/deploy/adapters/node.d.ts +37 -0
- package/dist/types/deploy/adapters/registry.d.ts +133 -0
- package/dist/types/deploy/adapters/types.d.ts +71 -0
- package/dist/types/deploy/adapters/vercel.d.ts +38 -0
- package/dist/types/deploy/artifacts.d.ts +65 -0
- package/dist/types/deploy/cloudflare-negotiation.d.ts +196 -0
- package/dist/types/deploy/function-bundle.d.ts +80 -0
- package/dist/types/deploy/headers.d.ts +50 -0
- package/dist/types/deploy/node-headers.d.ts +42 -0
- package/dist/types/deploy/platforms/cloudflare.d.ts +40 -0
- package/dist/types/deploy/platforms/index.d.ts +18 -0
- package/dist/types/deploy/platforms/netlify.d.ts +13 -0
- package/dist/types/deploy/platforms/node.d.ts +11 -0
- package/dist/types/deploy/platforms/paths.d.ts +27 -0
- package/dist/types/deploy/platforms/static.d.ts +10 -0
- package/dist/types/deploy/platforms/types.d.ts +104 -0
- package/dist/types/deploy/platforms/vercel.d.ts +32 -0
- package/dist/types/deploy/redirects.d.ts +53 -0
- package/dist/types/deploy/robots.d.ts +8 -0
- package/dist/types/deploy/rss.d.ts +31 -0
- package/dist/types/deploy/sitemap.d.ts +21 -0
- package/dist/types/deploy/vercel-negotiation.d.ts +109 -0
- package/dist/types/markdown/code-title.d.ts +32 -0
- package/dist/types/markdown/fence-meta.d.ts +23 -0
- package/dist/types/markdown/themes.d.ts +3 -3
- package/dist/types/openapi/asyncapi.d.ts +129 -0
- package/dist/types/openapi/graphql-build.d.ts +8 -0
- package/dist/types/openapi/graphql.d.ts +122 -0
- package/dist/types/openapi/model.d.ts +158 -0
- package/dist/types/openapi/parse.d.ts +57 -0
- package/dist/types/openapi/references.d.ts +37 -25
- package/dist/types/openapi/render-mdx.d.ts +33 -0
- package/dist/types/openapi/sentence.d.ts +7 -0
- package/dist/types/openapi/signature.d.ts +10 -0
- package/dist/types/openapi/source.d.ts +22 -0
- package/dist/types/openapi/spec-dependency-error.d.ts +10 -0
- package/dist/types/reference/asyncapi.d.ts +166 -0
- package/dist/types/reference/graphql.d.ts +181 -0
- package/dist/types/reference/index.d.ts +32 -0
- package/dist/types/reference/openapi.d.ts +165 -0
- package/dist/types/reference/options.d.ts +157 -0
- package/dist/types/reference/scalar.d.ts +136 -0
- package/dist/types/reference/schema.d.ts +630 -0
- package/dist/types/search/adapters/algolia.d.ts +32 -0
- package/dist/types/search/adapters/flexsearch.d.ts +12 -0
- package/dist/types/search/adapters/index.d.ts +31 -0
- package/dist/types/search/adapters/mixedbread.d.ts +22 -0
- package/dist/types/search/adapters/orama-cloud.d.ts +33 -0
- package/dist/types/search/adapters/orama.d.ts +13 -0
- package/dist/types/search/adapters/pagefind.d.ts +12 -0
- package/dist/types/search/adapters/registry.d.ts +228 -0
- package/dist/types/search/adapters/types.d.ts +34 -0
- package/dist/types/search/adapters/typesense.d.ts +42 -0
- package/dist/types/search/build.d.ts +23 -0
- package/dist/types/search/documents.d.ts +90 -0
- package/dist/types/search/facets.d.ts +3 -0
- package/dist/types/search/orama-index.d.ts +1 -1
- package/dist/types/search/sync/algolia.d.ts +14 -0
- package/dist/types/search/sync/index.d.ts +14 -0
- package/dist/types/search/sync/orama-cloud.d.ts +10 -0
- package/dist/types/search/sync/typesense.d.ts +14 -0
- package/dist/types/sources/contentful.d.ts +68 -0
- package/dist/types/sources/custom.d.ts +20 -0
- package/dist/types/sources/filesystem.d.ts +42 -0
- package/dist/types/sources/github-releases.d.ts +46 -0
- package/dist/types/sources/index.d.ts +48 -0
- package/dist/types/sources/mdx-remote.d.ts +63 -0
- package/dist/types/sources/notion.d.ts +65 -0
- package/dist/types/sources/obsidian.d.ts +34 -0
- package/dist/types/sources/payload.d.ts +68 -0
- package/dist/types/sources/registry.d.ts +1414 -0
- package/dist/types/sources/sanity.d.ts +69 -0
- package/dist/types/sources/shared.d.ts +46 -0
- package/dist/types/sources/strapi.d.ts +66 -0
- package/dist/types/theme/icon-kind.d.ts +11 -0
- package/dist/types/theme/icons.d.ts +20 -0
- package/docs/01-quickstart.mdx +18 -18
- package/docs/02-deployment.mdx +52 -28
- package/docs/03-upgrading.mdx +364 -0
- package/docs/04-migrating.mdx +58 -0
- package/docs/08-faq.mdx +5 -5
- package/docs/advanced/blog.mdx +13 -6
- package/docs/advanced/changelog.mdx +23 -35
- package/docs/advanced/custom-pages.mdx +22 -10
- package/docs/advanced/meta.ts +1 -8
- package/docs/advanced/skills.mdx +8 -0
- package/docs/cli/audit.mdx +646 -0
- package/docs/cli/doctor.mdx +29 -0
- package/docs/{reference/eval.mdx → cli/evals.mdx} +12 -11
- package/docs/cli/index.mdx +105 -0
- package/docs/cli/meta.ts +7 -0
- package/docs/{reference → cli}/translate.mdx +9 -9
- package/docs/cli/validate.mdx +41 -0
- package/docs/cli/version.mdx +40 -0
- package/docs/configuration/analytics.mdx +350 -59
- package/docs/configuration/assistant.mdx +357 -0
- package/docs/configuration/customization.mdx +16 -10
- package/docs/configuration/index.mdx +50 -31
- package/docs/configuration/meta.ts +1 -1
- package/docs/configuration/search.mdx +76 -55
- package/docs/configuration/theming.mdx +24 -15
- package/docs/content/components.mdx +21 -5
- package/docs/{reference → content}/frontmatter.mdx +35 -1
- package/docs/content/i18n.mdx +9 -7
- package/docs/content/includes.mdx +2 -4
- package/docs/content/index.mdx +1 -1
- package/docs/content/islands.mdx +11 -6
- package/docs/content/meta.mdx +1 -1
- package/docs/content/meta.ts +1 -0
- package/docs/content/navigation.mdx +9 -7
- package/docs/content/sources.mdx +145 -50
- package/docs/content/syntax.mdx +16 -12
- package/docs/content/versioning.mdx +3 -3
- package/docs/discoverability/agent-discovery.mdx +12 -12
- package/docs/discoverability/index.mdx +4 -4
- package/docs/discoverability/json-api.mdx +4 -4
- package/docs/discoverability/llms-txt.mdx +6 -6
- package/docs/discoverability/markdown.mdx +4 -4
- package/docs/discoverability/mcp.mdx +11 -11
- package/docs/discoverability/sitemap-and-robots.mdx +3 -3
- package/docs/index.mdx +4 -4
- package/docs/references/asyncapi.mdx +59 -0
- package/docs/{advanced → references}/graphql.mdx +45 -32
- package/docs/{reference → references}/meta.ts +2 -2
- package/docs/references/openapi.mdx +171 -0
- package/docs/references/scalar.mdx +64 -0
- package/package.json +42 -8
- package/skills/blume/SKILL.md +23 -10
- package/skills/blume-migrate/SKILL.md +22 -21
- package/skills/blume-migrate/assets/oxfmt@0.67.0.patch +49 -0
- package/skills/blume-migrate/references/docusaurus.md +5 -4
- package/skills/blume-migrate/references/fumadocs.md +4 -4
- package/skills/blume-migrate/references/mintlify.md +23 -8
- package/skills/blume-migrate/references/monorepo.md +6 -6
- package/skills/blume-migrate/references/starlight.md +4 -4
- package/src/ai/agent-readability.ts +25 -26
- package/src/ai/ai-catalog.ts +50 -32
- package/src/ai/api/handlers.ts +46 -11
- package/src/ai/api/paths.ts +1 -1
- package/src/ai/api-catalog.ts +8 -8
- package/src/ai/ask-context.ts +7 -7
- package/src/ai/ask-data.ts +3 -3
- package/src/ai/ask.ts +637 -100
- package/src/ai/changelog-markdown.ts +91 -0
- package/src/ai/component-markdown.ts +328 -12
- package/src/ai/cors.ts +3 -3
- package/src/ai/index.ts +45 -0
- package/src/ai/link-headers.ts +7 -6
- package/src/ai/llms.ts +20 -15
- package/src/ai/markdown.ts +35 -5
- package/src/ai/mcp/data.ts +9 -5
- package/src/ai/openapi-components.ts +5 -2
- package/src/ai/relative-links.ts +170 -0
- package/src/ai/serializers.ts +3 -3
- package/src/ai/skills.ts +1 -1
- package/src/ai/visibility.ts +1 -1
- package/src/ai/web-bot-auth.ts +2 -2
- package/src/analytics/adobe.ts +46 -0
- package/src/analytics/amplitude.ts +79 -0
- package/src/analytics/clarity.ts +46 -0
- package/src/analytics/clearbit.ts +47 -0
- package/src/analytics/cloudflare.ts +67 -0
- package/src/analytics/fathom.ts +64 -0
- package/src/analytics/google-analytics.ts +84 -0
- package/src/analytics/google-tag-manager.ts +61 -0
- package/src/analytics/head.ts +130 -0
- package/src/analytics/heap.ts +65 -0
- package/src/analytics/hightouch.ts +77 -0
- package/src/analytics/hotjar.ts +47 -0
- package/src/analytics/index.ts +71 -0
- package/src/analytics/inline.ts +21 -0
- package/src/analytics/logrocket.ts +71 -0
- package/src/analytics/mixpanel.ts +92 -0
- package/src/analytics/pirsch.ts +66 -0
- package/src/analytics/plausible.ts +83 -0
- package/src/analytics/posthog.ts +78 -0
- package/src/analytics/schema.ts +60 -0
- package/src/analytics/script.ts +60 -0
- package/src/analytics/segment.ts +85 -0
- package/src/analytics/vercel.ts +50 -0
- package/src/astro/adapter-root.ts +7 -9
- package/src/astro/component-slots.ts +131 -91
- package/src/astro/generate.ts +129 -361
- package/src/astro/integration.ts +2 -6
- package/src/astro/module-types.ts +1 -1
- package/src/astro/pages.ts +13 -101
- package/src/astro/render-deps.ts +379 -0
- package/src/astro/runtime-deps.ts +201 -0
- package/src/astro/templates.ts +575 -562
- package/src/audit/agent.ts +24 -0
- package/src/audit/catalog.ts +2 -2
- package/src/audit/checks/assets.ts +2 -2
- package/src/audit/checks/dns-aid.ts +1 -1
- package/src/audit/checks/duplicates.ts +3 -1
- package/src/audit/checks/i18n.ts +1 -1
- package/src/audit/checks/indexability.ts +7 -7
- package/src/audit/checks/links.ts +2 -2
- package/src/audit/checks/llms.ts +6 -6
- package/src/audit/checks/network.ts +3 -3
- package/src/audit/checks/og-image.ts +2 -2
- package/src/audit/checks/robots.ts +1 -1
- package/src/audit/checks/sitemap.ts +2 -2
- package/src/audit/checks/social.ts +1 -1
- package/src/audit/run.ts +4 -3
- package/src/audit/terms.ts +31 -0
- package/src/audit/url.ts +13 -13
- package/src/blume-modules.d.ts +2 -2
- package/src/cli/command-meta.ts +10 -0
- package/src/cli/commands/audit.ts +40 -21
- package/src/cli/commands/build.ts +71 -316
- package/src/cli/commands/check.ts +1 -0
- package/src/cli/commands/dev.ts +40 -1
- package/src/cli/commands/doctor.ts +92 -14
- package/src/cli/commands/eject.ts +44 -7
- package/src/cli/commands/eval.ts +5 -5
- package/src/cli/commands/init.ts +161 -41
- package/src/cli/commands/migrate.ts +121 -0
- package/src/cli/commands/preview.ts +7 -1
- package/src/cli/commands/translate.ts +5 -5
- package/src/cli/commands/upgrade.ts +141 -0
- package/src/cli/commands/version.ts +57 -44
- package/src/cli/eject-scripts.ts +121 -6
- package/src/cli/index.ts +11 -1
- package/src/cli/init/install.ts +70 -0
- package/src/cli/init/questions.ts +7 -0
- package/src/cli/init/scaffold.ts +459 -75
- package/src/cli/lazy-command.ts +37 -1
- package/src/cli/prepare.ts +40 -6
- package/src/cli/required-secrets.ts +39 -12
- package/src/cli/unknown-flags.ts +266 -0
- package/src/cli/yarn-pnp.ts +52 -0
- package/src/components/content/AccordionItem.astro +7 -1
- package/src/components/content/Card.astro +4 -3
- package/src/components/content/ColorItem.astro +22 -4
- package/src/components/content/GithubInfo.astro +2 -2
- package/src/components/content/Prompt.astro +25 -25
- package/src/components/content/Tabs.astro +3 -1
- package/src/components/content/Tile.astro +2 -3
- package/src/components/content/Tooltip.astro +57 -9
- package/src/components/content/content-strings.ts +34 -0
- package/src/components/content/diff.ts +1 -1
- package/src/components/content/mermaid-element.ts +13 -2
- package/src/components/content/prompt-markdown.ts +292 -0
- package/src/components/content/tooltip-id.ts +41 -0
- package/src/components/copy-feedback.ts +1 -1
- package/src/components/islands/{AskAI.astro → Assistant.astro} +10 -10
- package/src/components/islands/{ask-ai.tsx → assistant.tsx} +23 -23
- package/src/components/islands/hooks.ts +36 -11
- package/src/components/layout/Analytics.astro +21 -79
- package/src/components/layout/Banner.astro +3 -1
- package/src/components/layout/DiscoveryLinks.astro +69 -0
- package/src/components/layout/Header.astro +93 -30
- package/src/components/layout/LanguageSwitcher.astro +4 -1
- package/src/components/layout/Logo.astro +23 -2
- package/src/components/layout/NavSelector.astro +13 -2
- package/src/components/layout/NavTree.astro +12 -3
- package/src/components/layout/NavTreeScript.astro +17 -3
- package/src/components/layout/PageActions.astro +3 -3
- package/src/components/layout/PageFeedback.astro +11 -1
- package/src/components/layout/PageLayout.astro +58 -11
- package/src/components/layout/Pagination.astro +7 -7
- package/src/components/layout/ReferenceLayout.astro +22 -13
- package/src/components/layout/RootLayout.astro +75 -72
- package/src/components/layout/Search.astro +43 -19
- package/src/components/layout/WebMcp.astro +1 -1
- package/src/components/layout/analytics-client.ts +73 -16
- package/src/components/layout/drawer-inert.ts +113 -15
- package/src/components/layout/dropdown-clamp.ts +105 -0
- package/src/components/layout/head-scripts.ts +15 -6
- package/src/components/layout/nav-utils.ts +17 -0
- package/src/components/layout/search/algolia.ts +8 -8
- package/src/components/layout/search/orama-cloud.ts +9 -7
- package/src/components/layout/search/typesense.ts +11 -17
- package/src/components/openapi/MessageComposer.astro +2 -2
- package/src/components/openapi/Playground.astro +2 -2
- package/src/components/openapi/description.ts +2 -2
- package/src/components/openapi/playground-client.ts +79 -10
- package/src/core/changelog-index.ts +24 -0
- package/src/core/code-fences.ts +1 -1
- package/src/core/component-overrides.ts +399 -154
- package/src/core/config-input.ts +201 -566
- package/src/core/config.ts +131 -42
- package/src/core/custom-pages.ts +105 -0
- package/src/core/data.ts +34 -15
- package/src/core/define-components.ts +12 -9
- package/src/core/deployment-env.ts +18 -74
- package/src/core/diagnostics.ts +14 -7
- package/src/core/graph.ts +69 -25
- package/src/core/i18n-ui.ts +41 -11
- package/src/core/i18n.ts +17 -0
- package/src/core/includes.ts +156 -38
- package/src/core/last-modified.ts +6 -11
- package/src/core/links.ts +166 -2
- package/src/core/manifest.ts +10 -3
- package/src/core/navigation.ts +115 -16
- package/src/core/new-tab.ts +35 -0
- package/src/core/node-require.ts +21 -0
- package/src/core/project-graph.ts +42 -26
- package/src/core/project.ts +9 -4
- package/src/core/request-body.ts +61 -0
- package/src/core/safe-href.ts +28 -0
- package/src/core/safe-links.ts +68 -0
- package/src/core/schema.ts +528 -745
- package/src/core/server-features.ts +10 -11
- package/src/core/sources/assets.ts +47 -11
- package/src/core/sources/collection.ts +67 -0
- package/src/core/sources/contentful-rich-text.ts +285 -0
- package/src/core/sources/contentful.ts +173 -0
- package/src/core/sources/github-releases.ts +51 -1
- package/src/core/sources/json.ts +71 -0
- package/src/core/sources/lexical.ts +195 -0
- package/src/core/sources/lower.ts +226 -0
- package/src/core/sources/normalize.ts +52 -2
- package/src/core/sources/notion.ts +39 -28
- package/src/core/sources/payload.ts +135 -0
- package/src/core/sources/portable-text.ts +11 -16
- package/src/core/sources/remote.ts +226 -0
- package/src/core/sources/resolve.ts +104 -166
- package/src/core/sources/sanity.ts +16 -49
- package/src/core/sources/strapi-blocks.ts +124 -0
- package/src/core/sources/strapi.ts +191 -0
- package/src/core/sources/types.ts +12 -1
- package/src/core/types.ts +15 -1
- package/src/core/ui-packs/ar.ts +10 -7
- package/src/core/ui-packs/bg.ts +10 -7
- package/src/core/ui-packs/bn.ts +10 -7
- package/src/core/ui-packs/ca.ts +7 -6
- package/src/core/ui-packs/cs.ts +10 -7
- package/src/core/ui-packs/da.ts +10 -7
- package/src/core/ui-packs/de.ts +10 -7
- package/src/core/ui-packs/el.ts +7 -6
- package/src/core/ui-packs/es.ts +7 -6
- package/src/core/ui-packs/fa.ts +10 -7
- package/src/core/ui-packs/fi.ts +10 -7
- package/src/core/ui-packs/fr.ts +7 -6
- package/src/core/ui-packs/he.ts +10 -7
- package/src/core/ui-packs/hi.ts +10 -7
- package/src/core/ui-packs/hr.ts +10 -7
- package/src/core/ui-packs/hu.ts +10 -7
- package/src/core/ui-packs/id.ts +10 -7
- package/src/core/ui-packs/it.ts +7 -6
- package/src/core/ui-packs/ja.ts +7 -6
- package/src/core/ui-packs/ko.ts +7 -6
- package/src/core/ui-packs/nl.ts +10 -7
- package/src/core/ui-packs/no.ts +10 -7
- package/src/core/ui-packs/pl.ts +10 -7
- package/src/core/ui-packs/pt-br.ts +7 -6
- package/src/core/ui-packs/pt.ts +7 -6
- package/src/core/ui-packs/ro.ts +10 -7
- package/src/core/ui-packs/ru.ts +10 -7
- package/src/core/ui-packs/sk.ts +10 -7
- package/src/core/ui-packs/sr.ts +10 -7
- package/src/core/ui-packs/sv.ts +10 -7
- package/src/core/ui-packs/th.ts +7 -6
- package/src/core/ui-packs/tr.ts +10 -7
- package/src/core/ui-packs/uk.ts +10 -7
- package/src/core/ui-packs/vi.ts +7 -6
- package/src/core/ui-packs/zh-tw.ts +7 -6
- package/src/core/ui-packs/zh.ts +7 -6
- package/src/core/unrecognized-keys.ts +10 -0
- package/src/core/version-cut.ts +116 -8
- package/src/deploy/adapter-output.ts +57 -97
- package/src/deploy/adapters/cloudflare.ts +39 -0
- package/src/deploy/adapters/index.ts +41 -0
- package/src/deploy/adapters/netlify.ts +34 -0
- package/src/deploy/adapters/node.ts +34 -0
- package/src/deploy/adapters/registry.ts +127 -0
- package/src/deploy/adapters/types.ts +92 -0
- package/src/deploy/adapters/vercel.ts +35 -0
- package/src/deploy/artifacts.ts +55 -27
- package/src/deploy/cloudflare-negotiation.ts +179 -100
- package/src/deploy/function-bundle.ts +18 -3
- package/src/deploy/headers.ts +124 -23
- package/src/deploy/node-headers.ts +198 -0
- package/src/deploy/platforms/cloudflare.ts +312 -0
- package/src/deploy/platforms/index.ts +67 -0
- package/src/deploy/platforms/netlify.ts +52 -0
- package/src/deploy/platforms/node.ts +40 -0
- package/src/deploy/platforms/paths.ts +42 -0
- package/src/deploy/platforms/static.ts +29 -0
- package/src/deploy/platforms/types.ts +112 -0
- package/src/deploy/platforms/vercel.ts +193 -0
- package/src/deploy/redirects.ts +30 -18
- package/src/deploy/robots.ts +3 -3
- package/src/deploy/rss.ts +2 -2
- package/src/deploy/sitemap.ts +2 -2
- package/src/deploy/vercel-negotiation.ts +2 -2
- package/src/eval/agents.ts +32 -1
- package/src/eval/findings.ts +19 -11
- package/src/eval/report.ts +10 -2
- package/src/markdown/external-links.ts +65 -0
- package/src/markdown/include.ts +45 -27
- package/src/markdown/index.ts +34 -9
- package/src/markdown/inline-code.ts +12 -6
- package/src/markdown/relative-links.ts +324 -0
- package/src/markdown/themes.ts +3 -3
- package/src/migrate/migrate.ts +149 -0
- package/src/openapi/parse.ts +64 -16
- package/src/openapi/proxy.ts +62 -10
- package/src/openapi/references.ts +147 -147
- package/src/openapi/render-mdx.ts +32 -10
- package/src/openapi/scalar.ts +15 -13
- package/src/openapi/sentence.ts +14 -0
- package/src/openapi/source.ts +37 -21
- package/src/openapi/spec-dependency-error.ts +15 -0
- package/src/reference/asyncapi.ts +83 -0
- package/src/reference/graphql.ts +89 -0
- package/src/reference/index.ts +40 -0
- package/src/reference/openapi.ts +83 -0
- package/src/reference/options.ts +201 -0
- package/src/reference/scalar.ts +136 -0
- package/src/reference/schema.ts +88 -0
- package/src/registry/eject.ts +109 -53
- package/src/search/adapters/algolia.ts +46 -0
- package/src/search/adapters/flexsearch.ts +29 -0
- package/src/search/adapters/index.ts +39 -0
- package/src/search/adapters/mixedbread.ts +39 -0
- package/src/search/adapters/orama-cloud.ts +51 -0
- package/src/search/adapters/orama.ts +24 -0
- package/src/search/adapters/pagefind.ts +27 -0
- package/src/search/adapters/registry.ts +131 -0
- package/src/search/adapters/types.ts +46 -0
- package/src/search/adapters/typesense.ts +57 -0
- package/src/search/build.ts +8 -4
- package/src/search/documents.ts +8 -2
- package/src/search/orama-index.ts +1 -1
- package/src/search/sync/algolia.ts +12 -11
- package/src/search/sync/index.ts +35 -20
- package/src/search/sync/orama-cloud.ts +12 -9
- package/src/search/sync/typesense.ts +15 -13
- package/src/sources/contentful.ts +63 -0
- package/src/sources/custom.ts +38 -0
- package/src/sources/filesystem.ts +51 -0
- package/src/sources/github-releases.ts +52 -0
- package/src/sources/index.ts +60 -0
- package/src/sources/mdx-remote.ts +76 -0
- package/src/sources/notion.ts +63 -0
- package/src/sources/obsidian.ts +38 -0
- package/src/sources/payload.ts +60 -0
- package/src/sources/registry.ts +182 -0
- package/src/sources/sanity.ts +66 -0
- package/src/sources/shared.ts +52 -0
- package/src/sources/strapi.ts +58 -0
- package/src/theme/entry.ts +24 -2
- package/src/translate/report.ts +40 -7
- package/src/upgrade/upgrade.ts +499 -0
- package/dist/cli/chunk-0qymqwzz.js +0 -164
- package/dist/cli/chunk-0qymqwzz.js.map +0 -15
- package/dist/cli/chunk-1jefwnfs.js.map +0 -48
- package/dist/cli/chunk-2mzebbbz.js +0 -69
- package/dist/cli/chunk-2z47ypj8.js.map +0 -11
- package/dist/cli/chunk-4x36ddpw.js.map +0 -11
- package/dist/cli/chunk-5093q3n7.js +0 -68
- package/dist/cli/chunk-5093q3n7.js.map +0 -10
- package/dist/cli/chunk-5qk08vmp.js.map +0 -11
- package/dist/cli/chunk-7s8hm3b6.js +0 -5347
- package/dist/cli/chunk-7s8hm3b6.js.map +0 -58
- package/dist/cli/chunk-8cjtbafj.js.map +0 -13
- package/dist/cli/chunk-97r59kpr.js +0 -381
- package/dist/cli/chunk-97r59kpr.js.map +0 -12
- package/dist/cli/chunk-ahnw3kxw.js.map +0 -15
- package/dist/cli/chunk-b27xqwn9.js.map +0 -10
- package/dist/cli/chunk-bf6bt1xt.js +0 -185
- package/dist/cli/chunk-bf6bt1xt.js.map +0 -11
- package/dist/cli/chunk-cjtn640a.js.map +0 -10
- package/dist/cli/chunk-ct47dqpx.js.map +0 -11
- package/dist/cli/chunk-esphfr8p.js +0 -107
- package/dist/cli/chunk-esphfr8p.js.map +0 -11
- package/dist/cli/chunk-ex56aa81.js +0 -1016
- package/dist/cli/chunk-ex56aa81.js.map +0 -13
- package/dist/cli/chunk-garjf5z9.js +0 -30
- package/dist/cli/chunk-garjf5z9.js.map +0 -10
- package/dist/cli/chunk-js7saxwm.js +0 -1045
- package/dist/cli/chunk-js7saxwm.js.map +0 -22
- package/dist/cli/chunk-k79xp7av.js.map +0 -39
- package/dist/cli/chunk-ps4m1xh4.js.map +0 -15
- package/dist/cli/chunk-q4rae3bg.js +0 -60
- package/dist/cli/chunk-q4rae3bg.js.map +0 -10
- package/dist/cli/chunk-rz9jmfhz.js +0 -108
- package/dist/cli/chunk-rz9jmfhz.js.map +0 -10
- package/dist/cli/chunk-vh9w1sgp.js +0 -73
- package/dist/cli/chunk-vh9w1sgp.js.map +0 -10
- package/dist/cli/chunk-vrfp10qk.js +0 -81
- package/dist/cli/chunk-vrfp10qk.js.map +0 -10
- package/dist/cli/chunk-yg63d42r.js.map +0 -34
- package/docs/advanced/api-reference.mdx +0 -240
- package/docs/configuration/ask-ai.mdx +0 -256
- package/docs/reference/cli.mdx +0 -197
- package/skills/blume-migrate/assets/oxfmt@0.55.0.patch +0 -20
- package/src/components/content/changelog-element.ts +0 -69
- package/src/search/providers.ts +0 -91
- /package/dist/cli/{chunk-vacwm2hv.js.map → chunk-27g6wdth.js.map} +0 -0
- /package/dist/cli/{chunk-dwgcp5sm.js.map → chunk-ce574jw2.js.map} +0 -0
- /package/dist/cli/{chunk-e7f42gdj.js.map → chunk-fxypxtvm.js.map} +0 -0
- /package/dist/cli/{chunk-nn13znc2.js.map → chunk-zxcczpyx.js.map} +0 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import type { JsonObject } from "./json.ts";
|
|
2
|
+
import { asNumber, asObject, asString, getPath, objectsIn } from "./json.ts";
|
|
3
|
+
import type { RemoteFieldMap, RestClient } from "./remote.ts";
|
|
4
|
+
import {
|
|
5
|
+
documentEntry,
|
|
6
|
+
fetchJson,
|
|
7
|
+
queryString,
|
|
8
|
+
remoteSource,
|
|
9
|
+
} from "./remote.ts";
|
|
10
|
+
import { strapiBlocksToMarkdown } from "./strapi-blocks.ts";
|
|
11
|
+
import type { ContentSource, SourceContext, SourceEntry } from "./types.ts";
|
|
12
|
+
|
|
13
|
+
export interface StrapiSourceOptions {
|
|
14
|
+
name: string;
|
|
15
|
+
prefix?: string;
|
|
16
|
+
/** The Strapi origin (`https://cms.acme.dev`); its REST API is at `/api`. */
|
|
17
|
+
url: string;
|
|
18
|
+
/** The content type's plural API id (`articles`). */
|
|
19
|
+
contentType: string;
|
|
20
|
+
/** Locale code to fetch, for a localized content type. */
|
|
21
|
+
locale?: string;
|
|
22
|
+
/** The `populate` parameter; default `*`, which fills media and relations. */
|
|
23
|
+
populate?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Field paths mapping an entry onto Blume meta + body. Defaults:
|
|
26
|
+
* `title`, `description`, `slug`, `content`, `updatedAt`.
|
|
27
|
+
*/
|
|
28
|
+
fields?: RemoteFieldMap;
|
|
29
|
+
/** Extra query parameters for the request (`filters[...]`, `sort`). */
|
|
30
|
+
params?: Record<string, string>;
|
|
31
|
+
/** API token; defaults to `STRAPI_API_TOKEN`. */
|
|
32
|
+
token?: string;
|
|
33
|
+
/** Opt-in dev polling interval (seconds); omit to freeze for the session. */
|
|
34
|
+
pollInterval?: number;
|
|
35
|
+
/** Injected for tests; defaults to the global `fetch`. */
|
|
36
|
+
fetchImpl?: typeof fetch;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const PAGE_SIZE = 100;
|
|
40
|
+
|
|
41
|
+
const DEFAULT_FIELDS: Required<RemoteFieldMap> = {
|
|
42
|
+
body: "content",
|
|
43
|
+
description: "description",
|
|
44
|
+
lastModified: "updatedAt",
|
|
45
|
+
slug: "slug",
|
|
46
|
+
title: "title",
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* The entry as a flat document. Strapi 5 returns fields at the top level
|
|
51
|
+
* beside `documentId`; Strapi 4 wraps them in `attributes` under a numeric
|
|
52
|
+
* `id`, and that envelope is flattened so the same field paths apply.
|
|
53
|
+
*/
|
|
54
|
+
const flatten = (item: JsonObject): JsonObject => {
|
|
55
|
+
const attributes = asObject(item.attributes);
|
|
56
|
+
return attributes ? { ...attributes, id: item.id ?? null } : item;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
const idOf = (doc: JsonObject): string => {
|
|
60
|
+
const raw = doc.documentId ?? doc.id;
|
|
61
|
+
return asString(raw) ?? String(asNumber(raw) ?? "");
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
/** Every entry one query returns, across its pages, flattened. */
|
|
65
|
+
interface StrapiListing {
|
|
66
|
+
docs: JsonObject[];
|
|
67
|
+
/** Whether any entry came in Strapi 4's `attributes` envelope. */
|
|
68
|
+
v4: boolean;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/** Strapi 4 marks an unpublished entry with a null `publishedAt`. */
|
|
72
|
+
const unpublished = (doc: JsonObject): boolean => doc.publishedAt === null;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Strapi content source. Pages through a content type's REST endpoint, maps
|
|
76
|
+
* each entry's fields to frontmatter, and lowers its Blocks body to
|
|
77
|
+
* Markdown. Published entries only, unless `--preview` asks for drafts.
|
|
78
|
+
*/
|
|
79
|
+
export const strapiSource = (
|
|
80
|
+
options: StrapiSourceOptions,
|
|
81
|
+
ctx?: SourceContext
|
|
82
|
+
): ContentSource => {
|
|
83
|
+
const fields = { ...DEFAULT_FIELDS, ...options.fields };
|
|
84
|
+
const origin = options.url.replace(/\/+$/u, "");
|
|
85
|
+
|
|
86
|
+
const fetchEntries = async (): Promise<SourceEntry[]> => {
|
|
87
|
+
const token = options.token ?? process.env.STRAPI_API_TOKEN;
|
|
88
|
+
const client: RestClient = {
|
|
89
|
+
fetchImpl: options.fetchImpl,
|
|
90
|
+
headers: token ? { authorization: `Bearer ${token}` } : {},
|
|
91
|
+
};
|
|
92
|
+
const base = `${origin}/api/${options.contentType}`;
|
|
93
|
+
|
|
94
|
+
const list = async (
|
|
95
|
+
publication: Record<string, string>
|
|
96
|
+
): Promise<StrapiListing> => {
|
|
97
|
+
const listing: StrapiListing = { docs: [], v4: false };
|
|
98
|
+
let page = 1;
|
|
99
|
+
let more = true;
|
|
100
|
+
while (more) {
|
|
101
|
+
// The user's params go first so the paging controls always win — a
|
|
102
|
+
// `params` key that shadowed them would refetch the same page forever.
|
|
103
|
+
const query = queryString({
|
|
104
|
+
...options.params,
|
|
105
|
+
locale: options.locale,
|
|
106
|
+
"pagination[pageSize]": String(PAGE_SIZE),
|
|
107
|
+
"pagination[page]": String(page),
|
|
108
|
+
populate: options.populate ?? "*",
|
|
109
|
+
...publication,
|
|
110
|
+
});
|
|
111
|
+
// oxlint-disable-next-line no-await-in-loop -- pages are sequential: each response says whether another exists.
|
|
112
|
+
const result = asObject(await fetchJson(`${base}?${query}`, client));
|
|
113
|
+
if (!result) {
|
|
114
|
+
throw new Error("Strapi returned a non-object response");
|
|
115
|
+
}
|
|
116
|
+
const items = objectsIn(result.data);
|
|
117
|
+
for (const item of items) {
|
|
118
|
+
listing.v4 ||= asObject(item.attributes) !== undefined;
|
|
119
|
+
listing.docs.push(flatten(item));
|
|
120
|
+
}
|
|
121
|
+
const pageCount =
|
|
122
|
+
asNumber(getPath(result, "meta.pagination.pageCount")) ?? 1;
|
|
123
|
+
more = items.length > 0 && page < pageCount;
|
|
124
|
+
page += 1;
|
|
125
|
+
}
|
|
126
|
+
return listing;
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
const toEntries = (
|
|
130
|
+
docs: JsonObject[],
|
|
131
|
+
isDraft: (doc: JsonObject) => boolean
|
|
132
|
+
): SourceEntry[] =>
|
|
133
|
+
docs.map((doc) =>
|
|
134
|
+
documentEntry(
|
|
135
|
+
doc,
|
|
136
|
+
fields,
|
|
137
|
+
idOf(doc),
|
|
138
|
+
(body) => strapiBlocksToMarkdown(body, { baseUrl: origin }),
|
|
139
|
+
isDraft(doc)
|
|
140
|
+
)
|
|
141
|
+
);
|
|
142
|
+
|
|
143
|
+
// The default publication state is the published one in both Strapi 4
|
|
144
|
+
// and 5, and its response shape says which version is answering.
|
|
145
|
+
const published = await list({});
|
|
146
|
+
if (!ctx?.preview) {
|
|
147
|
+
return toEntries(published.docs, () => false);
|
|
148
|
+
}
|
|
149
|
+
// Strapi 4 previews with `publicationState=preview`, which returns drafts
|
|
150
|
+
// and published entries together, a draft's `publishedAt` being null.
|
|
151
|
+
if (published.v4) {
|
|
152
|
+
const previewed = await list({ publicationState: "preview" });
|
|
153
|
+
return toEntries(previewed.docs, unpublished);
|
|
154
|
+
}
|
|
155
|
+
// Strapi 5 answers `status=draft` with the draft version of every
|
|
156
|
+
// document, `publishedAt` null even when a published version exists, so a
|
|
157
|
+
// document is a draft only when it has no published version.
|
|
158
|
+
const drafts = await list({ status: "draft" });
|
|
159
|
+
if (drafts.docs.length === 0 && published.docs.length === 0) {
|
|
160
|
+
// Strapi 4 ignores `status`, so a Strapi 4 content type holding only
|
|
161
|
+
// drafts reads as empty on both requests. Ask with its own parameter;
|
|
162
|
+
// Strapi 5 either ignores it or rejects it (`strictParams`), and in
|
|
163
|
+
// both cases has nothing more to return.
|
|
164
|
+
const previewed = await list({ publicationState: "preview" }).catch(
|
|
165
|
+
() => null
|
|
166
|
+
);
|
|
167
|
+
return previewed ? toEntries(previewed.docs, unpublished) : [];
|
|
168
|
+
}
|
|
169
|
+
const publishedIds = new Set(published.docs.map(idOf));
|
|
170
|
+
const draftIds = new Set(drafts.docs.map(idOf));
|
|
171
|
+
// A published document with no draft version (a content type without
|
|
172
|
+
// Draft & Publish) still belongs in the preview.
|
|
173
|
+
return [
|
|
174
|
+
...toEntries(drafts.docs, (doc) => !publishedIds.has(idOf(doc))),
|
|
175
|
+
...toEntries(
|
|
176
|
+
published.docs.filter((doc) => !draftIds.has(idOf(doc))),
|
|
177
|
+
() => false
|
|
178
|
+
),
|
|
179
|
+
];
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
return remoteSource(
|
|
183
|
+
{
|
|
184
|
+
fetchEntries,
|
|
185
|
+
name: options.name,
|
|
186
|
+
pollInterval: options.pollInterval,
|
|
187
|
+
prefix: options.prefix,
|
|
188
|
+
},
|
|
189
|
+
ctx
|
|
190
|
+
);
|
|
191
|
+
};
|
|
@@ -117,6 +117,12 @@ export interface ContentSource {
|
|
|
117
117
|
readonly staged: boolean;
|
|
118
118
|
/** Optional route prefix; the source's routes namespace under `/<prefix>/`. */
|
|
119
119
|
readonly prefix?: string;
|
|
120
|
+
/**
|
|
121
|
+
* True for a source whose entries exist in one language and can never be
|
|
122
|
+
* translated (GitHub Releases). Its pages render without a language
|
|
123
|
+
* switcher, since every other locale would only repeat the same text.
|
|
124
|
+
*/
|
|
125
|
+
readonly monolingual?: boolean;
|
|
120
126
|
/**
|
|
121
127
|
* Resolved on-disk root, set by sources whose entries live on disk. For
|
|
122
128
|
* filesystem sources it drives folder-meta discovery (scan under this root)
|
|
@@ -141,7 +147,12 @@ export interface ContentSource {
|
|
|
141
147
|
|
|
142
148
|
/** Context passed to `normalizeEntry`, describing the owning source. */
|
|
143
149
|
export interface NormalizeContext {
|
|
144
|
-
source: {
|
|
150
|
+
source: {
|
|
151
|
+
monolingual?: boolean;
|
|
152
|
+
name: string;
|
|
153
|
+
prefix?: string;
|
|
154
|
+
staged: boolean;
|
|
155
|
+
};
|
|
145
156
|
/** Site-wide route mount point (`""` or `/seg`), prepended to every route. */
|
|
146
157
|
basePath?: string;
|
|
147
158
|
defaultType: string;
|
package/src/core/types.ts
CHANGED
|
@@ -154,6 +154,11 @@ export interface PageRecord {
|
|
|
154
154
|
* checks skip these.
|
|
155
155
|
*/
|
|
156
156
|
fallback?: boolean;
|
|
157
|
+
/**
|
|
158
|
+
* True for pages from a source that publishes one language only (GitHub
|
|
159
|
+
* Releases): they render without a language switcher.
|
|
160
|
+
*/
|
|
161
|
+
monolingual?: boolean;
|
|
157
162
|
/**
|
|
158
163
|
* Content-relative path with the leading locale directory stripped, used for
|
|
159
164
|
* sidebar grouping so the locale dir is not surfaced as a nav group. Equals
|
|
@@ -313,6 +318,13 @@ export interface Navigation {
|
|
|
313
318
|
featured: FeaturedLink[];
|
|
314
319
|
/** Repo URL for the header link, or null when hidden (`navigation.repo`). */
|
|
315
320
|
repoUrl?: string | null;
|
|
321
|
+
/**
|
|
322
|
+
* Where the header's brand link points in this locale: `logo.href` moved
|
|
323
|
+
* into the locale's prefix when the locale serves that route, else left on
|
|
324
|
+
* the default route (a custom home page exists only at `/`). Set on i18n
|
|
325
|
+
* locale trees.
|
|
326
|
+
*/
|
|
327
|
+
brandHref?: string;
|
|
316
328
|
}
|
|
317
329
|
|
|
318
330
|
/** The full content graph: the source of truth for generated modules. */
|
|
@@ -399,6 +411,8 @@ export interface RouteManifestEntry {
|
|
|
399
411
|
versionAlternates: VersionAlternate[];
|
|
400
412
|
/** True when this route renders fallback content for a missing translation. */
|
|
401
413
|
fallback?: boolean;
|
|
414
|
+
/** True when the page's source publishes one language only (no switcher). */
|
|
415
|
+
monolingual?: boolean;
|
|
402
416
|
/** Resolved "last updated" ISO date, when the feature is enabled. */
|
|
403
417
|
lastModified?: string;
|
|
404
418
|
}
|
|
@@ -409,6 +423,6 @@ export interface BlumeManifest {
|
|
|
409
423
|
blumeVersion: string;
|
|
410
424
|
projectRoot: string;
|
|
411
425
|
contentRoot: string;
|
|
412
|
-
output: ResolvedConfig["deployment"]["output"];
|
|
426
|
+
output: ResolvedConfig["deployment"]["options"]["output"];
|
|
413
427
|
routes: RouteManifestEntry[];
|
|
414
428
|
}
|
package/src/core/ui-packs/ar.ts
CHANGED
|
@@ -5,7 +5,6 @@ export const ar: UIStringsOverride = {
|
|
|
5
5
|
actions: {
|
|
6
6
|
addToCursor: "إضافة إلى Cursor",
|
|
7
7
|
addToVscode: "إضافة إلى VS Code",
|
|
8
|
-
askAI: "اسأل الذكاء الاصطناعي عن هذه الصفحة",
|
|
9
8
|
connectMcp: "الاتصال بـ MCP",
|
|
10
9
|
copied: "تم النسخ!",
|
|
11
10
|
copyClaudeCode: "نسخ أمر Claude Code",
|
|
@@ -24,7 +23,7 @@ export const ar: UIStringsOverride = {
|
|
|
24
23
|
openInChatPrompt: "اقرأ {url} حتى أتمكن من طرح أسئلة حول هذه الصفحة.",
|
|
25
24
|
scrollToTop: "العودة إلى الأعلى",
|
|
26
25
|
},
|
|
27
|
-
|
|
26
|
+
assistant: {
|
|
28
27
|
ai: "الذكاء الاصطناعي",
|
|
29
28
|
clear: "مسح المحادثة",
|
|
30
29
|
close: "إغلاق",
|
|
@@ -35,16 +34,19 @@ export const ar: UIStringsOverride = {
|
|
|
35
34
|
placeholder: "اطرح سؤالاً…",
|
|
36
35
|
send: "إرسال",
|
|
37
36
|
tip: "نصيحة: يمكنك فتح المحادثة وإغلاقها باستخدام",
|
|
38
|
-
title: "
|
|
37
|
+
title: "المساعد",
|
|
39
38
|
you: "أنت",
|
|
40
39
|
},
|
|
41
40
|
banner: { dismiss: "إغلاق الإعلان" },
|
|
42
41
|
changelog: {
|
|
43
42
|
description: "تحديثات المنتج وملاحظات الإصدارات.",
|
|
44
|
-
showReleases: "عرض إصدارات {version}",
|
|
45
43
|
title: "سجل التغييرات",
|
|
46
44
|
},
|
|
47
|
-
content: {
|
|
45
|
+
content: {
|
|
46
|
+
copyColor: "نسخ اللون {name} {value}",
|
|
47
|
+
copyPrompt: "نسخ الموجّه",
|
|
48
|
+
diagramError: "تعذّر عرض هذا المخطط.",
|
|
49
|
+
},
|
|
48
50
|
feedback: {
|
|
49
51
|
no: "لا",
|
|
50
52
|
question: "هل كانت هذه الصفحة مفيدة؟",
|
|
@@ -60,6 +62,7 @@ export const ar: UIStringsOverride = {
|
|
|
60
62
|
featured: "مميز",
|
|
61
63
|
githubRepository: "مستودع GitHub",
|
|
62
64
|
navigation: "التنقل",
|
|
65
|
+
opensInNewTab: "يفتح في علامة تبويب جديدة",
|
|
63
66
|
primary: "رئيسي",
|
|
64
67
|
sections: "الأقسام",
|
|
65
68
|
toggleNavigation: "تبديل التنقل",
|
|
@@ -80,8 +83,8 @@ export const ar: UIStringsOverride = {
|
|
|
80
83
|
search: {
|
|
81
84
|
all: "الكل",
|
|
82
85
|
allLanguages: "جميع اللغات",
|
|
83
|
-
|
|
84
|
-
|
|
86
|
+
assistant: "المساعد",
|
|
87
|
+
assistantHint: "احصل على إجابة فورية من الذكاء الاصطناعي",
|
|
85
88
|
button: "بحث",
|
|
86
89
|
devOnly: "البحث متاح في إصدار الإنتاج.",
|
|
87
90
|
error: "حدث خطأ ما. يرجى المحاولة مرة أخرى.",
|
package/src/core/ui-packs/bg.ts
CHANGED
|
@@ -5,7 +5,6 @@ export const bg: UIStringsOverride = {
|
|
|
5
5
|
actions: {
|
|
6
6
|
addToCursor: "Добави в Cursor",
|
|
7
7
|
addToVscode: "Добави във VS Code",
|
|
8
|
-
askAI: "Попитай ИИ за тази страница",
|
|
9
8
|
connectMcp: "Свържи се с MCP",
|
|
10
9
|
copied: "Копирано!",
|
|
11
10
|
copyClaudeCode: "Копирай командата на Claude Code",
|
|
@@ -25,7 +24,7 @@ export const bg: UIStringsOverride = {
|
|
|
25
24
|
"Прочетете {url}, за да мога да задавам въпроси за тази страница.",
|
|
26
25
|
scrollToTop: "Нагоре",
|
|
27
26
|
},
|
|
28
|
-
|
|
27
|
+
assistant: {
|
|
29
28
|
ai: "ИИ",
|
|
30
29
|
clear: "Изчисти разговора",
|
|
31
30
|
close: "Затвори",
|
|
@@ -36,16 +35,19 @@ export const bg: UIStringsOverride = {
|
|
|
36
35
|
placeholder: "Задайте въпрос…",
|
|
37
36
|
send: "Изпрати",
|
|
38
37
|
tip: "Съвет: Можете да отваряте и затваряте чата с",
|
|
39
|
-
title: "
|
|
38
|
+
title: "Асистент",
|
|
40
39
|
you: "Вие",
|
|
41
40
|
},
|
|
42
41
|
banner: { dismiss: "Затваряне на съобщението" },
|
|
43
42
|
changelog: {
|
|
44
43
|
description: "Актуализации на продукта и бележки към изданията.",
|
|
45
|
-
showReleases: "Покажи изданията на {version}",
|
|
46
44
|
title: "Дневник на промените",
|
|
47
45
|
},
|
|
48
|
-
content: {
|
|
46
|
+
content: {
|
|
47
|
+
copyColor: "Копирай цвета {name} {value}",
|
|
48
|
+
copyPrompt: "Копирай подканата",
|
|
49
|
+
diagramError: "Тази диаграма не можа да бъде показана.",
|
|
50
|
+
},
|
|
49
51
|
feedback: {
|
|
50
52
|
no: "Не",
|
|
51
53
|
question: "Беше ли полезна тази страница?",
|
|
@@ -61,6 +63,7 @@ export const bg: UIStringsOverride = {
|
|
|
61
63
|
featured: "Препоръчано",
|
|
62
64
|
githubRepository: "Хранилище в GitHub",
|
|
63
65
|
navigation: "Навигация",
|
|
66
|
+
opensInNewTab: "Отваря се в нов раздел",
|
|
64
67
|
primary: "Основно",
|
|
65
68
|
sections: "Раздели",
|
|
66
69
|
toggleNavigation: "Превключи навигацията",
|
|
@@ -81,8 +84,8 @@ export const bg: UIStringsOverride = {
|
|
|
81
84
|
search: {
|
|
82
85
|
all: "Всички",
|
|
83
86
|
allLanguages: "Всички езици",
|
|
84
|
-
|
|
85
|
-
|
|
87
|
+
assistant: "Асистент",
|
|
88
|
+
assistantHint: "Получете незабавен отговор от ИИ",
|
|
86
89
|
button: "Търсене",
|
|
87
90
|
devOnly: "Търсенето е достъпно в производствената компилация.",
|
|
88
91
|
error: "Нещо се обърка. Моля, опитайте отново.",
|
package/src/core/ui-packs/bn.ts
CHANGED
|
@@ -5,7 +5,6 @@ export const bn: UIStringsOverride = {
|
|
|
5
5
|
actions: {
|
|
6
6
|
addToCursor: "Cursor-এ যোগ করুন",
|
|
7
7
|
addToVscode: "VS Code-এ যোগ করুন",
|
|
8
|
-
askAI: "এই পৃষ্ঠা সম্পর্কে AI-কে জিজ্ঞাসা করুন",
|
|
9
8
|
connectMcp: "MCP-তে সংযোগ করুন",
|
|
10
9
|
copied: "অনুলিপি করা হয়েছে!",
|
|
11
10
|
copyClaudeCode: "Claude Code কমান্ড অনুলিপি করুন",
|
|
@@ -24,7 +23,7 @@ export const bn: UIStringsOverride = {
|
|
|
24
23
|
openInChatPrompt: "{url} পড়ুন, যাতে আমি এই পৃষ্ঠা সম্পর্কে প্রশ্ন করতে পারি।",
|
|
25
24
|
scrollToTop: "উপরে যান",
|
|
26
25
|
},
|
|
27
|
-
|
|
26
|
+
assistant: {
|
|
28
27
|
ai: "AI",
|
|
29
28
|
clear: "কথোপকথন মুছুন",
|
|
30
29
|
close: "বন্ধ করুন",
|
|
@@ -35,16 +34,19 @@ export const bn: UIStringsOverride = {
|
|
|
35
34
|
placeholder: "একটি প্রশ্ন করুন…",
|
|
36
35
|
send: "পাঠান",
|
|
37
36
|
tip: "টিপ: চ্যাট খুলতে ও বন্ধ করতে চাপুন",
|
|
38
|
-
title: "
|
|
37
|
+
title: "সহকারী",
|
|
39
38
|
you: "আপনি",
|
|
40
39
|
},
|
|
41
40
|
banner: { dismiss: "ঘোষণা বন্ধ করুন" },
|
|
42
41
|
changelog: {
|
|
43
42
|
description: "পণ্য আপডেট এবং রিলিজ নোট।",
|
|
44
|
-
showReleases: "{version} রিলিজ দেখান",
|
|
45
43
|
title: "পরিবর্তন লগ",
|
|
46
44
|
},
|
|
47
|
-
content: {
|
|
45
|
+
content: {
|
|
46
|
+
copyColor: "{name} রং {value} অনুলিপি করুন",
|
|
47
|
+
copyPrompt: "প্রম্পট অনুলিপি করুন",
|
|
48
|
+
diagramError: "এই ডায়াগ্রামটি রেন্ডার করা যায়নি।",
|
|
49
|
+
},
|
|
48
50
|
feedback: {
|
|
49
51
|
no: "না",
|
|
50
52
|
question: "এই পৃষ্ঠাটি কি সহায়ক ছিল?",
|
|
@@ -60,6 +62,7 @@ export const bn: UIStringsOverride = {
|
|
|
60
62
|
featured: "ফিচার্ড",
|
|
61
63
|
githubRepository: "GitHub রিপোজিটরি",
|
|
62
64
|
navigation: "নেভিগেশন",
|
|
65
|
+
opensInNewTab: "নতুন ট্যাবে খোলে",
|
|
63
66
|
primary: "প্রধান",
|
|
64
67
|
sections: "বিভাগসমূহ",
|
|
65
68
|
toggleNavigation: "নেভিগেশন টগল করুন",
|
|
@@ -80,8 +83,8 @@ export const bn: UIStringsOverride = {
|
|
|
80
83
|
search: {
|
|
81
84
|
all: "সব",
|
|
82
85
|
allLanguages: "সব ভাষা",
|
|
83
|
-
|
|
84
|
-
|
|
86
|
+
assistant: "সহকারী",
|
|
87
|
+
assistantHint: "AI থেকে তাৎক্ষণিক উত্তর পান",
|
|
85
88
|
button: "অনুসন্ধান",
|
|
86
89
|
devOnly: "অনুসন্ধান প্রোডাকশন বিল্ডে উপলব্ধ।",
|
|
87
90
|
error: "কিছু একটা ভুল হয়েছে। অনুগ্রহ করে আবার চেষ্টা করুন।",
|
package/src/core/ui-packs/ca.ts
CHANGED
|
@@ -5,7 +5,6 @@ export const ca: UIStringsOverride = {
|
|
|
5
5
|
actions: {
|
|
6
6
|
addToCursor: "Afegeix a Cursor",
|
|
7
7
|
addToVscode: "Afegeix a VS Code",
|
|
8
|
-
askAI: "Pregunta a la IA sobre aquesta pàgina",
|
|
9
8
|
connectMcp: "Connecta a MCP",
|
|
10
9
|
copied: "Copiat!",
|
|
11
10
|
copyClaudeCode: "Copia l'ordre de Claude Code",
|
|
@@ -25,7 +24,7 @@ export const ca: UIStringsOverride = {
|
|
|
25
24
|
"Llegeix {url} perquè pugui fer-te preguntes sobre aquesta pàgina.",
|
|
26
25
|
scrollToTop: "Torna a dalt",
|
|
27
26
|
},
|
|
28
|
-
|
|
27
|
+
assistant: {
|
|
29
28
|
ai: "IA",
|
|
30
29
|
clear: "Esborra la conversa",
|
|
31
30
|
close: "Tanca",
|
|
@@ -36,16 +35,17 @@ export const ca: UIStringsOverride = {
|
|
|
36
35
|
placeholder: "Fes una pregunta…",
|
|
37
36
|
send: "Envia",
|
|
38
37
|
tip: "Consell: pots obrir i tancar el xat amb",
|
|
39
|
-
title: "
|
|
38
|
+
title: "Assistent",
|
|
40
39
|
you: "Tu",
|
|
41
40
|
},
|
|
42
41
|
banner: { dismiss: "Tanca l'anunci" },
|
|
43
42
|
changelog: {
|
|
44
43
|
description: "Actualitzacions del producte i notes de la versió.",
|
|
45
|
-
showReleases: "Mostra les versions {version}",
|
|
46
44
|
title: "Registre de canvis",
|
|
47
45
|
},
|
|
48
46
|
content: {
|
|
47
|
+
copyColor: "Copia el color {name} {value}",
|
|
48
|
+
copyPrompt: "Copia la indicació",
|
|
49
49
|
diagramError: "No s'ha pogut mostrar aquest diagrama.",
|
|
50
50
|
},
|
|
51
51
|
feedback: {
|
|
@@ -63,6 +63,7 @@ export const ca: UIStringsOverride = {
|
|
|
63
63
|
featured: "Destacat",
|
|
64
64
|
githubRepository: "Repositori de GitHub",
|
|
65
65
|
navigation: "Navegació",
|
|
66
|
+
opensInNewTab: "S'obre en una pestanya nova",
|
|
66
67
|
primary: "Principal",
|
|
67
68
|
sections: "Seccions",
|
|
68
69
|
toggleNavigation: "Mostra o amaga la navegació",
|
|
@@ -83,8 +84,8 @@ export const ca: UIStringsOverride = {
|
|
|
83
84
|
search: {
|
|
84
85
|
all: "Tots",
|
|
85
86
|
allLanguages: "Tots els idiomes",
|
|
86
|
-
|
|
87
|
-
|
|
87
|
+
assistant: "Assistent",
|
|
88
|
+
assistantHint: "Obtén una resposta instantània de la IA",
|
|
88
89
|
button: "Cerca",
|
|
89
90
|
devOnly: "La cerca està disponible a la compilació de producció.",
|
|
90
91
|
error: "Alguna cosa ha anat malament. Torna-ho a provar.",
|
package/src/core/ui-packs/cs.ts
CHANGED
|
@@ -5,7 +5,6 @@ export const cs: UIStringsOverride = {
|
|
|
5
5
|
actions: {
|
|
6
6
|
addToCursor: "Přidat do Cursoru",
|
|
7
7
|
addToVscode: "Přidat do VS Code",
|
|
8
|
-
askAI: "Zeptat se AI na tuto stránku",
|
|
9
8
|
connectMcp: "Připojit k MCP",
|
|
10
9
|
copied: "Zkopírováno!",
|
|
11
10
|
copyClaudeCode: "Kopírovat příkaz Claude Code",
|
|
@@ -24,7 +23,7 @@ export const cs: UIStringsOverride = {
|
|
|
24
23
|
openInChatPrompt: "Přečtěte si {url}, ať se mohu ptát na tuto stránku.",
|
|
25
24
|
scrollToTop: "Zpět nahoru",
|
|
26
25
|
},
|
|
27
|
-
|
|
26
|
+
assistant: {
|
|
28
27
|
ai: "AI",
|
|
29
28
|
clear: "Vymazat konverzaci",
|
|
30
29
|
close: "Zavřít",
|
|
@@ -35,16 +34,19 @@ export const cs: UIStringsOverride = {
|
|
|
35
34
|
placeholder: "Položit otázku…",
|
|
36
35
|
send: "Odeslat",
|
|
37
36
|
tip: "Tip: Chat můžete otevřít a zavřít pomocí",
|
|
38
|
-
title: "
|
|
37
|
+
title: "Asistent",
|
|
39
38
|
you: "Vy",
|
|
40
39
|
},
|
|
41
40
|
banner: { dismiss: "Zavřít oznámení" },
|
|
42
41
|
changelog: {
|
|
43
42
|
description: "Novinky produktu a poznámky k vydání.",
|
|
44
|
-
showReleases: "Zobrazit vydání {version}",
|
|
45
43
|
title: "Seznam změn",
|
|
46
44
|
},
|
|
47
|
-
content: {
|
|
45
|
+
content: {
|
|
46
|
+
copyColor: "Kopírovat barvu {name} {value}",
|
|
47
|
+
copyPrompt: "Kopírovat prompt",
|
|
48
|
+
diagramError: "Tento diagram se nepodařilo vykreslit.",
|
|
49
|
+
},
|
|
48
50
|
feedback: {
|
|
49
51
|
no: "Ne",
|
|
50
52
|
question: "Byla tato stránka užitečná?",
|
|
@@ -60,6 +62,7 @@ export const cs: UIStringsOverride = {
|
|
|
60
62
|
featured: "Doporučené",
|
|
61
63
|
githubRepository: "Repozitář na GitHubu",
|
|
62
64
|
navigation: "Navigace",
|
|
65
|
+
opensInNewTab: "Otevře se na nové kartě",
|
|
63
66
|
primary: "Hlavní",
|
|
64
67
|
sections: "Sekce",
|
|
65
68
|
toggleNavigation: "Přepnout navigaci",
|
|
@@ -80,8 +83,8 @@ export const cs: UIStringsOverride = {
|
|
|
80
83
|
search: {
|
|
81
84
|
all: "Vše",
|
|
82
85
|
allLanguages: "Všechny jazyky",
|
|
83
|
-
|
|
84
|
-
|
|
86
|
+
assistant: "Asistent",
|
|
87
|
+
assistantHint: "Získejte okamžitou odpověď od AI",
|
|
85
88
|
button: "Hledat",
|
|
86
89
|
devOnly: "Vyhledávání je dostupné v produkčním buildu.",
|
|
87
90
|
error: "Něco se pokazilo. Zkuste to prosím znovu.",
|
package/src/core/ui-packs/da.ts
CHANGED
|
@@ -5,7 +5,6 @@ export const da: UIStringsOverride = {
|
|
|
5
5
|
actions: {
|
|
6
6
|
addToCursor: "Føj til Cursor",
|
|
7
7
|
addToVscode: "Føj til VS Code",
|
|
8
|
-
askAI: "Spørg AI om denne side",
|
|
9
8
|
connectMcp: "Opret forbindelse til MCP",
|
|
10
9
|
copied: "Kopieret!",
|
|
11
10
|
copyClaudeCode: "Kopiér Claude Code-kommando",
|
|
@@ -24,7 +23,7 @@ export const da: UIStringsOverride = {
|
|
|
24
23
|
openInChatPrompt: "Læs {url}, så jeg kan stille spørgsmål om denne side.",
|
|
25
24
|
scrollToTop: "Tilbage til toppen",
|
|
26
25
|
},
|
|
27
|
-
|
|
26
|
+
assistant: {
|
|
28
27
|
ai: "AI",
|
|
29
28
|
clear: "Ryd samtalen",
|
|
30
29
|
close: "Luk",
|
|
@@ -35,16 +34,19 @@ export const da: UIStringsOverride = {
|
|
|
35
34
|
placeholder: "Stil et spørgsmål…",
|
|
36
35
|
send: "Send",
|
|
37
36
|
tip: "Tip: Du kan åbne og lukke chatten med",
|
|
38
|
-
title: "
|
|
37
|
+
title: "Assistent",
|
|
39
38
|
you: "Du",
|
|
40
39
|
},
|
|
41
40
|
banner: { dismiss: "Luk meddelelsen" },
|
|
42
41
|
changelog: {
|
|
43
42
|
description: "Produktopdateringer og udgivelsesnoter.",
|
|
44
|
-
showReleases: "Vis udgivelser for {version}",
|
|
45
43
|
title: "Ændringslog",
|
|
46
44
|
},
|
|
47
|
-
content: {
|
|
45
|
+
content: {
|
|
46
|
+
copyColor: "Kopiér farven {name} {value}",
|
|
47
|
+
copyPrompt: "Kopiér prompt",
|
|
48
|
+
diagramError: "Dette diagram kunne ikke vises.",
|
|
49
|
+
},
|
|
48
50
|
feedback: {
|
|
49
51
|
no: "Nej",
|
|
50
52
|
question: "Var denne side nyttig?",
|
|
@@ -60,6 +62,7 @@ export const da: UIStringsOverride = {
|
|
|
60
62
|
featured: "Udvalgt",
|
|
61
63
|
githubRepository: "GitHub-repositorium",
|
|
62
64
|
navigation: "Navigation",
|
|
65
|
+
opensInNewTab: "Åbner i en ny fane",
|
|
63
66
|
primary: "Primær",
|
|
64
67
|
sections: "Sektioner",
|
|
65
68
|
toggleNavigation: "Vis eller skjul navigationen",
|
|
@@ -80,8 +83,8 @@ export const da: UIStringsOverride = {
|
|
|
80
83
|
search: {
|
|
81
84
|
all: "Alle",
|
|
82
85
|
allLanguages: "Alle sprog",
|
|
83
|
-
|
|
84
|
-
|
|
86
|
+
assistant: "Assistent",
|
|
87
|
+
assistantHint: "Få et øjeblikkeligt svar fra AI",
|
|
85
88
|
button: "Søg",
|
|
86
89
|
devOnly: "Søgning er tilgængelig i produktionsbygningen.",
|
|
87
90
|
error: "Noget gik galt. Prøv igen.",
|
package/src/core/ui-packs/de.ts
CHANGED
|
@@ -5,7 +5,6 @@ export const de: UIStringsOverride = {
|
|
|
5
5
|
actions: {
|
|
6
6
|
addToCursor: "Zu Cursor hinzufügen",
|
|
7
7
|
addToVscode: "Zu VS Code hinzufügen",
|
|
8
|
-
askAI: "KI zu dieser Seite fragen",
|
|
9
8
|
connectMcp: "Mit MCP verbinden",
|
|
10
9
|
copied: "Kopiert!",
|
|
11
10
|
copyClaudeCode: "Claude-Code-Befehl kopieren",
|
|
@@ -25,7 +24,7 @@ export const de: UIStringsOverride = {
|
|
|
25
24
|
"Lies {url}, damit ich dir Fragen zu dieser Seite stellen kann.",
|
|
26
25
|
scrollToTop: "Nach oben scrollen",
|
|
27
26
|
},
|
|
28
|
-
|
|
27
|
+
assistant: {
|
|
29
28
|
ai: "KI",
|
|
30
29
|
clear: "Unterhaltung löschen",
|
|
31
30
|
close: "Schließen",
|
|
@@ -36,16 +35,19 @@ export const de: UIStringsOverride = {
|
|
|
36
35
|
placeholder: "Eine Frage stellen…",
|
|
37
36
|
send: "Senden",
|
|
38
37
|
tip: "Tipp: Du kannst den Chat öffnen und schließen mit",
|
|
39
|
-
title: "
|
|
38
|
+
title: "Assistent",
|
|
40
39
|
you: "Du",
|
|
41
40
|
},
|
|
42
41
|
banner: { dismiss: "Ankündigung schließen" },
|
|
43
42
|
changelog: {
|
|
44
43
|
description: "Produkt-Updates und Versionshinweise.",
|
|
45
|
-
showReleases: "Releases für {version} anzeigen",
|
|
46
44
|
title: "Änderungsprotokoll",
|
|
47
45
|
},
|
|
48
|
-
content: {
|
|
46
|
+
content: {
|
|
47
|
+
copyColor: "Farbe {name} {value} kopieren",
|
|
48
|
+
copyPrompt: "Prompt kopieren",
|
|
49
|
+
diagramError: "Dieses Diagramm konnte nicht dargestellt werden.",
|
|
50
|
+
},
|
|
49
51
|
feedback: {
|
|
50
52
|
no: "Nein",
|
|
51
53
|
question: "War diese Seite hilfreich?",
|
|
@@ -61,6 +63,7 @@ export const de: UIStringsOverride = {
|
|
|
61
63
|
featured: "Empfohlen",
|
|
62
64
|
githubRepository: "GitHub-Repository",
|
|
63
65
|
navigation: "Navigation",
|
|
66
|
+
opensInNewTab: "Öffnet sich in einem neuen Tab",
|
|
64
67
|
primary: "Primär",
|
|
65
68
|
sections: "Abschnitte",
|
|
66
69
|
toggleNavigation: "Navigation umschalten",
|
|
@@ -81,8 +84,8 @@ export const de: UIStringsOverride = {
|
|
|
81
84
|
search: {
|
|
82
85
|
all: "Alle",
|
|
83
86
|
allLanguages: "Alle Sprachen",
|
|
84
|
-
|
|
85
|
-
|
|
87
|
+
assistant: "Assistent",
|
|
88
|
+
assistantHint: "Erhalte sofort eine Antwort von der KI",
|
|
86
89
|
button: "Suchen",
|
|
87
90
|
devOnly: "Die Suche ist im Produktions-Build verfügbar.",
|
|
88
91
|
error: "Etwas ist schiefgelaufen. Bitte versuche es erneut.",
|