@astrojs/starlight 0.41.11 → 0.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/components/MobileMenuToggle.astro +65 -0
- package/{components → dist/components}/PageFrame.astro +32 -8
- package/dist/components-internals/Icons.d.ts +415 -0
- package/dist/components-internals/Icons.js +140 -0
- package/dist/components-internals/SidebarPersistState.d.ts +1 -0
- package/dist/components-internals/SidebarPersistState.js +53 -0
- package/dist/components-internals/TableOfContents/starlight-toc.d.ts +18 -0
- package/dist/components-internals/TableOfContents/starlight-toc.js +88 -0
- package/dist/constants.d.ts +4 -0
- package/dist/constants.js +4 -0
- package/{expressive-code.d.ts → dist/expressive-code.d.ts} +6 -13
- package/dist/expressive-code.js +31 -0
- package/dist/global.d.ts +62 -0
- package/dist/global.js +2 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +109 -0
- package/dist/integrations/aside-utils.d.ts +9 -0
- package/dist/integrations/aside-utils.js +35 -0
- package/dist/integrations/expressive-code/hast.d.ts +1 -0
- package/dist/integrations/expressive-code/hast.js +2 -0
- package/dist/integrations/expressive-code/index.d.ts +60 -0
- package/dist/integrations/expressive-code/index.js +48 -0
- package/dist/integrations/expressive-code/preprocessor.d.ts +17 -0
- package/dist/integrations/expressive-code/preprocessor.js +76 -0
- package/dist/integrations/expressive-code/themes/night-owl-dark.js +4 -0
- package/dist/integrations/expressive-code/themes/night-owl-light.js +4 -0
- package/dist/integrations/expressive-code/theming.d.ts +16 -0
- package/dist/integrations/expressive-code/theming.js +71 -0
- package/dist/integrations/expressive-code/translations.d.ts +8 -0
- package/dist/integrations/expressive-code/translations.js +26 -0
- package/dist/integrations/markdown-icon.d.ts +8 -0
- package/dist/integrations/markdown-icon.js +14 -0
- package/dist/integrations/markdown-plugins.d.ts +18 -0
- package/dist/integrations/markdown-plugins.js +36 -0
- package/dist/integrations/markdown-processor.d.ts +29 -0
- package/dist/integrations/markdown-processor.js +44 -0
- package/dist/integrations/pagefind.d.ts +7 -0
- package/dist/integrations/pagefind.js +34 -0
- package/dist/integrations/rehype-code-rtl-support.d.ts +21 -0
- package/dist/integrations/rehype-code-rtl-support.js +36 -0
- package/dist/integrations/rehype-heading-links.d.ts +10 -0
- package/dist/integrations/rehype-heading-links.js +57 -0
- package/dist/integrations/remark-asides.d.ts +32 -0
- package/dist/integrations/remark-asides.js +166 -0
- package/dist/integrations/remark-rehype.d.ts +17 -0
- package/dist/integrations/remark-rehype.js +51 -0
- package/dist/integrations/satteri.d.ts +13 -0
- package/dist/integrations/satteri.js +209 -0
- package/dist/integrations/shared/absolutePathToLang.d.ts +10 -0
- package/dist/integrations/shared/absolutePathToLang.js +13 -0
- package/dist/integrations/shared/localeToLang.d.ts +10 -0
- package/dist/integrations/shared/localeToLang.js +13 -0
- package/dist/integrations/shared/slugToLocale.d.ts +12 -0
- package/dist/integrations/shared/slugToLocale.js +15 -0
- package/dist/integrations/sitemap.d.ts +12 -0
- package/dist/integrations/sitemap.js +19 -0
- package/dist/integrations/vite-layer-order.d.ts +15 -0
- package/dist/integrations/vite-layer-order.js +56 -0
- package/dist/integrations/vite-lazy-barrel-optimization.d.ts +12 -0
- package/dist/integrations/vite-lazy-barrel-optimization.js +33 -0
- package/dist/integrations/vite-virtual-modules.d.ts +14 -0
- package/dist/integrations/vite-virtual-modules.js +108 -0
- package/dist/internal.d.ts +3 -0
- package/dist/internal.js +3 -0
- package/dist/loaders.d.ts +20 -0
- package/dist/loaders.js +49 -0
- package/dist/locals.d.ts +15 -0
- package/dist/locals.js +33 -0
- package/dist/package.js +4 -0
- package/{props.ts → dist/props.d.ts} +6 -4
- package/dist/props.js +1 -0
- package/dist/route-data.d.ts +7 -0
- package/dist/route-data.js +6 -0
- package/dist/schema.d.ts +426 -0
- package/dist/schema.js +103 -0
- package/dist/schemas/badge.d.ts +86 -0
- package/dist/schemas/badge.js +39 -0
- package/dist/schemas/components.d.ts +236 -0
- package/dist/schemas/components.js +36 -0
- package/dist/schemas/expressiveCode.d.ts +7 -0
- package/dist/schemas/expressiveCode.js +5 -0
- package/dist/schemas/favicon.d.ts +9 -0
- package/dist/schemas/favicon.js +32 -0
- package/dist/schemas/head.d.ts +33 -0
- package/dist/schemas/head.js +41 -0
- package/dist/schemas/hero.d.ts +319 -0
- package/dist/schemas/hero.js +73 -0
- package/dist/schemas/i18n.d.ts +125 -0
- package/dist/schemas/i18n.js +76 -0
- package/dist/schemas/icon.d.ts +284 -0
- package/dist/schemas/icon.js +7 -0
- package/dist/schemas/locale.d.ts +20 -0
- package/dist/schemas/locale.js +11 -0
- package/dist/schemas/logo.d.ts +32 -0
- package/dist/schemas/logo.js +14 -0
- package/dist/schemas/pagefind.d.ts +166 -0
- package/dist/schemas/pagefind.js +31 -0
- package/dist/schemas/prevNextLink.d.ts +10 -0
- package/dist/schemas/prevNextLink.js +14 -0
- package/dist/schemas/sidebar.d.ts +205 -0
- package/dist/schemas/sidebar.js +71 -0
- package/dist/schemas/site-title.d.ts +7 -0
- package/dist/schemas/site-title.js +17 -0
- package/dist/schemas/social.d.ts +292 -0
- package/dist/schemas/social.js +18 -0
- package/dist/schemas/tableOfContents.d.ts +24 -0
- package/dist/schemas/tableOfContents.js +16 -0
- package/dist/translations/ar.js +36 -0
- package/dist/translations/ca.js +46 -0
- package/dist/translations/cs.js +46 -0
- package/dist/translations/da.js +33 -0
- package/dist/translations/de.js +33 -0
- package/dist/translations/el.js +33 -0
- package/dist/translations/en.js +33 -0
- package/dist/translations/es.js +46 -0
- package/dist/translations/fa.js +33 -0
- package/dist/translations/fi.js +33 -0
- package/dist/translations/fr.js +36 -0
- package/dist/translations/gl.js +46 -0
- package/dist/translations/he.js +33 -0
- package/dist/translations/hi.js +36 -0
- package/dist/translations/hu.js +46 -0
- package/dist/translations/id.js +33 -0
- package/dist/translations/index.d.ts +48 -0
- package/dist/translations/index.js +75 -0
- package/dist/translations/it.js +36 -0
- package/dist/translations/ja.js +36 -0
- package/dist/translations/ko.js +36 -0
- package/dist/translations/lv.js +33 -0
- package/dist/translations/nb.js +33 -0
- package/dist/translations/nl.js +33 -0
- package/dist/translations/pl.js +36 -0
- package/dist/translations/pt.js +36 -0
- package/dist/translations/ro.js +33 -0
- package/dist/translations/ru.js +36 -0
- package/dist/translations/sk.js +33 -0
- package/dist/translations/sv.js +33 -0
- package/dist/translations/th.js +33 -0
- package/dist/translations/tr.js +33 -0
- package/dist/translations/uk.js +33 -0
- package/dist/translations/vi.js +33 -0
- package/dist/translations/zh-CN.js +36 -0
- package/dist/translations/zh-TW.js +36 -0
- package/dist/types.d.ts +4 -0
- package/dist/types.js +1 -0
- package/{user-components → dist/user-components}/FileTree.astro +1 -1
- package/{user-components → dist/user-components}/Steps.astro +1 -1
- package/{user-components → dist/user-components}/TabItem.astro +1 -1
- package/{user-components → dist/user-components}/Tabs.astro +1 -1
- package/dist/user-components/file-tree-icons.d.ts +178 -0
- package/dist/user-components/file-tree-icons.js +632 -0
- package/dist/user-components/file-tree-processor.d.ts +16 -0
- package/dist/user-components/file-tree-processor.js +132 -0
- package/dist/user-components/steps-processor.d.ts +10 -0
- package/dist/user-components/steps-processor.js +39 -0
- package/dist/user-components/tabs-processor.d.ts +23 -0
- package/dist/user-components/tabs-processor.js +70 -0
- package/dist/utils/base.d.ts +7 -0
- package/dist/utils/base.js +15 -0
- package/dist/utils/canonical.d.ts +10 -0
- package/dist/utils/canonical.js +14 -0
- package/dist/utils/collection-fs.d.ts +13 -0
- package/dist/utils/collection-fs.js +19 -0
- package/{utils/collection.ts → dist/utils/collection.d.ts} +9 -20
- package/dist/utils/collection.js +26 -0
- package/dist/utils/createPathFormatter.d.ts +9 -0
- package/dist/utils/createPathFormatter.js +35 -0
- package/dist/utils/createTranslationSystem.d.ts +23 -0
- package/dist/utils/createTranslationSystem.js +84 -0
- package/dist/utils/error-map.d.ts +23 -0
- package/dist/utils/error-map.js +125 -0
- package/dist/utils/format-path.d.ts +4 -0
- package/dist/utils/format-path.js +9 -0
- package/dist/utils/generateToC.d.ts +14 -0
- package/dist/utils/generateToC.js +25 -0
- package/dist/utils/git.d.ts +12 -0
- package/dist/utils/git.js +71 -0
- package/dist/utils/gitInlined.d.ts +6 -0
- package/dist/utils/gitInlined.js +11 -0
- package/dist/utils/head.d.ts +7 -0
- package/dist/utils/head.js +233 -0
- package/dist/utils/i18n.d.ts +50 -0
- package/dist/utils/i18n.js +141 -0
- package/dist/utils/localizedUrl.d.ts +8 -0
- package/dist/utils/localizedUrl.js +28 -0
- package/dist/utils/navigation.d.ts +19 -0
- package/dist/utils/navigation.js +353 -0
- package/dist/utils/path.d.ts +21 -0
- package/dist/utils/path.js +51 -0
- package/dist/utils/plugins.d.ts +721 -0
- package/dist/utils/plugins.js +174 -0
- package/dist/utils/routing/data.d.ts +20 -0
- package/dist/utils/routing/data.js +127 -0
- package/dist/utils/routing/index.d.ts +21 -0
- package/dist/utils/routing/index.js +106 -0
- package/dist/utils/routing/middleware.d.ts +11 -0
- package/dist/utils/routing/middleware.js +65 -0
- package/dist/utils/routing/types.d.ts +93 -0
- package/dist/utils/routing/types.js +1 -0
- package/dist/utils/slugs.d.ts +45 -0
- package/dist/utils/slugs.js +104 -0
- package/dist/utils/starlight-page.d.ts +36 -0
- package/dist/utils/starlight-page.js +120 -0
- package/dist/utils/translations-fs.d.ts +15 -0
- package/dist/utils/translations-fs.js +39 -0
- package/dist/utils/translations.d.ts +20 -0
- package/dist/utils/translations.js +29 -0
- package/dist/utils/types.d.ts +5 -0
- package/dist/utils/types.js +1 -0
- package/dist/utils/url.d.ts +7 -0
- package/{utils/url.ts → dist/utils/url.js} +5 -4
- package/dist/utils/user-config.d.ts +2055 -0
- package/dist/utils/user-config.js +136 -0
- package/dist/utils/validateLogoImports.d.ts +5 -0
- package/dist/utils/validateLogoImports.js +16 -0
- package/dist/utils/zodDeepMerge.d.ts +16 -0
- package/dist/utils/zodDeepMerge.js +53 -0
- package/package.json +60 -34
- package/CHANGELOG.md +0 -3051
- package/components/MobileMenuToggle.astro +0 -114
- package/components-internals/Icons.ts +0 -248
- package/components-internals/SidebarPersistState.ts +0 -71
- package/components-internals/TableOfContents/starlight-toc.ts +0 -127
- package/constants.ts +0 -4
- package/expressive-code.mjs +0 -23
- package/global.d.ts +0 -11
- package/i18n.d.ts +0 -18
- package/index.ts +0 -200
- package/integrations/aside-utils.ts +0 -41
- package/integrations/expressive-code/hast.d.ts +0 -5
- package/integrations/expressive-code/hast.mjs +0 -9
- package/integrations/expressive-code/index.ts +0 -125
- package/integrations/expressive-code/preprocessor.ts +0 -126
- package/integrations/expressive-code/themes/night-owl-dark.jsonc +0 -1796
- package/integrations/expressive-code/themes/night-owl-light.jsonc +0 -1695
- package/integrations/expressive-code/theming.ts +0 -105
- package/integrations/expressive-code/translations.ts +0 -36
- package/integrations/markdown-icon.ts +0 -13
- package/integrations/markdown-plugins.ts +0 -71
- package/integrations/markdown-processor.ts +0 -64
- package/integrations/pagefind.ts +0 -60
- package/integrations/rehype-code-rtl-support.ts +0 -37
- package/integrations/rehype-heading-links.ts +0 -79
- package/integrations/remark-asides.ts +0 -219
- package/integrations/remark-rehype.ts +0 -87
- package/integrations/satteri.ts +0 -265
- package/integrations/shared/absolutePathToLang.ts +0 -26
- package/integrations/shared/localeToLang.ts +0 -15
- package/integrations/shared/slugToLocale.ts +0 -18
- package/integrations/sitemap.ts +0 -23
- package/integrations/vite-layer-order.ts +0 -69
- package/integrations/vite-lazy-barrel-optimization.ts +0 -40
- package/integrations/vite-virtual-modules.ts +0 -175
- package/internal.ts +0 -6
- package/loaders.ts +0 -63
- package/locals.d.ts +0 -43
- package/locals.ts +0 -43
- package/route-data.ts +0 -11
- package/schema.ts +0 -167
- package/schemas/badge.ts +0 -40
- package/schemas/components.ts +0 -265
- package/schemas/expressiveCode.ts +0 -12
- package/schemas/favicon.ts +0 -40
- package/schemas/head.ts +0 -50
- package/schemas/hero.ts +0 -69
- package/schemas/i18n.ts +0 -244
- package/schemas/icon.ts +0 -7
- package/schemas/logo.ts +0 -28
- package/schemas/pagefind.ts +0 -128
- package/schemas/prevNextLink.ts +0 -18
- package/schemas/sidebar.ts +0 -163
- package/schemas/site-title.ts +0 -20
- package/schemas/social.ts +0 -23
- package/schemas/tableOfContents.ts +0 -21
- package/translations/README.md +0 -14
- package/translations/ar.json +0 -33
- package/translations/ca.json +0 -43
- package/translations/cs.json +0 -43
- package/translations/da.json +0 -30
- package/translations/de.json +0 -30
- package/translations/el.json +0 -30
- package/translations/en.json +0 -30
- package/translations/es.json +0 -43
- package/translations/fa.json +0 -30
- package/translations/fi.json +0 -30
- package/translations/fr.json +0 -33
- package/translations/gl.json +0 -43
- package/translations/he.json +0 -30
- package/translations/hi.json +0 -33
- package/translations/hu.json +0 -43
- package/translations/id.json +0 -30
- package/translations/index.ts +0 -76
- package/translations/it.json +0 -33
- package/translations/ja.json +0 -33
- package/translations/ko.json +0 -33
- package/translations/lv.json +0 -30
- package/translations/nb.json +0 -30
- package/translations/nl.json +0 -30
- package/translations/pl.json +0 -33
- package/translations/pt.json +0 -33
- package/translations/ro.json +0 -30
- package/translations/ru.json +0 -33
- package/translations/sk.json +0 -30
- package/translations/sv.json +0 -30
- package/translations/th.json +0 -30
- package/translations/tr.json +0 -30
- package/translations/uk.json +0 -30
- package/translations/vi.json +0 -30
- package/translations/zh-CN.json +0 -33
- package/translations/zh-TW.json +0 -33
- package/types.ts +0 -7
- package/user-components/file-tree-icons.ts +0 -782
- package/user-components/rehype-file-tree.ts +0 -251
- package/user-components/rehype-steps.ts +0 -85
- package/user-components/rehype-tabs.ts +0 -121
- package/utils/base.ts +0 -15
- package/utils/canonical.ts +0 -19
- package/utils/collection-fs.ts +0 -20
- package/utils/createPathFormatter.ts +0 -60
- package/utils/createTranslationSystem.ts +0 -137
- package/utils/error-map.ts +0 -222
- package/utils/format-path.ts +0 -7
- package/utils/generateToC.ts +0 -33
- package/utils/git.ts +0 -121
- package/utils/gitInlined.ts +0 -20
- package/utils/head.ts +0 -235
- package/utils/i18n.ts +0 -221
- package/utils/localizedUrl.ts +0 -51
- package/utils/navigation.ts +0 -574
- package/utils/path.ts +0 -58
- package/utils/plugins.ts +0 -498
- package/utils/routing/data.ts +0 -154
- package/utils/routing/index.ts +0 -139
- package/utils/routing/middleware.ts +0 -81
- package/utils/routing/types.ts +0 -101
- package/utils/slugs.ts +0 -119
- package/utils/starlight-page.ts +0 -205
- package/utils/translations-fs.ts +0 -54
- package/utils/translations.ts +0 -57
- package/utils/types.ts +0 -15
- package/utils/user-config.ts +0 -348
- package/utils/validateLogoImports.ts +0 -21
- package/utils/zodDeepMerge.ts +0 -144
- package/virtual-internal.d.ts +0 -149
- package/virtual.d.ts +0 -27
- /package/{components → dist/components}/AnchorHeading.astro +0 -0
- /package/{components → dist/components}/Banner.astro +0 -0
- /package/{components → dist/components}/ContentNotice.astro +0 -0
- /package/{components → dist/components}/ContentPanel.astro +0 -0
- /package/{components → dist/components}/DraftContentNotice.astro +0 -0
- /package/{components → dist/components}/EditLink.astro +0 -0
- /package/{components → dist/components}/FallbackContentNotice.astro +0 -0
- /package/{components → dist/components}/Footer.astro +0 -0
- /package/{components → dist/components}/Head.astro +0 -0
- /package/{components → dist/components}/Header.astro +0 -0
- /package/{components → dist/components}/Hero.astro +0 -0
- /package/{components → dist/components}/LanguageSelect.astro +0 -0
- /package/{components → dist/components}/LastUpdated.astro +0 -0
- /package/{components → dist/components}/MarkdownContent.astro +0 -0
- /package/{components → dist/components}/MobileMenuFooter.astro +0 -0
- /package/{components → dist/components}/MobileTableOfContents.astro +0 -0
- /package/{components → dist/components}/Page.astro +0 -0
- /package/{components → dist/components}/PageSidebar.astro +0 -0
- /package/{components → dist/components}/PageTitle.astro +0 -0
- /package/{components → dist/components}/Pagination.astro +0 -0
- /package/{components → dist/components}/Search.astro +0 -0
- /package/{components → dist/components}/Select.astro +0 -0
- /package/{components → dist/components}/Sidebar.astro +0 -0
- /package/{components → dist/components}/SidebarPersister.astro +0 -0
- /package/{components → dist/components}/SidebarRestorePoint.astro +0 -0
- /package/{components → dist/components}/SidebarSublist.astro +0 -0
- /package/{components → dist/components}/SiteTitle.astro +0 -0
- /package/{components → dist/components}/SkipLink.astro +0 -0
- /package/{components → dist/components}/SocialIcons.astro +0 -0
- /package/{components → dist/components}/StarlightPage.astro +0 -0
- /package/{components → dist/components}/TableOfContents.astro +0 -0
- /package/{components → dist/components}/ThemeProvider.astro +0 -0
- /package/{components → dist/components}/ThemeSelect.astro +0 -0
- /package/{components → dist/components}/TwoColumnContent.astro +0 -0
- /package/{components-internals → dist/components-internals}/TableOfContents/TableOfContentsList.astro +0 -0
- /package/{components.ts → dist/components.ts} +0 -0
- /package/{routes → dist/routes}/common.astro +0 -0
- /package/{routes → dist/routes}/ssr/404.astro +0 -0
- /package/{routes → dist/routes}/ssr/index.astro +0 -0
- /package/{routes → dist/routes}/static/404.astro +0 -0
- /package/{routes → dist/routes}/static/index.astro +0 -0
- /package/{style → dist/style}/anchor-links.css +0 -0
- /package/{style → dist/style}/asides.css +0 -0
- /package/{style → dist/style}/layers.css +0 -0
- /package/{style → dist/style}/markdown.css +0 -0
- /package/{style → dist/style}/print.css +0 -0
- /package/{style → dist/style}/props.css +0 -0
- /package/{style → dist/style}/reset.css +0 -0
- /package/{style → dist/style}/util.css +0 -0
- /package/{user-components → dist/user-components}/Aside.astro +0 -0
- /package/{user-components → dist/user-components}/Badge.astro +0 -0
- /package/{user-components → dist/user-components}/Card.astro +0 -0
- /package/{user-components → dist/user-components}/CardGrid.astro +0 -0
- /package/{user-components → dist/user-components}/Icon.astro +0 -0
- /package/{user-components → dist/user-components}/LinkButton.astro +0 -0
- /package/{user-components → dist/user-components}/LinkCard.astro +0 -0
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { I18nBadgeUserConfig } from "./badge.js";
|
|
2
|
+
import { z } from "astro/zod";
|
|
3
|
+
import { AstroBuiltinAttributes } from "astro";
|
|
4
|
+
import { HTMLAttributes } from "astro/types";
|
|
5
|
+
//#region src/schemas/sidebar.d.ts
|
|
6
|
+
interface SidebarBaseUserConfig {
|
|
7
|
+
/** The visible label for this item in the sidebar. */
|
|
8
|
+
label: string;
|
|
9
|
+
/** Translations of the `label` for each supported language. */
|
|
10
|
+
translations?: Record<string, string> | undefined;
|
|
11
|
+
/** Adds a badge to the item */
|
|
12
|
+
badge?: I18nBadgeUserConfig;
|
|
13
|
+
}
|
|
14
|
+
interface SidebarGroupUserConfig extends SidebarBaseUserConfig {
|
|
15
|
+
/**
|
|
16
|
+
* Explicitly prevent custom attributes on groups as the final type for supported sidebar item
|
|
17
|
+
* is a non-discriminated union where TypeScript will not perform excess property checks.
|
|
18
|
+
* This means that a user could define a sidebar group with custom attributes, not getting a
|
|
19
|
+
* TypeScript error, and only have it fail at runtime.
|
|
20
|
+
* @see https://github.com/microsoft/TypeScript/issues/20863
|
|
21
|
+
*/
|
|
22
|
+
attrs?: undefined;
|
|
23
|
+
/** Whether this item should be collapsed by default. */
|
|
24
|
+
collapsed?: boolean | undefined;
|
|
25
|
+
}
|
|
26
|
+
declare const SidebarGroupSchema: z.ZodObject<{
|
|
27
|
+
attrs: z.ZodOptional<z.ZodNever>;
|
|
28
|
+
collapsed: z.ZodDefault<z.ZodBoolean>;
|
|
29
|
+
label: z.ZodString;
|
|
30
|
+
translations: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
31
|
+
badge: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
32
|
+
text: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
|
|
33
|
+
variant: z.ZodDefault<z.ZodEnum<{
|
|
34
|
+
default: "default";
|
|
35
|
+
success: "success";
|
|
36
|
+
note: "note";
|
|
37
|
+
tip: "tip";
|
|
38
|
+
caution: "caution";
|
|
39
|
+
danger: "danger";
|
|
40
|
+
}>>;
|
|
41
|
+
class: z.ZodOptional<z.ZodString>;
|
|
42
|
+
}, z.core.$strip>]>>;
|
|
43
|
+
}, z.core.$strip>;
|
|
44
|
+
type LinkHTMLAttributes = Omit<HTMLAttributes<'a'>, keyof AstroBuiltinAttributes | 'children'>;
|
|
45
|
+
declare const SidebarLinkItemHTMLAttributesSchema: () => z.ZodDefault<z.ZodType<LinkHTMLAttributes, LinkHTMLAttributes, z.core.$ZodTypeInternals<LinkHTMLAttributes, LinkHTMLAttributes>>>;
|
|
46
|
+
interface SidebarLinkItemUserConfig extends SidebarBaseUserConfig {
|
|
47
|
+
/** The link to this item’s content. Can be a relative link to local files or the full URL of an external page. */
|
|
48
|
+
link: string;
|
|
49
|
+
/** HTML attributes to add to the link item. */
|
|
50
|
+
attrs?: LinkHTMLAttributes | undefined;
|
|
51
|
+
}
|
|
52
|
+
declare const SidebarLinkItemSchema: z.ZodObject<{
|
|
53
|
+
link: z.ZodString;
|
|
54
|
+
attrs: z.ZodDefault<z.ZodType<LinkHTMLAttributes, LinkHTMLAttributes, z.core.$ZodTypeInternals<LinkHTMLAttributes, LinkHTMLAttributes>>>;
|
|
55
|
+
label: z.ZodString;
|
|
56
|
+
translations: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
57
|
+
badge: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
58
|
+
text: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
|
|
59
|
+
variant: z.ZodDefault<z.ZodEnum<{
|
|
60
|
+
default: "default";
|
|
61
|
+
success: "success";
|
|
62
|
+
note: "note";
|
|
63
|
+
tip: "tip";
|
|
64
|
+
caution: "caution";
|
|
65
|
+
danger: "danger";
|
|
66
|
+
}>>;
|
|
67
|
+
class: z.ZodOptional<z.ZodString>;
|
|
68
|
+
}, z.core.$strip>]>>;
|
|
69
|
+
}, z.core.$strict>;
|
|
70
|
+
type SidebarLinkItem = z.infer<typeof SidebarLinkItemSchema>;
|
|
71
|
+
interface AutoSidebarEntriesUserConfig {
|
|
72
|
+
/**
|
|
73
|
+
* Explicitly prevent autogenerated groups which are no longer supported as the final type for
|
|
74
|
+
* supported sidebar item is a non-discriminated union where TypeScript will not perform excess
|
|
75
|
+
* property checks. This means that a user could define a sidebar group with an autogenerated
|
|
76
|
+
* property, not getting a TypeScript error, and only have it fail at runtime.
|
|
77
|
+
* @see https://github.com/microsoft/TypeScript/issues/20863
|
|
78
|
+
*/
|
|
79
|
+
label?: undefined;
|
|
80
|
+
/** Enable autogenerating entries from a specific docs directory. */
|
|
81
|
+
autogenerate: {
|
|
82
|
+
/** The directory to generate sidebar items for. */
|
|
83
|
+
directory: string;
|
|
84
|
+
/** Whether autogenerated subgroups should be collapsed. Default: `false`. */
|
|
85
|
+
collapsed?: boolean | undefined;
|
|
86
|
+
/** HTML attributes to add to autogenerated link items. */
|
|
87
|
+
attrs?: LinkHTMLAttributes | undefined;
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
declare const AutoSidebarEntriesSchema: z.ZodObject<{
|
|
91
|
+
label: z.ZodOptional<z.ZodCustom<never, never>>;
|
|
92
|
+
autogenerate: z.ZodObject<{
|
|
93
|
+
directory: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
94
|
+
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
95
|
+
attrs: z.ZodDefault<z.ZodType<LinkHTMLAttributes, LinkHTMLAttributes, z.core.$ZodTypeInternals<LinkHTMLAttributes, LinkHTMLAttributes>>>;
|
|
96
|
+
}, z.core.$strip>;
|
|
97
|
+
}, z.core.$strict>;
|
|
98
|
+
type AutoSidebarEntries = z.infer<typeof AutoSidebarEntriesSchema>;
|
|
99
|
+
type ManualSidebarGroupInput = z.input<typeof SidebarGroupSchema> & {
|
|
100
|
+
/** Array of links and subcategories to display in this category. */
|
|
101
|
+
items: Array<z.input<typeof SidebarLinkItemSchema> | z.input<typeof AutoSidebarEntriesSchema> | z.input<typeof InternalSidebarLinkItemSchema> | z.input<typeof InternalSidebarLinkItemShorthandSchema> | ManualSidebarGroupInput>;
|
|
102
|
+
};
|
|
103
|
+
type ManualSidebarGroupOutput = z.output<typeof SidebarGroupSchema> & {
|
|
104
|
+
/** Array of links and subcategories to display in this category. */
|
|
105
|
+
items: Array<z.output<typeof SidebarLinkItemSchema> | z.output<typeof AutoSidebarEntriesSchema> | z.output<typeof InternalSidebarLinkItemSchema> | z.output<typeof InternalSidebarLinkItemShorthandSchema> | ManualSidebarGroupOutput>;
|
|
106
|
+
};
|
|
107
|
+
type ManualSidebarGroupUserConfig = SidebarGroupUserConfig & {
|
|
108
|
+
/** Array of links and subcategories to display in this category. */
|
|
109
|
+
items: SidebarItemUserConfig[];
|
|
110
|
+
};
|
|
111
|
+
interface InternalSidebarLinkItemUserConfig extends Omit<SidebarBaseUserConfig, 'label'> {
|
|
112
|
+
/** The visible label for this item in the sidebar. */
|
|
113
|
+
label?: SidebarBaseUserConfig['label'] | undefined;
|
|
114
|
+
/** The link to this item’s content. Must be a slug of a Content Collection entry. */
|
|
115
|
+
slug: string;
|
|
116
|
+
/** HTML attributes to add to the link item. */
|
|
117
|
+
attrs?: LinkHTMLAttributes | undefined;
|
|
118
|
+
}
|
|
119
|
+
declare const InternalSidebarLinkItemSchema: z.ZodObject<{
|
|
120
|
+
slug: z.ZodString;
|
|
121
|
+
attrs: z.ZodDefault<z.ZodType<LinkHTMLAttributes, LinkHTMLAttributes, z.core.$ZodTypeInternals<LinkHTMLAttributes, LinkHTMLAttributes>>>;
|
|
122
|
+
label: z.ZodOptional<z.ZodString>;
|
|
123
|
+
translations: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
124
|
+
badge: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
125
|
+
text: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
|
|
126
|
+
variant: z.ZodDefault<z.ZodEnum<{
|
|
127
|
+
default: "default";
|
|
128
|
+
success: "success";
|
|
129
|
+
note: "note";
|
|
130
|
+
tip: "tip";
|
|
131
|
+
caution: "caution";
|
|
132
|
+
danger: "danger";
|
|
133
|
+
}>>;
|
|
134
|
+
class: z.ZodOptional<z.ZodString>;
|
|
135
|
+
}, z.core.$strip>]>>;
|
|
136
|
+
}, z.core.$strip>;
|
|
137
|
+
type InternalSidebarLinkItemShorthandUserConfig = string;
|
|
138
|
+
declare const InternalSidebarLinkItemShorthandSchema: z.ZodPipe<z.ZodString, z.ZodTransform<{
|
|
139
|
+
slug: string;
|
|
140
|
+
attrs: LinkHTMLAttributes;
|
|
141
|
+
translations: Record<string, string>;
|
|
142
|
+
label?: string | undefined;
|
|
143
|
+
badge?: string | {
|
|
144
|
+
text: string | Record<string, string>;
|
|
145
|
+
variant: "default" | "success" | "note" | "tip" | "caution" | "danger";
|
|
146
|
+
class?: string | undefined;
|
|
147
|
+
} | undefined;
|
|
148
|
+
}, string>>;
|
|
149
|
+
type InternalSidebarLinkItem = z.output<typeof InternalSidebarLinkItemSchema>;
|
|
150
|
+
type SidebarItemUserConfig = SidebarLinkItemUserConfig | ManualSidebarGroupUserConfig | AutoSidebarEntriesUserConfig | InternalSidebarLinkItemUserConfig | InternalSidebarLinkItemShorthandUserConfig;
|
|
151
|
+
declare const SidebarItemSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
152
|
+
link: z.ZodString;
|
|
153
|
+
attrs: z.ZodDefault<z.ZodType<LinkHTMLAttributes, LinkHTMLAttributes, z.core.$ZodTypeInternals<LinkHTMLAttributes, LinkHTMLAttributes>>>;
|
|
154
|
+
label: z.ZodString;
|
|
155
|
+
translations: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
156
|
+
badge: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
157
|
+
text: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
|
|
158
|
+
variant: z.ZodDefault<z.ZodEnum<{
|
|
159
|
+
default: "default";
|
|
160
|
+
success: "success";
|
|
161
|
+
note: "note";
|
|
162
|
+
tip: "tip";
|
|
163
|
+
caution: "caution";
|
|
164
|
+
danger: "danger";
|
|
165
|
+
}>>;
|
|
166
|
+
class: z.ZodOptional<z.ZodString>;
|
|
167
|
+
}, z.core.$strip>]>>;
|
|
168
|
+
}, z.core.$strict>, z.ZodType<ManualSidebarGroupOutput, ManualSidebarGroupInput, z.core.$ZodTypeInternals<ManualSidebarGroupOutput, ManualSidebarGroupInput>>, z.ZodObject<{
|
|
169
|
+
label: z.ZodOptional<z.ZodCustom<never, never>>;
|
|
170
|
+
autogenerate: z.ZodObject<{
|
|
171
|
+
directory: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
172
|
+
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
173
|
+
attrs: z.ZodDefault<z.ZodType<LinkHTMLAttributes, LinkHTMLAttributes, z.core.$ZodTypeInternals<LinkHTMLAttributes, LinkHTMLAttributes>>>;
|
|
174
|
+
}, z.core.$strip>;
|
|
175
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
176
|
+
slug: z.ZodString;
|
|
177
|
+
attrs: z.ZodDefault<z.ZodType<LinkHTMLAttributes, LinkHTMLAttributes, z.core.$ZodTypeInternals<LinkHTMLAttributes, LinkHTMLAttributes>>>;
|
|
178
|
+
label: z.ZodOptional<z.ZodString>;
|
|
179
|
+
translations: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
180
|
+
badge: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
181
|
+
text: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
|
|
182
|
+
variant: z.ZodDefault<z.ZodEnum<{
|
|
183
|
+
default: "default";
|
|
184
|
+
success: "success";
|
|
185
|
+
note: "note";
|
|
186
|
+
tip: "tip";
|
|
187
|
+
caution: "caution";
|
|
188
|
+
danger: "danger";
|
|
189
|
+
}>>;
|
|
190
|
+
class: z.ZodOptional<z.ZodString>;
|
|
191
|
+
}, z.core.$strip>]>>;
|
|
192
|
+
}, z.core.$strip>, z.ZodPipe<z.ZodString, z.ZodTransform<{
|
|
193
|
+
slug: string;
|
|
194
|
+
attrs: LinkHTMLAttributes;
|
|
195
|
+
translations: Record<string, string>;
|
|
196
|
+
label?: string | undefined;
|
|
197
|
+
badge?: string | {
|
|
198
|
+
text: string | Record<string, string>;
|
|
199
|
+
variant: "default" | "success" | "note" | "tip" | "caution" | "danger";
|
|
200
|
+
class?: string | undefined;
|
|
201
|
+
} | undefined;
|
|
202
|
+
}, string>>]>;
|
|
203
|
+
type SidebarItem = z.infer<typeof SidebarItemSchema>;
|
|
204
|
+
//#endregion
|
|
205
|
+
export { AutoSidebarEntries, InternalSidebarLinkItem, LinkHTMLAttributes, SidebarItem, SidebarItemSchema, SidebarItemUserConfig, SidebarLinkItem, SidebarLinkItemHTMLAttributesSchema };
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { stripLeadingAndTrailingSlashes } from "../utils/path.js";
|
|
2
|
+
import { I18nBadgeConfigSchema } from "./badge.js";
|
|
3
|
+
import { z } from "astro/zod";
|
|
4
|
+
//#region src/schemas/sidebar.ts
|
|
5
|
+
const SidebarBaseSchema = z.object({
|
|
6
|
+
label: z.string(),
|
|
7
|
+
translations: z.record(z.string(), z.string()).default({}),
|
|
8
|
+
badge: I18nBadgeConfigSchema()
|
|
9
|
+
});
|
|
10
|
+
const SidebarGroupSchema = z.object({
|
|
11
|
+
...SidebarBaseSchema.shape,
|
|
12
|
+
attrs: z.never().optional(),
|
|
13
|
+
collapsed: z.boolean().default(false)
|
|
14
|
+
});
|
|
15
|
+
const linkHTMLAttributesSchema = z.record(z.string(), z.union([
|
|
16
|
+
z.string(),
|
|
17
|
+
z.number(),
|
|
18
|
+
z.boolean(),
|
|
19
|
+
z.undefined(),
|
|
20
|
+
z.null()
|
|
21
|
+
]));
|
|
22
|
+
const SidebarLinkItemHTMLAttributesSchema = () => linkHTMLAttributesSchema.default({});
|
|
23
|
+
const SidebarLinkItemSchema = z.strictObject({
|
|
24
|
+
...SidebarBaseSchema.shape,
|
|
25
|
+
link: z.string(),
|
|
26
|
+
attrs: SidebarLinkItemHTMLAttributesSchema()
|
|
27
|
+
});
|
|
28
|
+
const AutoSidebarEntriesSchema = z.object({
|
|
29
|
+
label: z.custom().optional(),
|
|
30
|
+
autogenerate: z.object({
|
|
31
|
+
directory: z.string().transform(stripLeadingAndTrailingSlashes),
|
|
32
|
+
collapsed: z.boolean().optional(),
|
|
33
|
+
attrs: SidebarLinkItemHTMLAttributesSchema()
|
|
34
|
+
})
|
|
35
|
+
}).strict().superRefine((config, ctx) => {
|
|
36
|
+
if (!("label" in config)) return;
|
|
37
|
+
ctx.addIssue({
|
|
38
|
+
code: "custom",
|
|
39
|
+
message: `Found an \`autogenerate\` object with a \`label\`. Support for autogenerated sidebar groups was removed in Starlight v0.39.0.
|
|
40
|
+
You should instead create a group with the desired \`label\` and an \`items\` array containing the autogenerate config:
|
|
41
|
+
|
|
42
|
+
{
|
|
43
|
+
label: '${config.label}',\n items: [{ autogenerate: ${JSON.stringify(config.autogenerate, (key, value) => key === "attrs" && typeof value === "object" && value !== null && Object.keys(value).length === 0 ? void 0 : value, " ").replace(/\n\s*/g, " ")} }]\n}`
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
const ManualSidebarGroupSchema = z.strictObject({
|
|
47
|
+
...SidebarGroupSchema.shape,
|
|
48
|
+
/** Array of links and subcategories to display in this category. */
|
|
49
|
+
items: z.lazy(() => z.union([
|
|
50
|
+
SidebarLinkItemSchema,
|
|
51
|
+
ManualSidebarGroupSchema,
|
|
52
|
+
AutoSidebarEntriesSchema,
|
|
53
|
+
InternalSidebarLinkItemSchema,
|
|
54
|
+
InternalSidebarLinkItemShorthandSchema
|
|
55
|
+
]).array())
|
|
56
|
+
});
|
|
57
|
+
const InternalSidebarLinkItemSchema = z.object({
|
|
58
|
+
...SidebarBaseSchema.partial({ label: true }).shape,
|
|
59
|
+
slug: z.string(),
|
|
60
|
+
attrs: SidebarLinkItemHTMLAttributesSchema()
|
|
61
|
+
});
|
|
62
|
+
const InternalSidebarLinkItemShorthandSchema = z.string().transform((slug) => InternalSidebarLinkItemSchema.parse({ slug }));
|
|
63
|
+
const SidebarItemSchema = z.union([
|
|
64
|
+
SidebarLinkItemSchema,
|
|
65
|
+
ManualSidebarGroupSchema,
|
|
66
|
+
AutoSidebarEntriesSchema,
|
|
67
|
+
InternalSidebarLinkItemSchema,
|
|
68
|
+
InternalSidebarLinkItemShorthandSchema
|
|
69
|
+
]);
|
|
70
|
+
//#endregion
|
|
71
|
+
export { SidebarItemSchema, SidebarLinkItemHTMLAttributesSchema };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { z } from "astro/zod";
|
|
2
|
+
//#region src/schemas/site-title.d.ts
|
|
3
|
+
type TitleUserConfig = string | Record<string, string>;
|
|
4
|
+
declare const TitleConfigSchema: () => z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>;
|
|
5
|
+
declare const TitleTransformConfigSchema: (defaultLang: string) => z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>, z.ZodTransform<Record<string, string>, string | Record<string, string>>>;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { TitleConfigSchema, TitleTransformConfigSchema, TitleUserConfig };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from "astro/zod";
|
|
2
|
+
//#region src/schemas/site-title.ts
|
|
3
|
+
const TitleConfigSchema = () => z.union([z.string(), z.record(z.string(), z.string())]);
|
|
4
|
+
const TitleTransformConfigSchema = (defaultLang) => TitleConfigSchema().transform((title, ctx) => {
|
|
5
|
+
if (typeof title === "string") return { [defaultLang]: title };
|
|
6
|
+
if (!title[defaultLang] && title[defaultLang] !== "") {
|
|
7
|
+
ctx.issues.push({
|
|
8
|
+
code: "custom",
|
|
9
|
+
message: `Title must have a key for the default language "${defaultLang}"`,
|
|
10
|
+
input: title
|
|
11
|
+
});
|
|
12
|
+
return z.NEVER;
|
|
13
|
+
}
|
|
14
|
+
return title;
|
|
15
|
+
});
|
|
16
|
+
//#endregion
|
|
17
|
+
export { TitleConfigSchema, TitleTransformConfigSchema };
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
import { IconUserConfig } from "./icon.js";
|
|
2
|
+
import { z } from "astro/zod";
|
|
3
|
+
//#region src/schemas/social.d.ts
|
|
4
|
+
type SocialLinksUserConfig = {
|
|
5
|
+
icon: IconUserConfig;
|
|
6
|
+
label: string;
|
|
7
|
+
href: string;
|
|
8
|
+
}[] | undefined;
|
|
9
|
+
declare const LinksSchema: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
10
|
+
icon: z.ZodEnum<{
|
|
11
|
+
server: "server";
|
|
12
|
+
external: "external";
|
|
13
|
+
error: "error";
|
|
14
|
+
link: "link";
|
|
15
|
+
"up-caret": "up-caret";
|
|
16
|
+
"down-caret": "down-caret";
|
|
17
|
+
"right-caret": "right-caret";
|
|
18
|
+
"left-caret": "left-caret";
|
|
19
|
+
"up-arrow": "up-arrow";
|
|
20
|
+
"down-arrow": "down-arrow";
|
|
21
|
+
"right-arrow": "right-arrow";
|
|
22
|
+
"left-arrow": "left-arrow";
|
|
23
|
+
bars: "bars";
|
|
24
|
+
translate: "translate";
|
|
25
|
+
pencil: "pencil";
|
|
26
|
+
pen: "pen";
|
|
27
|
+
document: "document";
|
|
28
|
+
"add-document": "add-document";
|
|
29
|
+
setting: "setting";
|
|
30
|
+
"link-alt": "link-alt";
|
|
31
|
+
download: "download";
|
|
32
|
+
"cloud-download": "cloud-download";
|
|
33
|
+
moon: "moon";
|
|
34
|
+
sun: "sun";
|
|
35
|
+
clock: "clock";
|
|
36
|
+
laptop: "laptop";
|
|
37
|
+
desktop: "desktop";
|
|
38
|
+
"mobile-android": "mobile-android";
|
|
39
|
+
window: "window";
|
|
40
|
+
database: "database";
|
|
41
|
+
"code-branch": "code-branch";
|
|
42
|
+
"open-book": "open-book";
|
|
43
|
+
notes: "notes";
|
|
44
|
+
information: "information";
|
|
45
|
+
magnifier: "magnifier";
|
|
46
|
+
"forward-slash": "forward-slash";
|
|
47
|
+
close: "close";
|
|
48
|
+
warning: "warning";
|
|
49
|
+
"approve-check-circle": "approve-check-circle";
|
|
50
|
+
"approve-check": "approve-check";
|
|
51
|
+
"question-circle": "question-circle";
|
|
52
|
+
question: "question";
|
|
53
|
+
rocket: "rocket";
|
|
54
|
+
star: "star";
|
|
55
|
+
puzzle: "puzzle";
|
|
56
|
+
"list-format": "list-format";
|
|
57
|
+
analytics: "analytics";
|
|
58
|
+
random: "random";
|
|
59
|
+
padlock: "padlock";
|
|
60
|
+
comment: "comment";
|
|
61
|
+
"comment-alt": "comment-alt";
|
|
62
|
+
heart: "heart";
|
|
63
|
+
github: "github";
|
|
64
|
+
gitlab: "gitlab";
|
|
65
|
+
bitbucket: "bitbucket";
|
|
66
|
+
forgejo: "forgejo";
|
|
67
|
+
codePen: "codePen";
|
|
68
|
+
farcaster: "farcaster";
|
|
69
|
+
discord: "discord";
|
|
70
|
+
gitter: "gitter";
|
|
71
|
+
twitter: "twitter";
|
|
72
|
+
"x.com": "x.com";
|
|
73
|
+
mastodon: "mastodon";
|
|
74
|
+
codeberg: "codeberg";
|
|
75
|
+
youtube: "youtube";
|
|
76
|
+
threads: "threads";
|
|
77
|
+
linkedin: "linkedin";
|
|
78
|
+
twitch: "twitch";
|
|
79
|
+
azureDevOps: "azureDevOps";
|
|
80
|
+
microsoftTeams: "microsoftTeams";
|
|
81
|
+
instagram: "instagram";
|
|
82
|
+
stackOverflow: "stackOverflow";
|
|
83
|
+
telegram: "telegram";
|
|
84
|
+
whatsApp: "whatsApp";
|
|
85
|
+
rss: "rss";
|
|
86
|
+
facebook: "facebook";
|
|
87
|
+
email: "email";
|
|
88
|
+
phone: "phone";
|
|
89
|
+
reddit: "reddit";
|
|
90
|
+
patreon: "patreon";
|
|
91
|
+
signal: "signal";
|
|
92
|
+
slack: "slack";
|
|
93
|
+
matrix: "matrix";
|
|
94
|
+
hackerOne: "hackerOne";
|
|
95
|
+
openCollective: "openCollective";
|
|
96
|
+
blueSky: "blueSky";
|
|
97
|
+
discourse: "discourse";
|
|
98
|
+
zulip: "zulip";
|
|
99
|
+
pinterest: "pinterest";
|
|
100
|
+
tiktok: "tiktok";
|
|
101
|
+
goodreads: "goodreads";
|
|
102
|
+
hypothesis: "hypothesis";
|
|
103
|
+
astro: "astro";
|
|
104
|
+
solidjs: "solidjs";
|
|
105
|
+
alpine: "alpine";
|
|
106
|
+
pnpm: "pnpm";
|
|
107
|
+
biome: "biome";
|
|
108
|
+
bun: "bun";
|
|
109
|
+
mdx: "mdx";
|
|
110
|
+
apple: "apple";
|
|
111
|
+
linux: "linux";
|
|
112
|
+
homebrew: "homebrew";
|
|
113
|
+
nix: "nix";
|
|
114
|
+
starlight: "starlight";
|
|
115
|
+
pkl: "pkl";
|
|
116
|
+
node: "node";
|
|
117
|
+
cloudflare: "cloudflare";
|
|
118
|
+
vercel: "vercel";
|
|
119
|
+
netlify: "netlify";
|
|
120
|
+
deno: "deno";
|
|
121
|
+
jsr: "jsr";
|
|
122
|
+
nostr: "nostr";
|
|
123
|
+
backstage: "backstage";
|
|
124
|
+
confluence: "confluence";
|
|
125
|
+
jira: "jira";
|
|
126
|
+
storybook: "storybook";
|
|
127
|
+
vscode: "vscode";
|
|
128
|
+
jetbrains: "jetbrains";
|
|
129
|
+
zed: "zed";
|
|
130
|
+
vim: "vim";
|
|
131
|
+
figma: "figma";
|
|
132
|
+
sketch: "sketch";
|
|
133
|
+
npm: "npm";
|
|
134
|
+
npmx: "npmx";
|
|
135
|
+
sourcehut: "sourcehut";
|
|
136
|
+
substack: "substack";
|
|
137
|
+
chrome: "chrome";
|
|
138
|
+
edge: "edge";
|
|
139
|
+
firefox: "firefox";
|
|
140
|
+
safari: "safari";
|
|
141
|
+
"seti:folder": "seti:folder";
|
|
142
|
+
"seti:bsl": "seti:bsl";
|
|
143
|
+
"seti:mdo": "seti:mdo";
|
|
144
|
+
"seti:salesforce": "seti:salesforce";
|
|
145
|
+
"seti:asm": "seti:asm";
|
|
146
|
+
"seti:bicep": "seti:bicep";
|
|
147
|
+
"seti:bazel": "seti:bazel";
|
|
148
|
+
"seti:c": "seti:c";
|
|
149
|
+
"seti:c-sharp": "seti:c-sharp";
|
|
150
|
+
"seti:html": "seti:html";
|
|
151
|
+
"seti:cpp": "seti:cpp";
|
|
152
|
+
"seti:clojure": "seti:clojure";
|
|
153
|
+
"seti:coldfusion": "seti:coldfusion";
|
|
154
|
+
"seti:config": "seti:config";
|
|
155
|
+
"seti:crystal": "seti:crystal";
|
|
156
|
+
"seti:crystal_embedded": "seti:crystal_embedded";
|
|
157
|
+
"seti:json": "seti:json";
|
|
158
|
+
"seti:css": "seti:css";
|
|
159
|
+
"seti:csv": "seti:csv";
|
|
160
|
+
"seti:xls": "seti:xls";
|
|
161
|
+
"seti:cu": "seti:cu";
|
|
162
|
+
"seti:cake": "seti:cake";
|
|
163
|
+
"seti:cake_php": "seti:cake_php";
|
|
164
|
+
"seti:d": "seti:d";
|
|
165
|
+
"seti:word": "seti:word";
|
|
166
|
+
"seti:elixir": "seti:elixir";
|
|
167
|
+
"seti:elixir_script": "seti:elixir_script";
|
|
168
|
+
"seti:hex": "seti:hex";
|
|
169
|
+
"seti:elm": "seti:elm";
|
|
170
|
+
"seti:favicon": "seti:favicon";
|
|
171
|
+
"seti:f-sharp": "seti:f-sharp";
|
|
172
|
+
"seti:git": "seti:git";
|
|
173
|
+
"seti:go": "seti:go";
|
|
174
|
+
"seti:godot": "seti:godot";
|
|
175
|
+
"seti:gradle": "seti:gradle";
|
|
176
|
+
"seti:grails": "seti:grails";
|
|
177
|
+
"seti:graphql": "seti:graphql";
|
|
178
|
+
"seti:hacklang": "seti:hacklang";
|
|
179
|
+
"seti:haml": "seti:haml";
|
|
180
|
+
"seti:mustache": "seti:mustache";
|
|
181
|
+
"seti:haskell": "seti:haskell";
|
|
182
|
+
"seti:haxe": "seti:haxe";
|
|
183
|
+
"seti:jade": "seti:jade";
|
|
184
|
+
"seti:java": "seti:java";
|
|
185
|
+
"seti:javascript": "seti:javascript";
|
|
186
|
+
"seti:jinja": "seti:jinja";
|
|
187
|
+
"seti:julia": "seti:julia";
|
|
188
|
+
"seti:karma": "seti:karma";
|
|
189
|
+
"seti:kotlin": "seti:kotlin";
|
|
190
|
+
"seti:dart": "seti:dart";
|
|
191
|
+
"seti:liquid": "seti:liquid";
|
|
192
|
+
"seti:livescript": "seti:livescript";
|
|
193
|
+
"seti:lua": "seti:lua";
|
|
194
|
+
"seti:markdown": "seti:markdown";
|
|
195
|
+
"seti:argdown": "seti:argdown";
|
|
196
|
+
"seti:info": "seti:info";
|
|
197
|
+
"seti:clock": "seti:clock";
|
|
198
|
+
"seti:maven": "seti:maven";
|
|
199
|
+
"seti:nim": "seti:nim";
|
|
200
|
+
"seti:github": "seti:github";
|
|
201
|
+
"seti:notebook": "seti:notebook";
|
|
202
|
+
"seti:nunjucks": "seti:nunjucks";
|
|
203
|
+
"seti:npm": "seti:npm";
|
|
204
|
+
"seti:ocaml": "seti:ocaml";
|
|
205
|
+
"seti:odata": "seti:odata";
|
|
206
|
+
"seti:perl": "seti:perl";
|
|
207
|
+
"seti:php": "seti:php";
|
|
208
|
+
"seti:pipeline": "seti:pipeline";
|
|
209
|
+
"seti:pddl": "seti:pddl";
|
|
210
|
+
"seti:plan": "seti:plan";
|
|
211
|
+
"seti:happenings": "seti:happenings";
|
|
212
|
+
"seti:powershell": "seti:powershell";
|
|
213
|
+
"seti:prisma": "seti:prisma";
|
|
214
|
+
"seti:pug": "seti:pug";
|
|
215
|
+
"seti:puppet": "seti:puppet";
|
|
216
|
+
"seti:purescript": "seti:purescript";
|
|
217
|
+
"seti:python": "seti:python";
|
|
218
|
+
"seti:react": "seti:react";
|
|
219
|
+
"seti:rescript": "seti:rescript";
|
|
220
|
+
"seti:R": "seti:R";
|
|
221
|
+
"seti:ruby": "seti:ruby";
|
|
222
|
+
"seti:rust": "seti:rust";
|
|
223
|
+
"seti:sass": "seti:sass";
|
|
224
|
+
"seti:spring": "seti:spring";
|
|
225
|
+
"seti:slim": "seti:slim";
|
|
226
|
+
"seti:smarty": "seti:smarty";
|
|
227
|
+
"seti:sbt": "seti:sbt";
|
|
228
|
+
"seti:scala": "seti:scala";
|
|
229
|
+
"seti:ethereum": "seti:ethereum";
|
|
230
|
+
"seti:stylus": "seti:stylus";
|
|
231
|
+
"seti:svelte": "seti:svelte";
|
|
232
|
+
"seti:swift": "seti:swift";
|
|
233
|
+
"seti:db": "seti:db";
|
|
234
|
+
"seti:terraform": "seti:terraform";
|
|
235
|
+
"seti:tex": "seti:tex";
|
|
236
|
+
"seti:default": "seti:default";
|
|
237
|
+
"seti:twig": "seti:twig";
|
|
238
|
+
"seti:typescript": "seti:typescript";
|
|
239
|
+
"seti:tsconfig": "seti:tsconfig";
|
|
240
|
+
"seti:vala": "seti:vala";
|
|
241
|
+
"seti:vite": "seti:vite";
|
|
242
|
+
"seti:vue": "seti:vue";
|
|
243
|
+
"seti:wasm": "seti:wasm";
|
|
244
|
+
"seti:wat": "seti:wat";
|
|
245
|
+
"seti:xml": "seti:xml";
|
|
246
|
+
"seti:yml": "seti:yml";
|
|
247
|
+
"seti:prolog": "seti:prolog";
|
|
248
|
+
"seti:zig": "seti:zig";
|
|
249
|
+
"seti:zip": "seti:zip";
|
|
250
|
+
"seti:wgt": "seti:wgt";
|
|
251
|
+
"seti:illustrator": "seti:illustrator";
|
|
252
|
+
"seti:photoshop": "seti:photoshop";
|
|
253
|
+
"seti:pdf": "seti:pdf";
|
|
254
|
+
"seti:font": "seti:font";
|
|
255
|
+
"seti:image": "seti:image";
|
|
256
|
+
"seti:svg": "seti:svg";
|
|
257
|
+
"seti:sublime": "seti:sublime";
|
|
258
|
+
"seti:code-search": "seti:code-search";
|
|
259
|
+
"seti:shell": "seti:shell";
|
|
260
|
+
"seti:video": "seti:video";
|
|
261
|
+
"seti:audio": "seti:audio";
|
|
262
|
+
"seti:windows": "seti:windows";
|
|
263
|
+
"seti:jenkins": "seti:jenkins";
|
|
264
|
+
"seti:babel": "seti:babel";
|
|
265
|
+
"seti:bower": "seti:bower";
|
|
266
|
+
"seti:docker": "seti:docker";
|
|
267
|
+
"seti:code-climate": "seti:code-climate";
|
|
268
|
+
"seti:eslint": "seti:eslint";
|
|
269
|
+
"seti:firebase": "seti:firebase";
|
|
270
|
+
"seti:firefox": "seti:firefox";
|
|
271
|
+
"seti:gitlab": "seti:gitlab";
|
|
272
|
+
"seti:grunt": "seti:grunt";
|
|
273
|
+
"seti:gulp": "seti:gulp";
|
|
274
|
+
"seti:ionic": "seti:ionic";
|
|
275
|
+
"seti:platformio": "seti:platformio";
|
|
276
|
+
"seti:rollup": "seti:rollup";
|
|
277
|
+
"seti:stylelint": "seti:stylelint";
|
|
278
|
+
"seti:yarn": "seti:yarn";
|
|
279
|
+
"seti:webpack": "seti:webpack";
|
|
280
|
+
"seti:lock": "seti:lock";
|
|
281
|
+
"seti:license": "seti:license";
|
|
282
|
+
"seti:makefile": "seti:makefile";
|
|
283
|
+
"seti:heroku": "seti:heroku";
|
|
284
|
+
"seti:todo": "seti:todo";
|
|
285
|
+
"seti:ignored": "seti:ignored";
|
|
286
|
+
}>;
|
|
287
|
+
label: z.ZodString;
|
|
288
|
+
href: z.ZodString;
|
|
289
|
+
}, z.core.$strip>>>;
|
|
290
|
+
declare const SocialLinksSchema: () => typeof LinksSchema;
|
|
291
|
+
//#endregion
|
|
292
|
+
export { SocialLinksSchema, SocialLinksUserConfig };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IconSchema } from "./icon.js";
|
|
2
|
+
import { z } from "astro/zod";
|
|
3
|
+
//#region src/schemas/social.ts
|
|
4
|
+
const LinksSchema = z.object({
|
|
5
|
+
icon: IconSchema(),
|
|
6
|
+
label: z.string().min(1),
|
|
7
|
+
href: z.string()
|
|
8
|
+
}).array().optional();
|
|
9
|
+
const SocialLinksSchema = () => z.preprocess((value, ctx) => {
|
|
10
|
+
if (value && typeof value === "object" && !Array.isArray(value)) ctx.issues.push({
|
|
11
|
+
code: "custom",
|
|
12
|
+
message: "Starlight v0.33.0 changed the `social` configuration syntax. Please specify an array of link items instead of an object.\nSee the Starlight changelog for details: https://github.com/withastro/starlight/blob/main/packages/starlight/CHANGELOG.md#0330\n",
|
|
13
|
+
input: value
|
|
14
|
+
});
|
|
15
|
+
return value;
|
|
16
|
+
}, LinksSchema);
|
|
17
|
+
//#endregion
|
|
18
|
+
export { SocialLinksSchema };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from "astro/zod";
|
|
2
|
+
//#region src/schemas/tableOfContents.d.ts
|
|
3
|
+
type TableOfContentsUserConfig = boolean | {
|
|
4
|
+
/** The level to start including headings at in the table of contents. Default: 2. */
|
|
5
|
+
minHeadingLevel?: number | undefined;
|
|
6
|
+
/** The level to stop including headings at in the table of contents. Default: 3. */
|
|
7
|
+
maxHeadingLevel?: number | undefined;
|
|
8
|
+
} | undefined;
|
|
9
|
+
declare const UserConfigTableOfContentsSchema: () => z.ZodDefault<z.ZodUnion<readonly [z.ZodObject<{
|
|
10
|
+
minHeadingLevel: z.ZodDefault<z.ZodOptional<z.ZodInt>>;
|
|
11
|
+
maxHeadingLevel: z.ZodDefault<z.ZodOptional<z.ZodInt>>;
|
|
12
|
+
}, z.core.$strip>, z.ZodPipe<z.ZodBoolean, z.ZodTransform<false | {
|
|
13
|
+
minHeadingLevel: number;
|
|
14
|
+
maxHeadingLevel: number;
|
|
15
|
+
}, boolean>>]>>;
|
|
16
|
+
declare const FrontmatterTableOfContentsSchema: () => z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
17
|
+
minHeadingLevel: z.ZodDefault<z.ZodOptional<z.ZodInt>>;
|
|
18
|
+
maxHeadingLevel: z.ZodDefault<z.ZodOptional<z.ZodInt>>;
|
|
19
|
+
}, z.core.$strip>, z.ZodPipe<z.ZodBoolean, z.ZodTransform<false | {
|
|
20
|
+
minHeadingLevel: number;
|
|
21
|
+
maxHeadingLevel: number;
|
|
22
|
+
}, boolean>>]>>;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { FrontmatterTableOfContentsSchema, TableOfContentsUserConfig, UserConfigTableOfContentsSchema };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { z } from "astro/zod";
|
|
2
|
+
//#region src/schemas/tableOfContents.ts
|
|
3
|
+
const defaults = {
|
|
4
|
+
minHeadingLevel: 2,
|
|
5
|
+
maxHeadingLevel: 3
|
|
6
|
+
};
|
|
7
|
+
const TableOfContentsBaseSchema = z.union([z.object({
|
|
8
|
+
/** The level to start including headings at in the table of contents. Default: 2. */
|
|
9
|
+
minHeadingLevel: z.int().min(1).max(6).optional().default(2),
|
|
10
|
+
/** The level to stop including headings at in the table of contents. Default: 3. */
|
|
11
|
+
maxHeadingLevel: z.int().min(1).max(6).optional().default(3)
|
|
12
|
+
}), z.boolean().transform((enabled) => enabled ? defaults : false)]).refine((toc) => toc ? toc.minHeadingLevel <= toc.maxHeadingLevel : true, { error: "minHeadingLevel must be less than or equal to maxHeadingLevel" });
|
|
13
|
+
const UserConfigTableOfContentsSchema = () => TableOfContentsBaseSchema.default(defaults);
|
|
14
|
+
const FrontmatterTableOfContentsSchema = () => TableOfContentsBaseSchema.optional();
|
|
15
|
+
//#endregion
|
|
16
|
+
export { FrontmatterTableOfContentsSchema, UserConfigTableOfContentsSchema };
|