@mintlify/validation 0.1.710 → 0.1.711
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/mint-config/schemas/v1/basics.js +1 -1
- package/dist/mint-config/schemas/v2/index.d.ts +70 -70
- package/dist/mint-config/schemas/v2/properties/appearance.js +1 -1
- package/dist/mint-config/schemas/v2/properties/background.js +23 -8
- package/dist/mint-config/schemas/v2/properties/banner.js +4 -2
- package/dist/mint-config/schemas/v2/properties/colors.js +4 -4
- package/dist/mint-config/schemas/v2/properties/contextual.d.ts +6 -6
- package/dist/mint-config/schemas/v2/properties/contextual.js +4 -4
- package/dist/mint-config/schemas/v2/properties/description.js +1 -1
- package/dist/mint-config/schemas/v2/properties/errors.js +1 -1
- package/dist/mint-config/schemas/v2/properties/favicon.js +8 -6
- package/dist/mint-config/schemas/v2/properties/fonts/index.js +16 -7
- package/dist/mint-config/schemas/v2/properties/footer.js +2 -2
- package/dist/mint-config/schemas/v2/properties/icons.js +1 -1
- package/dist/mint-config/schemas/v2/properties/logo.js +4 -4
- package/dist/mint-config/schemas/v2/properties/metadata.js +1 -1
- package/dist/mint-config/schemas/v2/properties/name.js +1 -5
- package/dist/mint-config/schemas/v2/properties/redirects.d.ts +13 -0
- package/dist/mint-config/schemas/v2/properties/redirects.js +3 -3
- package/dist/mint-config/schemas/v2/properties/reusable/page.js +1 -1
- package/dist/mint-config/schemas/v2/properties/seo.js +1 -1
- package/dist/mint-config/schemas/v2/properties/styling.js +9 -7
- package/dist/mint-config/schemas/v2/properties/thumbnails.js +1 -1
- package/dist/mint-config/schemas/v2/properties/variables.js +1 -1
- package/dist/mint-config/schemas/v2/themes/almond.d.ts +7 -7
- package/dist/mint-config/schemas/v2/themes/aspen.d.ts +7 -7
- package/dist/mint-config/schemas/v2/themes/linden.d.ts +7 -7
- package/dist/mint-config/schemas/v2/themes/luma.d.ts +7 -7
- package/dist/mint-config/schemas/v2/themes/maple.d.ts +7 -7
- package/dist/mint-config/schemas/v2/themes/mint.d.ts +7 -7
- package/dist/mint-config/schemas/v2/themes/palm.d.ts +7 -7
- package/dist/mint-config/schemas/v2/themes/reusable/index.d.ts +5 -5
- package/dist/mint-config/schemas/v2/themes/sequoia.d.ts +7 -7
- package/dist/mint-config/schemas/v2/themes/themes.js +3 -1
- package/dist/mint-config/schemas/v2/themes/willow.d.ts +7 -7
- package/dist/mint-config/validateConfig.d.ts +18 -18
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -4,7 +4,7 @@ export const appearanceSchema = z
|
|
|
4
4
|
default: z
|
|
5
5
|
.enum(['system', 'light', 'dark'])
|
|
6
6
|
.optional()
|
|
7
|
-
.describe('The default light/dark mode. Defaults to system'),
|
|
7
|
+
.describe('The default light/dark mode. Defaults to `system`.'),
|
|
8
8
|
strict: z
|
|
9
9
|
.boolean()
|
|
10
10
|
.optional()
|
|
@@ -1,21 +1,36 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
2
|
+
import { hexColor } from './reusable/color.js';
|
|
3
3
|
export const backgroundSchema = z
|
|
4
4
|
.object({
|
|
5
5
|
image: z
|
|
6
6
|
.union([
|
|
7
|
-
z
|
|
8
|
-
|
|
9
|
-
light
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
z
|
|
8
|
+
.string()
|
|
9
|
+
.describe('Path or URL pointing to the background image file, including the file extension. Used for both light and dark mode.'),
|
|
10
|
+
z
|
|
11
|
+
.object({
|
|
12
|
+
light: z
|
|
13
|
+
.string()
|
|
14
|
+
.describe('The file for the light version of the background image used in dark mode, including the file extension.'),
|
|
15
|
+
dark: z
|
|
16
|
+
.string()
|
|
17
|
+
.describe('The file for the dark version of the background image used in light mode, including the file extension.'),
|
|
18
|
+
})
|
|
19
|
+
.describe('The path to the background image. Can be a single file or a pair for light and dark mode.'),
|
|
12
20
|
])
|
|
13
21
|
.optional()
|
|
14
|
-
.describe('
|
|
22
|
+
.describe('The background image configuration. Can be a single image for both light and dark mode, or separate images for each mode.'),
|
|
15
23
|
decoration: z
|
|
16
24
|
.enum(['gradient', 'grid', 'windows'])
|
|
17
25
|
.optional()
|
|
18
26
|
.describe('The background decoration of the theme'),
|
|
19
|
-
color:
|
|
27
|
+
color: z
|
|
28
|
+
.object({
|
|
29
|
+
light: hexColor.describe('The background color in light mode').optional(),
|
|
30
|
+
dark: hexColor.describe('The background color in dark mode').optional(),
|
|
31
|
+
})
|
|
32
|
+
.strict()
|
|
33
|
+
.optional()
|
|
34
|
+
.describe('The colors of the background'),
|
|
20
35
|
})
|
|
21
36
|
.describe('Background color and decoration settings');
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { colorSchemaWithOptionalLightAndDark } from './reusable/color.js';
|
|
3
|
-
export const bannerSchema = z
|
|
3
|
+
export const bannerSchema = z
|
|
4
|
+
.object({
|
|
4
5
|
content: z
|
|
5
6
|
.string()
|
|
6
7
|
.nonempty()
|
|
@@ -16,4 +17,5 @@ export const bannerSchema = z.object({
|
|
|
16
17
|
color: colorSchemaWithOptionalLightAndDark
|
|
17
18
|
.optional()
|
|
18
19
|
.describe('Override the banner background color with a custom hex color. Accepts `{ light, dark }` for theme-aware colors. When set, takes precedence over the color implied by `type`. Banner text is white, so choose a dark enough background for legibility.'),
|
|
19
|
-
})
|
|
20
|
+
})
|
|
21
|
+
.describe('Display an announcement bar across the top of every page. When enabled, the banner is shown with the content you provide.');
|
|
@@ -2,9 +2,9 @@ import { z } from 'zod';
|
|
|
2
2
|
import { hexColor } from './reusable/color.js';
|
|
3
3
|
export const colorsSchema = z
|
|
4
4
|
.object({
|
|
5
|
-
primary: hexColor.describe('The primary color
|
|
6
|
-
light: hexColor.optional().describe('The light color
|
|
7
|
-
dark: hexColor.optional().describe('The dark color
|
|
5
|
+
primary: hexColor.describe('The primary color'),
|
|
6
|
+
light: hexColor.optional().describe('The light color. Used primary in dark mode.'),
|
|
7
|
+
dark: hexColor.optional().describe('The dark color. Used primary in light mode.'),
|
|
8
8
|
})
|
|
9
9
|
.strict()
|
|
10
|
-
.describe('The colors to use in your documentation. At the very least, you must define the primary color. For example: { "colors": { "primary": "#ff0000" } }');
|
|
10
|
+
.describe('The colors to use in your documentation. At the very least, you must define the primary color. For example: { "colors": { "primary": "#ff0000" } }.');
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
export declare const contextualOptions: readonly ["
|
|
2
|
+
export declare const contextualOptions: readonly ["copy", "assistant", "view", "chatgpt", "claude", "perplexity", "grok", "aistudio", "devin", "windsurf", "mcp", "add-mcp", "cursor", "vscode", "devin-mcp"];
|
|
3
3
|
export type ContextualOption = (typeof contextualOptions)[number];
|
|
4
4
|
export declare const contextualDisplayOptions: readonly ["header", "toc"];
|
|
5
5
|
export type ContextualDisplayOption = (typeof contextualDisplayOptions)[number];
|
|
@@ -103,7 +103,7 @@ export declare const customContextualOption: z.ZodObject<{
|
|
|
103
103
|
} | undefined;
|
|
104
104
|
}>;
|
|
105
105
|
export declare const contextualSchema: z.ZodObject<{
|
|
106
|
-
options: z.ZodEffects<z.ZodArray<z.ZodUnion<[z.ZodEnum<["
|
|
106
|
+
options: z.ZodEffects<z.ZodArray<z.ZodUnion<[z.ZodEnum<["copy", "assistant", "view", "chatgpt", "claude", "perplexity", "grok", "aistudio", "devin", "windsurf", "mcp", "add-mcp", "cursor", "vscode", "devin-mcp"]>, z.ZodObject<{
|
|
107
107
|
title: z.ZodString;
|
|
108
108
|
description: z.ZodString;
|
|
109
109
|
icon: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodObject<{
|
|
@@ -174,7 +174,7 @@ export declare const contextualSchema: z.ZodObject<{
|
|
|
174
174
|
style?: "brands" | "duotone" | "light" | "regular" | "sharp-duotone-solid" | "sharp-light" | "sharp-regular" | "sharp-solid" | "sharp-thin" | "solid" | "thin" | undefined;
|
|
175
175
|
library?: "fontawesome" | "lucide" | "tabler" | undefined;
|
|
176
176
|
} | undefined;
|
|
177
|
-
}>]>, "many">, ("
|
|
177
|
+
}>]>, "many">, ("copy" | "assistant" | "view" | "chatgpt" | "claude" | "perplexity" | "grok" | "aistudio" | "devin" | "windsurf" | "mcp" | "add-mcp" | "cursor" | "vscode" | "devin-mcp" | {
|
|
178
178
|
href: string | {
|
|
179
179
|
base: string;
|
|
180
180
|
query?: {
|
|
@@ -189,7 +189,7 @@ export declare const contextualSchema: z.ZodObject<{
|
|
|
189
189
|
style?: "brands" | "duotone" | "light" | "regular" | "sharp-duotone-solid" | "sharp-light" | "sharp-regular" | "sharp-solid" | "sharp-thin" | "solid" | "thin" | undefined;
|
|
190
190
|
library?: "fontawesome" | "lucide" | "tabler" | undefined;
|
|
191
191
|
} | undefined;
|
|
192
|
-
})[], ("
|
|
192
|
+
})[], ("copy" | "assistant" | "view" | "chatgpt" | "claude" | "perplexity" | "grok" | "aistudio" | "devin" | "windsurf" | "mcp" | "add-mcp" | "cursor" | "vscode" | "devin-mcp" | {
|
|
193
193
|
href: string | {
|
|
194
194
|
base: string;
|
|
195
195
|
query?: {
|
|
@@ -207,7 +207,7 @@ export declare const contextualSchema: z.ZodObject<{
|
|
|
207
207
|
})[]>;
|
|
208
208
|
display: z.ZodDefault<z.ZodOptional<z.ZodEnum<["header", "toc"]>>>;
|
|
209
209
|
}, "strip", z.ZodTypeAny, {
|
|
210
|
-
options: ("
|
|
210
|
+
options: ("copy" | "assistant" | "view" | "chatgpt" | "claude" | "perplexity" | "grok" | "aistudio" | "devin" | "windsurf" | "mcp" | "add-mcp" | "cursor" | "vscode" | "devin-mcp" | {
|
|
211
211
|
href: string | {
|
|
212
212
|
base: string;
|
|
213
213
|
query?: {
|
|
@@ -225,7 +225,7 @@ export declare const contextualSchema: z.ZodObject<{
|
|
|
225
225
|
})[];
|
|
226
226
|
display: "header" | "toc";
|
|
227
227
|
}, {
|
|
228
|
-
options: ("
|
|
228
|
+
options: ("copy" | "assistant" | "view" | "chatgpt" | "claude" | "perplexity" | "grok" | "aistudio" | "devin" | "windsurf" | "mcp" | "add-mcp" | "cursor" | "vscode" | "devin-mcp" | {
|
|
229
229
|
href: string | {
|
|
230
230
|
base: string;
|
|
231
231
|
query?: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { iconSchema } from './reusable/icon.js';
|
|
3
3
|
export const contextualOptions = [
|
|
4
|
-
'assistant',
|
|
5
4
|
'copy',
|
|
5
|
+
'assistant',
|
|
6
6
|
'view',
|
|
7
7
|
'chatgpt',
|
|
8
8
|
'claude',
|
|
@@ -40,7 +40,7 @@ export const contextualSchema = z
|
|
|
40
40
|
.object({
|
|
41
41
|
options: z
|
|
42
42
|
.array(z.union([z.enum(contextualOptions), customContextualOption]))
|
|
43
|
-
.describe('
|
|
43
|
+
.describe('Quick actions surfaced in the page context menu, like copying the page contents or opening it in an AI assistant (ChatGPT, Claude, Cursor, etc.)')
|
|
44
44
|
.refine((options) => {
|
|
45
45
|
const uniqueOptions = new Set(options);
|
|
46
46
|
return uniqueOptions.size === options.length;
|
|
@@ -51,6 +51,6 @@ export const contextualSchema = z
|
|
|
51
51
|
.enum(contextualDisplayOptions)
|
|
52
52
|
.optional()
|
|
53
53
|
.default('header')
|
|
54
|
-
.describe('Where to display the contextual options:
|
|
54
|
+
.describe('Where to display the contextual options: `header` (default) shows them in the top-of-page context menu, `toc` shows them in the table of contents sidebar.'),
|
|
55
55
|
})
|
|
56
|
-
.describe('
|
|
56
|
+
.describe('Context menu shown on each documentation page, providing quick actions for copying, viewing source, and opening the page in AI assistants and IDEs');
|
|
@@ -6,7 +6,7 @@ export const errorsSchema = z
|
|
|
6
6
|
.boolean()
|
|
7
7
|
.optional()
|
|
8
8
|
.default(true)
|
|
9
|
-
.describe('Whether to redirect to the home page, if the page is not found'),
|
|
9
|
+
.describe('Whether to redirect to the home page, if the page is not found. When false, displays a 404 page.'),
|
|
10
10
|
title: z.string().optional().describe('The title of the error page'),
|
|
11
11
|
description: z
|
|
12
12
|
.string()
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
export const faviconSchema = z
|
|
2
|
+
export const faviconSchema = z
|
|
3
|
+
.union([
|
|
3
4
|
z
|
|
4
5
|
.string()
|
|
5
|
-
.describe('Path pointing to the favicon file in your docs folder, including the file extension. The favicon will automatically be resized to the appropriate sizes'),
|
|
6
|
+
.describe('Path pointing to the favicon file in your docs folder, including the file extension. The favicon will automatically be resized to the appropriate sizes.'),
|
|
6
7
|
z
|
|
7
8
|
.object({
|
|
8
9
|
light: z
|
|
9
10
|
.string()
|
|
10
|
-
.describe('
|
|
11
|
+
.describe('The file for the light version of the favicon used in dark mode, including the file extension.'),
|
|
11
12
|
dark: z
|
|
12
13
|
.string()
|
|
13
|
-
.describe('
|
|
14
|
+
.describe('The file for the dark version of the favicon used in light mode, including the file extension.'),
|
|
14
15
|
})
|
|
15
|
-
.describe('The path to the favicon. Can be a single file or a pair for light and dark mode.
|
|
16
|
-
])
|
|
16
|
+
.describe('The path to the favicon. Can be a single file or a pair for light and dark mode.'),
|
|
17
|
+
])
|
|
18
|
+
.describe('The favicon configuration. Can be a single image path for both light and dark mode, or separate paths for each mode.');
|
|
@@ -3,15 +3,20 @@ import { z } from 'zod';
|
|
|
3
3
|
import { fontSourceSchema } from './source.js';
|
|
4
4
|
export const fontDetailsSchema = z
|
|
5
5
|
.object({
|
|
6
|
-
family: z
|
|
6
|
+
family: z
|
|
7
|
+
.string()
|
|
8
|
+
.describe('The font family name. Any [Google Fonts](https://fonts.google.com/) family works out of the box (e.g. `Inter`, `Open Sans`, `Playfair Display`). For a self-hosted font, set `source` and `format` as well.'),
|
|
7
9
|
weight: z
|
|
8
10
|
.number()
|
|
9
11
|
.optional()
|
|
10
|
-
.describe('The font weight
|
|
12
|
+
.describe('The font weight. Typically `400` for regular and `700` for bold. Variable fonts support precise weights like `550`.'),
|
|
11
13
|
source: fontSourceSchema
|
|
12
14
|
.optional()
|
|
13
|
-
.describe('
|
|
14
|
-
format: z
|
|
15
|
+
.describe('URL or path to a self-hosted font file. Use this when the font is not on Google Fonts. Example: `/fonts/custom.woff2` or `https://cdn.example.com/font.woff2`.'),
|
|
16
|
+
format: z
|
|
17
|
+
.enum(fontFormats)
|
|
18
|
+
.optional()
|
|
19
|
+
.describe('File format of the self-hosted font. Required when `source` is set.'),
|
|
15
20
|
})
|
|
16
21
|
.refine((data) => {
|
|
17
22
|
if (data.source) {
|
|
@@ -24,9 +29,13 @@ export const fontsSchema = z
|
|
|
24
29
|
fontDetailsSchema,
|
|
25
30
|
z
|
|
26
31
|
.object({
|
|
27
|
-
heading: fontDetailsSchema
|
|
28
|
-
|
|
32
|
+
heading: fontDetailsSchema
|
|
33
|
+
.optional()
|
|
34
|
+
.describe('Font settings applied to all headings (`h1`–`h6`).'),
|
|
35
|
+
body: fontDetailsSchema
|
|
36
|
+
.optional()
|
|
37
|
+
.describe('Font settings applied to body text and the rest of the page.'),
|
|
29
38
|
})
|
|
30
39
|
.strict(),
|
|
31
40
|
])
|
|
32
|
-
.describe('
|
|
41
|
+
.describe('Typography configuration. Use a single set of font settings for the whole site, or split into separate `heading` and `body` fonts.');
|
|
@@ -19,7 +19,7 @@ export const footerLinksColumnSchema = z.object({
|
|
|
19
19
|
});
|
|
20
20
|
export const footerSocialsSchema = z
|
|
21
21
|
.record(z.enum(footerSocialKeys), secureUrlSchema.describe('Must be a valid URL'))
|
|
22
|
-
.describe('An object in which each key is the name of a social media platform, and each value is the url to your profile.
|
|
22
|
+
.describe('An object in which each key is the name of a social media platform, and each value is the url to your profile.');
|
|
23
23
|
export const footerSchema = z
|
|
24
24
|
.object({
|
|
25
25
|
socials: footerSocialsSchema.optional(),
|
|
@@ -28,6 +28,6 @@ export const footerSchema = z
|
|
|
28
28
|
.min(1, 'A footer must have at least 1 links column')
|
|
29
29
|
.max(4, 'A footer can have a maximum of 4 links columns')
|
|
30
30
|
.optional()
|
|
31
|
-
.describe('
|
|
31
|
+
.describe('Enable columns with links to be displayed in the footer'),
|
|
32
32
|
})
|
|
33
33
|
.describe('Footer configurations');
|
|
@@ -4,6 +4,6 @@ export const iconsSchema = z
|
|
|
4
4
|
.object({
|
|
5
5
|
library: z
|
|
6
6
|
.enum(iconLibraries)
|
|
7
|
-
.describe('The icon library
|
|
7
|
+
.describe('The icon library used for all icon properties. Defaults to `fontawesome`.'),
|
|
8
8
|
})
|
|
9
9
|
.describe('Icon library settings');
|
|
@@ -9,13 +9,13 @@ export const logoSchema = z
|
|
|
9
9
|
z.object({
|
|
10
10
|
light: z
|
|
11
11
|
.string()
|
|
12
|
-
.describe('
|
|
12
|
+
.describe('The file for the light version of the logo used in dark mode, including the file extension.'),
|
|
13
13
|
dark: z
|
|
14
14
|
.string()
|
|
15
|
-
.describe('
|
|
15
|
+
.describe('The file for the dark version of the logo used in light mode, including the file extension.'),
|
|
16
16
|
href: hrefSchema
|
|
17
17
|
.optional()
|
|
18
|
-
.describe('The URL to redirect to when clicking the logo. If not provided, the logo will link to the homepage.
|
|
18
|
+
.describe('The URL to redirect to when clicking the logo. If not provided, the logo will link to the homepage.'),
|
|
19
19
|
}),
|
|
20
20
|
])
|
|
21
|
-
.describe('The logo configuration. Can be a single image path for both light and dark mode, or separate paths for each mode with an optional click target URL');
|
|
21
|
+
.describe('The logo configuration. Can be a single image path for both light and dark mode, or separate paths for each mode with an optional click target URL.');
|
|
@@ -5,7 +5,7 @@ export const metadataSchema = z
|
|
|
5
5
|
.boolean()
|
|
6
6
|
.optional()
|
|
7
7
|
.default(false)
|
|
8
|
-
.describe('When enabled, all pages will display the date the content was last modified. Default is false
|
|
8
|
+
.describe('When enabled, all pages will display the date the content was last modified. Default is `false`.'),
|
|
9
9
|
})
|
|
10
10
|
.optional()
|
|
11
11
|
.describe('Metadata configuration for documentation pages');
|
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
export declare const redirectSchema: z.ZodObject<{
|
|
3
|
+
source: z.ZodString;
|
|
4
|
+
destination: z.ZodString;
|
|
5
|
+
permanent: z.ZodOptional<z.ZodBoolean>;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
source: string;
|
|
8
|
+
destination: string;
|
|
9
|
+
permanent?: boolean | undefined;
|
|
10
|
+
}, {
|
|
11
|
+
source: string;
|
|
12
|
+
destination: string;
|
|
13
|
+
permanent?: boolean | undefined;
|
|
14
|
+
}>;
|
|
2
15
|
export declare const redirectsSchema: z.ZodEffects<z.ZodArray<z.ZodObject<{
|
|
3
16
|
source: z.ZodString;
|
|
4
17
|
destination: z.ZodString;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
const redirectSchema = z.object({
|
|
3
|
-
source: z.string().describe('The source path to redirect from'),
|
|
2
|
+
export const redirectSchema = z.object({
|
|
3
|
+
source: z.string().describe('The source path to redirect from. Supports wildcards.'),
|
|
4
4
|
destination: z.string().describe('The destination path to redirect to. Supports wildcards.'),
|
|
5
5
|
permanent: z
|
|
6
6
|
.boolean()
|
|
@@ -12,5 +12,5 @@ export const redirectsSchema = z
|
|
|
12
12
|
.refine((value) => {
|
|
13
13
|
const keys = value.map((obj) => obj.source);
|
|
14
14
|
return new Set(keys).size === keys.length;
|
|
15
|
-
}, '
|
|
15
|
+
}, 'Each source path can only be used once')
|
|
16
16
|
.describe('URL redirect rules');
|
|
@@ -16,7 +16,7 @@ export const pageSchema = z
|
|
|
16
16
|
.string()
|
|
17
17
|
.nonempty()
|
|
18
18
|
.transform(normalizeRelativePath)
|
|
19
|
-
.describe('A page in the navigation. Referenced by the path to the page. Example: path/to/page');
|
|
19
|
+
.describe('A page in the navigation. Referenced by the path to the page. Example: path/to/page.');
|
|
20
20
|
export const decoratedPageSchema = z
|
|
21
21
|
.object({
|
|
22
22
|
href: z.string(),
|
|
@@ -2,7 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
export const metatagsSchema = z
|
|
3
3
|
.record(z.string(), z.string().nonempty())
|
|
4
4
|
.optional()
|
|
5
|
-
.describe('Meta tags added to every page. Must be a valid key-value pair');
|
|
5
|
+
.describe('Meta tags added to every page. Must be a valid key-value pair.');
|
|
6
6
|
export const seoSchema = z
|
|
7
7
|
.object({
|
|
8
8
|
metatags: metatagsSchema.optional(),
|
|
@@ -17,8 +17,12 @@ export const stylingSchema = z
|
|
|
17
17
|
.describe('The eyebrows style of the content. Defaults to `section`.'),
|
|
18
18
|
codeblocks: z
|
|
19
19
|
.union([
|
|
20
|
-
z
|
|
21
|
-
|
|
20
|
+
z
|
|
21
|
+
.enum(['system', 'dark'])
|
|
22
|
+
.optional()
|
|
23
|
+
.describe('Match the docs light/dark mode with `system`, or always use a dark theme with `dark`.'),
|
|
24
|
+
z
|
|
25
|
+
.object({
|
|
22
26
|
theme: z
|
|
23
27
|
.union([
|
|
24
28
|
z.enum(SHIKI_THEMES),
|
|
@@ -29,12 +33,10 @@ export const stylingSchema = z
|
|
|
29
33
|
])
|
|
30
34
|
.optional(),
|
|
31
35
|
languages: codeblockCustomLanguagesSchema.optional(),
|
|
32
|
-
})
|
|
36
|
+
})
|
|
37
|
+
.describe('Pick a custom Shiki theme. Use a single theme for both modes, or set separate light/dark themes.'),
|
|
33
38
|
])
|
|
34
39
|
.describe('The codeblock theme configuration. Defaults to `system`. To use a built-in shiki theme, add the theme name as "theme" in the object. To use different shiki themes for light and dark modes, add "themes" in the object with "dark" and "light" keys.'),
|
|
35
|
-
latex: z
|
|
36
|
-
.boolean()
|
|
37
|
-
.optional()
|
|
38
|
-
.describe('Whether to include latex styling, overriding our default latex detection'),
|
|
40
|
+
latex: z.boolean().optional().describe('Whether to load LaTeX stylesheets'),
|
|
39
41
|
})
|
|
40
42
|
.describe('Styling configurations');
|
|
@@ -13,7 +13,7 @@ export const thumbnailsSchema = z.object({
|
|
|
13
13
|
appearance: z
|
|
14
14
|
.enum([ThumbnailAppearance.Light, ThumbnailAppearance.Dark])
|
|
15
15
|
.optional()
|
|
16
|
-
.describe('
|
|
16
|
+
.describe('Whether to render page thumbnails in light or dark mode. When unset, thumbnails are auto-generated from your theme colors.'),
|
|
17
17
|
background: z
|
|
18
18
|
.string()
|
|
19
19
|
.optional()
|
|
@@ -1414,7 +1414,7 @@ export declare const almondConfigSchema: z.ZodObject<{
|
|
|
1414
1414
|
};
|
|
1415
1415
|
}>>;
|
|
1416
1416
|
contextual: z.ZodOptional<z.ZodObject<{
|
|
1417
|
-
options: z.ZodEffects<z.ZodArray<z.ZodUnion<[z.ZodEnum<["
|
|
1417
|
+
options: z.ZodEffects<z.ZodArray<z.ZodUnion<[z.ZodEnum<["copy", "assistant", "view", "chatgpt", "claude", "perplexity", "grok", "aistudio", "devin", "windsurf", "mcp", "add-mcp", "cursor", "vscode", "devin-mcp"]>, z.ZodObject<{
|
|
1418
1418
|
title: z.ZodString;
|
|
1419
1419
|
description: z.ZodString;
|
|
1420
1420
|
icon: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodObject<{
|
|
@@ -1485,7 +1485,7 @@ export declare const almondConfigSchema: z.ZodObject<{
|
|
|
1485
1485
|
style?: "brands" | "duotone" | "light" | "regular" | "sharp-duotone-solid" | "sharp-light" | "sharp-regular" | "sharp-solid" | "sharp-thin" | "solid" | "thin" | undefined;
|
|
1486
1486
|
library?: "fontawesome" | "lucide" | "tabler" | undefined;
|
|
1487
1487
|
} | undefined;
|
|
1488
|
-
}>]>, "many">, ("
|
|
1488
|
+
}>]>, "many">, ("copy" | "assistant" | "view" | "chatgpt" | "claude" | "perplexity" | "grok" | "aistudio" | "devin" | "windsurf" | "mcp" | "add-mcp" | "cursor" | "vscode" | "devin-mcp" | {
|
|
1489
1489
|
href: string | {
|
|
1490
1490
|
base: string;
|
|
1491
1491
|
query?: {
|
|
@@ -1500,7 +1500,7 @@ export declare const almondConfigSchema: z.ZodObject<{
|
|
|
1500
1500
|
style?: "brands" | "duotone" | "light" | "regular" | "sharp-duotone-solid" | "sharp-light" | "sharp-regular" | "sharp-solid" | "sharp-thin" | "solid" | "thin" | undefined;
|
|
1501
1501
|
library?: "fontawesome" | "lucide" | "tabler" | undefined;
|
|
1502
1502
|
} | undefined;
|
|
1503
|
-
})[], ("
|
|
1503
|
+
})[], ("copy" | "assistant" | "view" | "chatgpt" | "claude" | "perplexity" | "grok" | "aistudio" | "devin" | "windsurf" | "mcp" | "add-mcp" | "cursor" | "vscode" | "devin-mcp" | {
|
|
1504
1504
|
href: string | {
|
|
1505
1505
|
base: string;
|
|
1506
1506
|
query?: {
|
|
@@ -1518,7 +1518,7 @@ export declare const almondConfigSchema: z.ZodObject<{
|
|
|
1518
1518
|
})[]>;
|
|
1519
1519
|
display: z.ZodDefault<z.ZodOptional<z.ZodEnum<["header", "toc"]>>>;
|
|
1520
1520
|
}, "strip", z.ZodTypeAny, {
|
|
1521
|
-
options: ("
|
|
1521
|
+
options: ("copy" | "assistant" | "view" | "chatgpt" | "claude" | "perplexity" | "grok" | "aistudio" | "devin" | "windsurf" | "mcp" | "add-mcp" | "cursor" | "vscode" | "devin-mcp" | {
|
|
1522
1522
|
href: string | {
|
|
1523
1523
|
base: string;
|
|
1524
1524
|
query?: {
|
|
@@ -1536,7 +1536,7 @@ export declare const almondConfigSchema: z.ZodObject<{
|
|
|
1536
1536
|
})[];
|
|
1537
1537
|
display: "header" | "toc";
|
|
1538
1538
|
}, {
|
|
1539
|
-
options: ("
|
|
1539
|
+
options: ("copy" | "assistant" | "view" | "chatgpt" | "claude" | "perplexity" | "grok" | "aistudio" | "devin" | "windsurf" | "mcp" | "add-mcp" | "cursor" | "vscode" | "devin-mcp" | {
|
|
1540
1540
|
href: string | {
|
|
1541
1541
|
base: string;
|
|
1542
1542
|
query?: {
|
|
@@ -1944,7 +1944,7 @@ export declare const almondConfigSchema: z.ZodObject<{
|
|
|
1944
1944
|
};
|
|
1945
1945
|
} | undefined;
|
|
1946
1946
|
contextual?: {
|
|
1947
|
-
options: ("
|
|
1947
|
+
options: ("copy" | "assistant" | "view" | "chatgpt" | "claude" | "perplexity" | "grok" | "aistudio" | "devin" | "windsurf" | "mcp" | "add-mcp" | "cursor" | "vscode" | "devin-mcp" | {
|
|
1948
1948
|
href: string | {
|
|
1949
1949
|
base: string;
|
|
1950
1950
|
query?: {
|
|
@@ -2320,7 +2320,7 @@ export declare const almondConfigSchema: z.ZodObject<{
|
|
|
2320
2320
|
};
|
|
2321
2321
|
} | undefined;
|
|
2322
2322
|
contextual?: {
|
|
2323
|
-
options: ("
|
|
2323
|
+
options: ("copy" | "assistant" | "view" | "chatgpt" | "claude" | "perplexity" | "grok" | "aistudio" | "devin" | "windsurf" | "mcp" | "add-mcp" | "cursor" | "vscode" | "devin-mcp" | {
|
|
2324
2324
|
href: string | {
|
|
2325
2325
|
base: string;
|
|
2326
2326
|
query?: {
|
|
@@ -1414,7 +1414,7 @@ export declare const aspenConfigSchema: z.ZodObject<{
|
|
|
1414
1414
|
};
|
|
1415
1415
|
}>>;
|
|
1416
1416
|
contextual: z.ZodOptional<z.ZodObject<{
|
|
1417
|
-
options: z.ZodEffects<z.ZodArray<z.ZodUnion<[z.ZodEnum<["
|
|
1417
|
+
options: z.ZodEffects<z.ZodArray<z.ZodUnion<[z.ZodEnum<["copy", "assistant", "view", "chatgpt", "claude", "perplexity", "grok", "aistudio", "devin", "windsurf", "mcp", "add-mcp", "cursor", "vscode", "devin-mcp"]>, z.ZodObject<{
|
|
1418
1418
|
title: z.ZodString;
|
|
1419
1419
|
description: z.ZodString;
|
|
1420
1420
|
icon: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodObject<{
|
|
@@ -1485,7 +1485,7 @@ export declare const aspenConfigSchema: z.ZodObject<{
|
|
|
1485
1485
|
style?: "brands" | "duotone" | "light" | "regular" | "sharp-duotone-solid" | "sharp-light" | "sharp-regular" | "sharp-solid" | "sharp-thin" | "solid" | "thin" | undefined;
|
|
1486
1486
|
library?: "fontawesome" | "lucide" | "tabler" | undefined;
|
|
1487
1487
|
} | undefined;
|
|
1488
|
-
}>]>, "many">, ("
|
|
1488
|
+
}>]>, "many">, ("copy" | "assistant" | "view" | "chatgpt" | "claude" | "perplexity" | "grok" | "aistudio" | "devin" | "windsurf" | "mcp" | "add-mcp" | "cursor" | "vscode" | "devin-mcp" | {
|
|
1489
1489
|
href: string | {
|
|
1490
1490
|
base: string;
|
|
1491
1491
|
query?: {
|
|
@@ -1500,7 +1500,7 @@ export declare const aspenConfigSchema: z.ZodObject<{
|
|
|
1500
1500
|
style?: "brands" | "duotone" | "light" | "regular" | "sharp-duotone-solid" | "sharp-light" | "sharp-regular" | "sharp-solid" | "sharp-thin" | "solid" | "thin" | undefined;
|
|
1501
1501
|
library?: "fontawesome" | "lucide" | "tabler" | undefined;
|
|
1502
1502
|
} | undefined;
|
|
1503
|
-
})[], ("
|
|
1503
|
+
})[], ("copy" | "assistant" | "view" | "chatgpt" | "claude" | "perplexity" | "grok" | "aistudio" | "devin" | "windsurf" | "mcp" | "add-mcp" | "cursor" | "vscode" | "devin-mcp" | {
|
|
1504
1504
|
href: string | {
|
|
1505
1505
|
base: string;
|
|
1506
1506
|
query?: {
|
|
@@ -1518,7 +1518,7 @@ export declare const aspenConfigSchema: z.ZodObject<{
|
|
|
1518
1518
|
})[]>;
|
|
1519
1519
|
display: z.ZodDefault<z.ZodOptional<z.ZodEnum<["header", "toc"]>>>;
|
|
1520
1520
|
}, "strip", z.ZodTypeAny, {
|
|
1521
|
-
options: ("
|
|
1521
|
+
options: ("copy" | "assistant" | "view" | "chatgpt" | "claude" | "perplexity" | "grok" | "aistudio" | "devin" | "windsurf" | "mcp" | "add-mcp" | "cursor" | "vscode" | "devin-mcp" | {
|
|
1522
1522
|
href: string | {
|
|
1523
1523
|
base: string;
|
|
1524
1524
|
query?: {
|
|
@@ -1536,7 +1536,7 @@ export declare const aspenConfigSchema: z.ZodObject<{
|
|
|
1536
1536
|
})[];
|
|
1537
1537
|
display: "header" | "toc";
|
|
1538
1538
|
}, {
|
|
1539
|
-
options: ("
|
|
1539
|
+
options: ("copy" | "assistant" | "view" | "chatgpt" | "claude" | "perplexity" | "grok" | "aistudio" | "devin" | "windsurf" | "mcp" | "add-mcp" | "cursor" | "vscode" | "devin-mcp" | {
|
|
1540
1540
|
href: string | {
|
|
1541
1541
|
base: string;
|
|
1542
1542
|
query?: {
|
|
@@ -1944,7 +1944,7 @@ export declare const aspenConfigSchema: z.ZodObject<{
|
|
|
1944
1944
|
};
|
|
1945
1945
|
} | undefined;
|
|
1946
1946
|
contextual?: {
|
|
1947
|
-
options: ("
|
|
1947
|
+
options: ("copy" | "assistant" | "view" | "chatgpt" | "claude" | "perplexity" | "grok" | "aistudio" | "devin" | "windsurf" | "mcp" | "add-mcp" | "cursor" | "vscode" | "devin-mcp" | {
|
|
1948
1948
|
href: string | {
|
|
1949
1949
|
base: string;
|
|
1950
1950
|
query?: {
|
|
@@ -2320,7 +2320,7 @@ export declare const aspenConfigSchema: z.ZodObject<{
|
|
|
2320
2320
|
};
|
|
2321
2321
|
} | undefined;
|
|
2322
2322
|
contextual?: {
|
|
2323
|
-
options: ("
|
|
2323
|
+
options: ("copy" | "assistant" | "view" | "chatgpt" | "claude" | "perplexity" | "grok" | "aistudio" | "devin" | "windsurf" | "mcp" | "add-mcp" | "cursor" | "vscode" | "devin-mcp" | {
|
|
2324
2324
|
href: string | {
|
|
2325
2325
|
base: string;
|
|
2326
2326
|
query?: {
|