doccupine 0.0.37 → 0.0.39

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/index.js CHANGED
@@ -767,7 +767,7 @@ ${indexMDX
767
767
  ? `export const metadata: Metadata = {
768
768
  title: \`\${config.name ? config.name + " -" : "Doccupine -"} ${indexMDX.title}\`,
769
769
  description: \`${indexMDX.description ? indexMDX.description : '${config.description ? config.description : "Generated with Doccupine"}'}\`,
770
- icons: \`${indexMDX.icon ? indexMDX.icon : "\${config.icon || 'https://doccupine.com/favicon.ico'}"}\`,
770
+ icons: \`${indexMDX.icon ? indexMDX.icon : '\${config.icon || "https://doccupine.com/favicon.ico"}'}\`,
771
771
  openGraph: {
772
772
  title: \`\${config.name ? config.name + " -" : "Doccupine -"} ${indexMDX.title}\`,
773
773
  description: \`${indexMDX.description ? indexMDX.description : '${config.description ? config.description : "Generated with Doccupine"}'}\`,
@@ -1 +1 @@
1
- export declare const themeTemplate = "\"use client\";\nimport customThemeJson from \"@/theme.json\";\n\ninterface CustomTheme {\n default?: Partial<Colors>;\n dark?: Partial<Colors>;\n}\n\nconst customTheme = customThemeJson as CustomTheme;\n\nexport const breakpoints: Breakpoints = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1440,\n xxxl: 1920,\n};\n\nexport function mq(minWidth: keyof Breakpoints) {\n return `@media screen and (min-width: ${breakpoints[minWidth]}px)`;\n}\n\nexport const spacing: Spacing = {\n maxWidth: { xs: \"1280px\", xxxl: \"1440px\" },\n padding: { xs: \"20px\", lg: \"40px\" },\n radius: { xs: \"6px\", lg: \"12px\", xl: \"30px\" },\n gridGap: { xs: \"20px\", lg: \"40px\" },\n};\n\nexport const colors: Colors = {\n primaryLight: \"#d1d5db\",\n primary: \"#6b7280\",\n primaryDark: \"#374151\",\n secondaryLight: \"#c4b5fd\",\n secondary: \"#8b5cf6\",\n secondaryDark: \"#5b21b6\",\n tertiaryLight: \"#86efac\",\n tertiary: \"#22c55e\",\n tertiaryDark: \"#15803d\",\n grayLight: \"#e5e7eb\",\n gray: \"#9ca3af\",\n grayDark: \"#4b5563\",\n success: \"#84cc16\",\n error: \"#ef4444\",\n warning: \"#eab308\",\n info: \"#06b6d4\",\n dark: \"#000000\",\n light: \"#ffffff\",\n ...(customTheme.default ? (customTheme.default as Partial<Colors>) : {}),\n};\n\nexport const colorsDark: Colors = {\n primaryLight: \"#9ca3af\",\n primary: \"#6b7280\",\n primaryDark: \"#374151\",\n secondaryLight: \"#ddd6fe\",\n secondary: \"#a78bfa\",\n secondaryDark: \"#7c3aed\",\n tertiaryLight: \"#6ee7b7\",\n tertiary: \"#10b981\",\n tertiaryDark: \"#065f46\",\n grayLight: \"#1a1a1a\",\n gray: \"#454444\",\n grayDark: \"#808080\",\n success: \"#84cc16\",\n error: \"#ef4444\",\n warning: \"#eab308\",\n info: \"#06b6d4\",\n dark: \"#ffffff\",\n light: \"#000000\",\n ...(customTheme.dark ? (customTheme.dark as Partial<Colors>) : {}),\n};\n\nexport const shadows: Shadows = {\n xs: \"0px 4px 4px 0px rgba(18, 18, 18, 0.04), 0px 1px 3px 0px rgba(39, 41, 45, 0.02)\",\n sm: \"0px 4px 4px 0px rgba(18, 18, 18, 0.08), 0px 1px 3px 0px rgba(39, 41, 45, 0.04)\",\n md: \"0px 8px 8px 0px rgba(18, 18, 18, 0.16), 0px 2px 3px 0px rgba(39, 41, 45, 0.06)\",\n lg: \"0px 16px 24px 0px rgba(18, 18, 18, 0.20), 0px 2px 3px 0px rgba(39, 41, 45, 0.08)\",\n xl: \"0px 24px 32px 0px rgba(18, 18, 18, 0.24), 0px 2px 3px 0px rgba(39, 41, 45, 0.12)\",\n};\n\nexport const shadowsDark: Shadows = {\n xs: \"0px 4px 4px 0px rgba(255, 255, 255, 0.04), 0px 1px 3px 0px rgba(255, 255, 255, 0.02)\",\n sm: \"0px 4px 4px 0px rgba(255, 255, 255, 0.08), 0px 1px 3px 0px rgba(255, 255, 255, 0.04)\",\n md: \"0px 8px 8px 0px rgba(255, 255, 255, 0.16), 0px 2px 3px 0px rgba(255, 255, 255, 0.06)\",\n lg: \"0px 16px 24px 0px rgba(255, 255, 255, 0.20), 0px 2px 3px 0px rgba(255, 255, 255, 0.08)\",\n xl: \"0px 24px 32px 0px rgba(255, 255, 255, 0.24), 0px 2px 3px 0px rgba(255, 255, 255, 0.12)\",\n};\n\nexport const fonts: Fonts = {\n text: \"Inter\",\n head: \"Inter\",\n mono: \"Roboto Mono, monospace\",\n};\n\nexport const fontSizes: FontSizes = {\n hero1: { xs: \"72px\", lg: \"128px\" },\n hero2: { xs: \"60px\", lg: \"96px\" },\n hero3: { xs: \"36px\", lg: \"72px\" },\n\n h1: { xs: \"40px\", lg: \"60px\" },\n h2: { xs: \"30px\", lg: \"36px\" },\n h3: { xs: \"28px\", lg: \"30px\" },\n h4: { xs: \"24px\", lg: \"26px\" },\n h5: { xs: \"18px\", lg: \"20px\" },\n h6: { xs: \"16px\", lg: \"18px\" },\n\n text: { xs: \"14px\", lg: \"16px\" },\n strong: { xs: \"14px\", lg: \"16px\" },\n small: { xs: \"12px\", lg: \"14px\" },\n\n blockquote: { xs: \"16px\", lg: \"18px\" },\n code: { xs: \"14px\", lg: \"16px\" },\n\n button: { xs: \"16px\", lg: \"16px\" },\n buttonBig: { xs: \"18px\", lg: \"18px\" },\n\n input: { xs: \"16px\", lg: \"16px\" },\n inputBig: { xs: \"18px\", lg: \"18px\" },\n};\n\nexport const lineHeights: LineHeights = {\n hero1: { xs: \"1.1\", lg: \"1.1\" },\n hero2: { xs: \"1.1\", lg: \"1.1\" },\n hero3: { xs: \"1.17\", lg: \"1.1\" },\n\n h1: { xs: \"1\", lg: \"1.07\" },\n h2: { xs: \"1.2\", lg: \"1.2\" },\n h3: { xs: \"1.3\", lg: \"1.5\" },\n h4: { xs: \"1.3\", lg: \"1.5\" },\n h5: { xs: \"1.6\", lg: \"1.5\" },\n h6: { xs: \"1.6\", lg: \"1.6\" },\n\n text: { xs: \"1.7\", lg: \"1.7\" },\n strong: { xs: \"1.7\", lg: \"1.7\" },\n small: { xs: \"1.7\", lg: \"1.7\" },\n\n blockquote: { xs: \"1.7\", lg: \"1.7\" },\n code: { xs: \"1.7\", lg: \"1.7\" },\n\n button: { xs: \"1\", lg: \"1\" },\n buttonBig: { xs: \"1\", lg: \"1\" },\n\n input: { xs: \"1\", lg: \"1\" },\n inputBig: { xs: \"1\", lg: \"1\" },\n};\n\nexport const theme: Theme = {\n breakpoints,\n spacing,\n colors,\n shadows,\n fonts,\n fontSizes,\n lineHeights,\n isDark: false,\n};\n\nexport const themeDark: Theme = {\n breakpoints,\n spacing,\n colors: colorsDark,\n shadows: shadowsDark,\n fonts,\n fontSizes,\n lineHeights,\n isDark: true,\n};\n\nexport interface Breakpoints<TNumber = number> {\n xs: TNumber;\n sm: TNumber;\n md: TNumber;\n lg: TNumber;\n xl: TNumber;\n xxl: TNumber;\n xxxl: TNumber;\n}\n\nexport interface Spacing<TString = string> {\n maxWidth: { xs: TString; xxxl: TString };\n padding: { xs: TString; lg: TString };\n radius: { xs: TString; lg: TString; xl: TString };\n gridGap: { xs: TString; lg: TString };\n}\n\nexport interface Colors<TString = string> {\n primaryLight: TString;\n primary: TString;\n primaryDark: TString;\n\n secondaryLight: TString;\n secondary: TString;\n secondaryDark: TString;\n\n tertiaryLight: TString;\n tertiary: TString;\n tertiaryDark: TString;\n\n grayLight: TString;\n gray: TString;\n grayDark: TString;\n\n success: TString;\n error: TString;\n warning: TString;\n info: TString;\n\n dark: TString;\n light: TString;\n}\n\ninterface Shadows<TString = string> {\n xs: TString;\n sm: TString;\n md: TString;\n lg: TString;\n xl: TString;\n}\n\nexport interface Fonts<TString = string> {\n head: TString;\n text: TString;\n mono: TString;\n}\n\nexport interface FontSizes<TString = string> {\n hero1: { xs: TString; lg: TString };\n hero2: { xs: TString; lg: TString };\n hero3: { xs: TString; lg: TString };\n\n h1: { xs: TString; lg: TString };\n h2: { xs: TString; lg: TString };\n h3: { xs: TString; lg: TString };\n h4: { xs: TString; lg: TString };\n h5: { xs: TString; lg: TString };\n h6: { xs: TString; lg: TString };\n\n text: { xs: TString; lg: TString };\n strong: { xs: TString; lg: TString };\n small: { xs: TString; lg: TString };\n\n blockquote: { xs: TString; lg: TString };\n code: { xs: TString; lg: TString };\n\n button: { xs: TString; lg: TString };\n buttonBig: { xs: TString; lg: TString };\n\n input: { xs: TString; lg: TString };\n inputBig: { xs: TString; lg: TString };\n}\n\nexport interface LineHeights<TString = string> {\n hero1: { xs: TString; lg: TString };\n hero2: { xs: TString; lg: TString };\n hero3: { xs: TString; lg: TString };\n\n h1: { xs: TString; lg: TString };\n h2: { xs: TString; lg: TString };\n h3: { xs: TString; lg: TString };\n h4: { xs: TString; lg: TString };\n h5: { xs: TString; lg: TString };\n h6: { xs: TString; lg: TString };\n\n text: { xs: TString; lg: TString };\n strong: { xs: TString; lg: TString };\n small: { xs: TString; lg: TString };\n\n blockquote: { xs: TString; lg: TString };\n code: { xs: TString; lg: TString };\n\n button: { xs: TString; lg: TString };\n buttonBig: { xs: TString; lg: TString };\n\n input: { xs: TString; lg: TString };\n inputBig: { xs: TString; lg: TString };\n}\n\nexport interface Theme {\n breakpoints: Breakpoints;\n spacing: Spacing;\n colors: Colors;\n shadows: Shadows;\n fonts: Fonts;\n fontSizes: FontSizes;\n lineHeights: LineHeights;\n isDark: boolean;\n}\n";
1
+ export declare const themeTemplate = "\"use client\";\nimport customThemeJson from \"@/theme.json\";\n\ninterface CustomTheme {\n default?: Partial<Colors>;\n dark?: Partial<Colors>;\n}\n\nconst customTheme = customThemeJson as CustomTheme;\n\nexport const breakpoints: Breakpoints = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1440,\n xxxl: 1920,\n};\n\nexport function mq(minWidth: keyof Breakpoints) {\n return `@media screen and (min-width: ${breakpoints[minWidth]}px)`;\n}\n\nexport const spacing: Spacing = {\n maxWidth: { xs: \"1280px\", xxxl: \"1440px\" },\n padding: { xs: \"20px\", lg: \"40px\" },\n radius: { xs: \"6px\", lg: \"12px\", xl: \"30px\" },\n gridGap: { xs: \"20px\", lg: \"40px\" },\n};\n\nexport const colors: Colors = {\n primaryLight: \"#d1d5db\",\n primary: \"#6b7280\",\n primaryDark: \"#374151\",\n secondaryLight: \"#c4b5fd\",\n secondary: \"#8b5cf6\",\n secondaryDark: \"#5b21b6\",\n tertiaryLight: \"#86efac\",\n tertiary: \"#22c55e\",\n tertiaryDark: \"#15803d\",\n grayLight: \"#e5e7eb\",\n gray: \"#9ca3af\",\n grayDark: \"#4b5563\",\n success: \"#84cc16\",\n error: \"#ef4444\",\n warning: \"#eab308\",\n info: \"#06b6d4\",\n dark: \"#000000\",\n light: \"#ffffff\",\n ...(customTheme.default ? (customTheme.default as Partial<Colors>) : {}),\n};\n\nexport const colorsDark: Colors = {\n primaryLight: \"#9ca3af\",\n primary: \"#6b7280\",\n primaryDark: \"#374151\",\n secondaryLight: \"#ddd6fe\",\n secondary: \"#a78bfa\",\n secondaryDark: \"#7c3aed\",\n tertiaryLight: \"#6ee7b7\",\n tertiary: \"#10b981\",\n tertiaryDark: \"#065f46\",\n grayLight: \"#1a1a1a\",\n gray: \"#454444\",\n grayDark: \"#808080\",\n success: \"#84cc16\",\n error: \"#ef4444\",\n warning: \"#eab308\",\n info: \"#06b6d4\",\n dark: \"#ffffff\",\n light: \"#000000\",\n ...(customTheme.dark ? (customTheme.dark as Partial<Colors>) : {}),\n};\n\nexport const shadows: Shadows = {\n xs: \"0px 4px 4px 0px rgba(18, 18, 18, 0.04), 0px 1px 3px 0px rgba(39, 41, 45, 0.02)\",\n sm: \"0px 4px 4px 0px rgba(18, 18, 18, 0.08), 0px 1px 3px 0px rgba(39, 41, 45, 0.04)\",\n md: \"0px 8px 8px 0px rgba(18, 18, 18, 0.16), 0px 2px 3px 0px rgba(39, 41, 45, 0.06)\",\n lg: \"0px 16px 24px 0px rgba(18, 18, 18, 0.20), 0px 2px 3px 0px rgba(39, 41, 45, 0.08)\",\n xl: \"0px 24px 32px 0px rgba(18, 18, 18, 0.24), 0px 2px 3px 0px rgba(39, 41, 45, 0.12)\",\n};\n\nexport const shadowsDark: Shadows = {\n xs: \"0px 4px 4px 0px rgba(255, 255, 255, 0.04), 0px 1px 3px 0px rgba(255, 255, 255, 0.02)\",\n sm: \"0px 4px 4px 0px rgba(255, 255, 255, 0.08), 0px 1px 3px 0px rgba(255, 255, 255, 0.04)\",\n md: \"0px 8px 8px 0px rgba(255, 255, 255, 0.16), 0px 2px 3px 0px rgba(255, 255, 255, 0.06)\",\n lg: \"0px 16px 24px 0px rgba(255, 255, 255, 0.20), 0px 2px 3px 0px rgba(255, 255, 255, 0.08)\",\n xl: \"0px 24px 32px 0px rgba(255, 255, 255, 0.24), 0px 2px 3px 0px rgba(255, 255, 255, 0.12)\",\n};\n\nexport const fonts: Fonts = {\n text: \"Inter\",\n head: \"Inter\",\n mono: \"Roboto Mono, monospace\",\n};\n\nexport const fontSizes: FontSizes = {\n hero1: { xs: \"72px\", lg: \"128px\" },\n hero2: { xs: \"60px\", lg: \"96px\" },\n hero3: { xs: \"36px\", lg: \"72px\" },\n\n h1: { xs: \"40px\", lg: \"60px\" },\n h2: { xs: \"30px\", lg: \"36px\" },\n h3: { xs: \"28px\", lg: \"30px\" },\n h4: { xs: \"24px\", lg: \"26px\" },\n h5: { xs: \"18px\", lg: \"20px\" },\n h6: { xs: \"16px\", lg: \"18px\" },\n\n text: { xs: \"14px\", lg: \"16px\" },\n strong: { xs: \"14px\", lg: \"16px\" },\n small: { xs: \"12px\", lg: \"14px\" },\n\n blockquote: { xs: \"16px\", lg: \"18px\" },\n code: { xs: \"14px\", lg: \"16px\" },\n\n button: { xs: \"16px\", lg: \"16px\" },\n buttonBig: { xs: \"18px\", lg: \"18px\" },\n buttonSmall: { xs: \"14px\", lg: \"14px\" },\n\n input: { xs: \"16px\", lg: \"16px\" },\n inputBig: { xs: \"18px\", lg: \"18px\" },\n inputSmall: { xs: \"14px\", lg: \"14px\" },\n};\n\nexport const lineHeights: LineHeights = {\n hero1: { xs: \"1.1\", lg: \"1.1\" },\n hero2: { xs: \"1.1\", lg: \"1.1\" },\n hero3: { xs: \"1.17\", lg: \"1.1\" },\n\n h1: { xs: \"1\", lg: \"1.07\" },\n h2: { xs: \"1.2\", lg: \"1.2\" },\n h3: { xs: \"1.3\", lg: \"1.5\" },\n h4: { xs: \"1.3\", lg: \"1.5\" },\n h5: { xs: \"1.6\", lg: \"1.5\" },\n h6: { xs: \"1.6\", lg: \"1.6\" },\n\n text: { xs: \"1.7\", lg: \"1.7\" },\n strong: { xs: \"1.7\", lg: \"1.7\" },\n small: { xs: \"1.7\", lg: \"1.7\" },\n\n blockquote: { xs: \"1.7\", lg: \"1.7\" },\n code: { xs: \"1.7\", lg: \"1.7\" },\n\n button: { xs: \"1\", lg: \"1\" },\n buttonBig: { xs: \"1\", lg: \"1\" },\n buttonSmall: { xs: \"1\", lg: \"1\" },\n\n input: { xs: \"1\", lg: \"1\" },\n inputBig: { xs: \"1\", lg: \"1\" },\n inputSmall: { xs: \"1\", lg: \"1\" },\n};\n\nexport const theme: Theme = {\n breakpoints,\n spacing,\n colors,\n shadows,\n fonts,\n fontSizes,\n lineHeights,\n isDark: false,\n};\n\nexport const themeDark: Theme = {\n breakpoints,\n spacing,\n colors: colorsDark,\n shadows: shadowsDark,\n fonts,\n fontSizes,\n lineHeights,\n isDark: true,\n};\n\nexport interface Breakpoints<TNumber = number> {\n xs: TNumber;\n sm: TNumber;\n md: TNumber;\n lg: TNumber;\n xl: TNumber;\n xxl: TNumber;\n xxxl: TNumber;\n}\n\nexport interface Spacing<TString = string> {\n maxWidth: { xs: TString; xxxl: TString };\n padding: { xs: TString; lg: TString };\n radius: { xs: TString; lg: TString; xl: TString };\n gridGap: { xs: TString; lg: TString };\n}\n\nexport interface Colors<TString = string> {\n primaryLight: TString;\n primary: TString;\n primaryDark: TString;\n\n secondaryLight: TString;\n secondary: TString;\n secondaryDark: TString;\n\n tertiaryLight: TString;\n tertiary: TString;\n tertiaryDark: TString;\n\n grayLight: TString;\n gray: TString;\n grayDark: TString;\n\n success: TString;\n error: TString;\n warning: TString;\n info: TString;\n\n dark: TString;\n light: TString;\n}\n\ninterface Shadows<TString = string> {\n xs: TString;\n sm: TString;\n md: TString;\n lg: TString;\n xl: TString;\n}\n\nexport interface Fonts<TString = string> {\n head: TString;\n text: TString;\n mono: TString;\n}\n\nexport interface FontSizes<TString = string> {\n hero1: { xs: TString; lg: TString };\n hero2: { xs: TString; lg: TString };\n hero3: { xs: TString; lg: TString };\n\n h1: { xs: TString; lg: TString };\n h2: { xs: TString; lg: TString };\n h3: { xs: TString; lg: TString };\n h4: { xs: TString; lg: TString };\n h5: { xs: TString; lg: TString };\n h6: { xs: TString; lg: TString };\n\n text: { xs: TString; lg: TString };\n strong: { xs: TString; lg: TString };\n small: { xs: TString; lg: TString };\n\n blockquote: { xs: TString; lg: TString };\n code: { xs: TString; lg: TString };\n\n button: { xs: TString; lg: TString };\n buttonBig: { xs: TString; lg: TString };\n buttonSmall: { xs: TString; lg: TString };\n\n input: { xs: TString; lg: TString };\n inputBig: { xs: TString; lg: TString };\n inputSmall: { xs: TString; lg: TString };\n}\n\nexport interface LineHeights<TString = string> {\n hero1: { xs: TString; lg: TString };\n hero2: { xs: TString; lg: TString };\n hero3: { xs: TString; lg: TString };\n\n h1: { xs: TString; lg: TString };\n h2: { xs: TString; lg: TString };\n h3: { xs: TString; lg: TString };\n h4: { xs: TString; lg: TString };\n h5: { xs: TString; lg: TString };\n h6: { xs: TString; lg: TString };\n\n text: { xs: TString; lg: TString };\n strong: { xs: TString; lg: TString };\n small: { xs: TString; lg: TString };\n\n blockquote: { xs: TString; lg: TString };\n code: { xs: TString; lg: TString };\n\n button: { xs: TString; lg: TString };\n buttonBig: { xs: TString; lg: TString };\n buttonSmall: { xs: TString; lg: TString };\n\n input: { xs: TString; lg: TString };\n inputBig: { xs: TString; lg: TString };\n inputSmall: { xs: TString; lg: TString };\n}\n\nexport interface Theme {\n breakpoints: Breakpoints;\n spacing: Spacing;\n colors: Colors;\n shadows: Shadows;\n fonts: Fonts;\n fontSizes: FontSizes;\n lineHeights: LineHeights;\n isDark: boolean;\n}\n";
@@ -116,9 +116,11 @@ export const fontSizes: FontSizes = {
116
116
 
117
117
  button: { xs: "16px", lg: "16px" },
118
118
  buttonBig: { xs: "18px", lg: "18px" },
119
+ buttonSmall: { xs: "14px", lg: "14px" },
119
120
 
120
121
  input: { xs: "16px", lg: "16px" },
121
122
  inputBig: { xs: "18px", lg: "18px" },
123
+ inputSmall: { xs: "14px", lg: "14px" },
122
124
  };
123
125
 
124
126
  export const lineHeights: LineHeights = {
@@ -142,9 +144,11 @@ export const lineHeights: LineHeights = {
142
144
 
143
145
  button: { xs: "1", lg: "1" },
144
146
  buttonBig: { xs: "1", lg: "1" },
147
+ buttonSmall: { xs: "1", lg: "1" },
145
148
 
146
149
  input: { xs: "1", lg: "1" },
147
150
  inputBig: { xs: "1", lg: "1" },
151
+ inputSmall: { xs: "1", lg: "1" },
148
152
  };
149
153
 
150
154
  export const theme: Theme = {
@@ -247,9 +251,11 @@ export interface FontSizes<TString = string> {
247
251
 
248
252
  button: { xs: TString; lg: TString };
249
253
  buttonBig: { xs: TString; lg: TString };
254
+ buttonSmall: { xs: TString; lg: TString };
250
255
 
251
256
  input: { xs: TString; lg: TString };
252
257
  inputBig: { xs: TString; lg: TString };
258
+ inputSmall: { xs: TString; lg: TString };
253
259
  }
254
260
 
255
261
  export interface LineHeights<TString = string> {
@@ -273,9 +279,11 @@ export interface LineHeights<TString = string> {
273
279
 
274
280
  button: { xs: TString; lg: TString };
275
281
  buttonBig: { xs: TString; lg: TString };
282
+ buttonSmall: { xs: TString; lg: TString };
276
283
 
277
284
  input: { xs: TString; lg: TString };
278
285
  inputBig: { xs: TString; lg: TString };
286
+ inputSmall: { xs: TString; lg: TString };
279
287
  }
280
288
 
281
289
  export interface Theme {
@@ -1 +1 @@
1
- export declare const deploymentMdxTemplate = "---\ntitle: \"Deployment\"\ndescription: \"Deploy your Doccupine Next.js app to Vercel.\"\ndate: \"2025-01-15\"\ncategory: \"Configuration\"\ncategoryOrder: 3\norder: 9\n---\n# Deployment\nDeploy your Doccupine site as a Next.js application on Vercel. You can connect a Git repository for automatic deployments or use the Vercel CLI for manual control.\n\n<Callout type=\"warning\">\n Only deploy the generated website directory produced by Doccupine (the Next.js app). Do not deploy your MDX source folder. If your repo contains multiple folders, set the Vercel project <strong>Root Directory</strong> to the generated site folder.\n</Callout>\n\n## Prerequisites\n- **Vercel account**: https://vercel.com/signup\n- **Git repository**: GitHub, GitLab, or Bitbucket with your Next.js app\n- **Node.js**: Use an LTS version\n\n## Option 1: Deploy via Git (recommended)\n1. **Push the generated site folder** to a Git repository (or ensure the repo\u2019s root is the generated website directory).\n2. **Import to Vercel**: Go to https://vercel.com/new and select your repository.\n3. If your repo is a monorepo, set the project **Root Directory** to the generated website folder (Project \u2192 Settings \u2192 General \u2192 Root Directory).\n4. **Framework preset**: Vercel auto-detects Next.js.\n5. **Build settings** (defaults are fine):\n - Install Command: `pnpm i`, `yarn`, or `npm i` (Vercel auto-detects)\n - Build Command: `next build`\n - Output: handled automatically by Vercel for Next.js\n6. **Environment Variables**: Add any values required by your docs (see below).\n7. **Deploy**: Vercel creates a Preview deployment per branch. Merge to your main branch to promote to Production.\n\n## Option 2: Deploy with Vercel CLI\n1. Install the CLI:\n ```bash\n npm i -g vercel\n ```\n2. From the generated website directory, run:\n ```bash\n vercel\n ```\n Follow the prompts to link or create a project.\n3. When ready for production:\n ```bash\n vercel --prod\n ```\n\n## Environment variables\nIf your documentation or site behavior depends on environment variables, define them in Vercel:\n- In the Vercel dashboard: Project \u2192 Settings \u2192 Environment Variables.\n- Or via CLI:\n ```bash\n vercel env add NAME\n ```\n\nFor Next.js, make sure variables needed on the client are prefixed with `NEXT_PUBLIC_`.\n\n## Next.js configuration notes\n- Ensure a valid `next.config.js` if you customize images, basePath, or MDX handling.\n- If you use MDX, include the necessary plugins/config in your project.\n- Vercel automatically enables Image Optimization and Edge/CDN features for Next.js.\n\n## Custom domains\n- Add a domain in Vercel: Project \u2192 Settings \u2192 Domains.\n- Point DNS to Vercel as instructed. Changes can take a few minutes to propagate.\n\n## Troubleshooting\n- **Build failed**: Check the Vercel build logs. Confirm Node version and lockfile are present.\n- **Missing content**: Ensure your MDX directory and any assets are included in the repository.\n- **Env not applied**: Add variables for the correct environment (Preview vs Production) and redeploy.\n- **Images not loading**: Configure `images.domains` in `next.config.js` if using remote images.\n\n## Tips\n- **Preview first**: Use Preview deployments to validate docs before merging to Production.\n- **Cache and performance**: Leverage ISR or static generation where applicable for faster loads.\n- **Consistent tooling**: Keep a single package manager and lockfile in the repo (npm, pnpm, or yarn).";
1
+ export declare const deploymentMdxTemplate = "---\ntitle: \"Deployment\"\ndescription: \"Deploy your documentation site with Doccupine or self-host on Vercel.\"\ndate: \"2025-01-15\"\ncategory: \"Configuration\"\ncategoryOrder: 3\norder: 9\n---\n# Deployment\n\n## Deploy with Doccupine\n\nSign up for an account at [Doccupine](https://www.doccupine.com) and create your docs instantly \u2014 no build configuration, no infrastructure to manage.\n\nDoccupine gives you:\n- **Automatic deployments** on every push to your repository\n- **Site customization** through a visual dashboard \u2014 no code changes needed\n- **Team collaboration** so your whole team can manage docs together\n- **Custom domains** with automatic SSL\n- **AI Assistant and MCP server** included out of the box, no API key required\n\nGet started at [doccupine.com](https://www.doccupine.com).\n\n---\n\n## Self-hosting on Vercel\n\nIf you prefer to self-host, Doccupine generates a standard Next.js app that can be deployed to Vercel.\n\n<Callout type=\"warning\">\n Deploy the generated website directory (the Next.js app), not your MDX source folder. In a monorepo, set the Vercel <strong>Root Directory</strong> to the generated site folder.\n</Callout>\n\n### Quick start\n1. Push the generated site folder to GitHub, GitLab, or Bitbucket.\n2. Import the repository at [vercel.com/new](https://vercel.com/new). Vercel auto-detects Next.js and applies the correct build settings.\n3. Add any required environment variables under Project \u2192 Settings \u2192 Environment Variables.\n4. Deploy. Vercel creates Preview deployments per branch and promotes to Production on merge to main.\n\nYou can also deploy from the command line with the [Vercel CLI](https://vercel.com/docs/cli):\n\n```bash\nnpm i -g vercel\n```\n\n### Custom domains\nAdd a domain under Project \u2192 Settings \u2192 Domains and point your DNS to Vercel.\n\n### Troubleshooting\n- **Build failed** \u2014 Check build logs. Ensure your lockfile and correct Node.js version are present.\n- **Missing content** \u2014 Verify your MDX files and assets are in the repository.";
@@ -1,76 +1,51 @@
1
1
  export const deploymentMdxTemplate = `---
2
2
  title: "Deployment"
3
- description: "Deploy your Doccupine Next.js app to Vercel."
3
+ description: "Deploy your documentation site with Doccupine or self-host on Vercel."
4
4
  date: "2025-01-15"
5
5
  category: "Configuration"
6
6
  categoryOrder: 3
7
7
  order: 9
8
8
  ---
9
9
  # Deployment
10
- Deploy your Doccupine site as a Next.js application on Vercel. You can connect a Git repository for automatic deployments or use the Vercel CLI for manual control.
11
10
 
12
- <Callout type="warning">
13
- Only deploy the generated website directory produced by Doccupine (the Next.js app). Do not deploy your MDX source folder. If your repo contains multiple folders, set the Vercel project <strong>Root Directory</strong> to the generated site folder.
14
- </Callout>
11
+ ## Deploy with Doccupine
12
+
13
+ Sign up for an account at [Doccupine](https://www.doccupine.com) and create your docs instantly — no build configuration, no infrastructure to manage.
14
+
15
+ Doccupine gives you:
16
+ - **Automatic deployments** on every push to your repository
17
+ - **Site customization** through a visual dashboard — no code changes needed
18
+ - **Team collaboration** so your whole team can manage docs together
19
+ - **Custom domains** with automatic SSL
20
+ - **AI Assistant and MCP server** included out of the box, no API key required
15
21
 
16
- ## Prerequisites
17
- - **Vercel account**: https://vercel.com/signup
18
- - **Git repository**: GitHub, GitLab, or Bitbucket with your Next.js app
19
- - **Node.js**: Use an LTS version
22
+ Get started at [doccupine.com](https://www.doccupine.com).
20
23
 
21
- ## Option 1: Deploy via Git (recommended)
22
- 1. **Push the generated site folder** to a Git repository (or ensure the repo’s root is the generated website directory).
23
- 2. **Import to Vercel**: Go to https://vercel.com/new and select your repository.
24
- 3. If your repo is a monorepo, set the project **Root Directory** to the generated website folder (Project → Settings → General → Root Directory).
25
- 4. **Framework preset**: Vercel auto-detects Next.js.
26
- 5. **Build settings** (defaults are fine):
27
- - Install Command: \`pnpm i\`, \`yarn\`, or \`npm i\` (Vercel auto-detects)
28
- - Build Command: \`next build\`
29
- - Output: handled automatically by Vercel for Next.js
30
- 6. **Environment Variables**: Add any values required by your docs (see below).
31
- 7. **Deploy**: Vercel creates a Preview deployment per branch. Merge to your main branch to promote to Production.
24
+ ---
25
+
26
+ ## Self-hosting on Vercel
32
27
 
33
- ## Option 2: Deploy with Vercel CLI
34
- 1. Install the CLI:
35
- \`\`\`bash
36
- npm i -g vercel
37
- \`\`\`
38
- 2. From the generated website directory, run:
39
- \`\`\`bash
40
- vercel
41
- \`\`\`
42
- Follow the prompts to link or create a project.
43
- 3. When ready for production:
44
- \`\`\`bash
45
- vercel --prod
46
- \`\`\`
28
+ If you prefer to self-host, Doccupine generates a standard Next.js app that can be deployed to Vercel.
47
29
 
48
- ## Environment variables
49
- If your documentation or site behavior depends on environment variables, define them in Vercel:
50
- - In the Vercel dashboard: Project → Settings → Environment Variables.
51
- - Or via CLI:
52
- \`\`\`bash
53
- vercel env add NAME
54
- \`\`\`
30
+ <Callout type="warning">
31
+ Deploy the generated website directory (the Next.js app), not your MDX source folder. In a monorepo, set the Vercel <strong>Root Directory</strong> to the generated site folder.
32
+ </Callout>
55
33
 
56
- For Next.js, make sure variables needed on the client are prefixed with \`NEXT_PUBLIC_\`.
34
+ ### Quick start
35
+ 1. Push the generated site folder to GitHub, GitLab, or Bitbucket.
36
+ 2. Import the repository at [vercel.com/new](https://vercel.com/new). Vercel auto-detects Next.js and applies the correct build settings.
37
+ 3. Add any required environment variables under Project → Settings → Environment Variables.
38
+ 4. Deploy. Vercel creates Preview deployments per branch and promotes to Production on merge to main.
57
39
 
58
- ## Next.js configuration notes
59
- - Ensure a valid \`next.config.js\` if you customize images, basePath, or MDX handling.
60
- - If you use MDX, include the necessary plugins/config in your project.
61
- - Vercel automatically enables Image Optimization and Edge/CDN features for Next.js.
40
+ You can also deploy from the command line with the [Vercel CLI](https://vercel.com/docs/cli):
62
41
 
63
- ## Custom domains
64
- - Add a domain in Vercel: Project → Settings → Domains.
65
- - Point DNS to Vercel as instructed. Changes can take a few minutes to propagate.
42
+ \`\`\`bash
43
+ npm i -g vercel
44
+ \`\`\`
66
45
 
67
- ## Troubleshooting
68
- - **Build failed**: Check the Vercel build logs. Confirm Node version and lockfile are present.
69
- - **Missing content**: Ensure your MDX directory and any assets are included in the repository.
70
- - **Env not applied**: Add variables for the correct environment (Preview vs Production) and redeploy.
71
- - **Images not loading**: Configure \`images.domains\` in \`next.config.js\` if using remote images.
46
+ ### Custom domains
47
+ Add a domain under Project Settings Domains and point your DNS to Vercel.
72
48
 
73
- ## Tips
74
- - **Preview first**: Use Preview deployments to validate docs before merging to Production.
75
- - **Cache and performance**: Leverage ISR or static generation where applicable for faster loads.
76
- - **Consistent tooling**: Keep a single package manager and lockfile in the repo (npm, pnpm, or yarn).`;
49
+ ### Troubleshooting
50
+ - **Build failed** Check build logs. Ensure your lockfile and correct Node.js version are present.
51
+ - **Missing content** Verify your MDX files and assets are in the repository.`;
@@ -9,11 +9,11 @@ export const packageJsonTemplate = JSON.stringify({
9
9
  lint: "eslint .",
10
10
  },
11
11
  dependencies: {
12
- "@langchain/anthropic": "^1.3.15",
13
- "@langchain/google-genai": "^2.1.15",
14
- "@langchain/openai": "^1.2.5",
12
+ "@langchain/anthropic": "^1.3.17",
13
+ "@langchain/google-genai": "^2.1.17",
14
+ "@langchain/openai": "^1.2.7",
15
15
  "@modelcontextprotocol/sdk": "^1.26.0",
16
- langchain: "^1.2.18",
16
+ langchain: "^1.2.21",
17
17
  next: "16.1.6",
18
18
  react: "19.2.4",
19
19
  "react-dom": "19.2.4",
@@ -24,11 +24,11 @@ export const packageJsonTemplate = JSON.stringify({
24
24
  "@types/react": "^19",
25
25
  "@types/react-dom": "^19",
26
26
  "baseline-browser-mapping": "^2.9.19",
27
- "cherry-styled-components": "^0.1.7",
27
+ "cherry-styled-components": "^0.1.8",
28
28
  eslint: "^9",
29
29
  "eslint-config-next": "16.1.6",
30
30
  "lucide-react": "^0.563.0",
31
- "next-mdx-remote": "^5.0.0",
31
+ "next-mdx-remote": "^6.0.0",
32
32
  polished: "^4.3.1",
33
33
  prettier: "^3.8.1",
34
34
  "rehype-highlight": "^7.0.2",
@@ -131,6 +131,7 @@ export const fontSizes: FontSizes = {
131
131
 
132
132
  input: { xs: "16px", lg: "16px" },
133
133
  inputBig: { xs: "18px", lg: "18px" },
134
+ inputSmall: { xs: "14px", lg: "14px" },
134
135
  };
135
136
 
136
137
  export const lineHeights: LineHeights = {
@@ -157,6 +158,7 @@ export const lineHeights: LineHeights = {
157
158
 
158
159
  input: { xs: "1", lg: "1" },
159
160
  inputBig: { xs: "1", lg: "1" },
161
+ inputSmall: { xs: "1.00", lg: "1.00" },
160
162
  };
161
163
 
162
164
  export const theme: Theme = {
@@ -262,6 +264,7 @@ export interface FontSizes<TString = string> {
262
264
 
263
265
  input: { xs: TString; lg: TString };
264
266
  inputBig: { xs: TString; lg: TString };
267
+ inputSmall: { xs: TString; lg: TString };
265
268
  }
266
269
 
267
270
  export interface LineHeights<TString = string> {
@@ -288,6 +291,7 @@ export interface LineHeights<TString = string> {
288
291
 
289
292
  input: { xs: TString; lg: TString };
290
293
  inputBig: { xs: TString; lg: TString };
294
+ inputSmall: { xs: TString; lg: TString };
291
295
  }
292
296
 
293
297
  export interface Theme {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "doccupine",
3
- "version": "0.0.37",
3
+ "version": "0.0.39",
4
4
  "description": "Document management system that allows you to store, organize, and share your documentation with ease. AI-ready.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -44,7 +44,7 @@
44
44
  "devDependencies": {
45
45
  "@types/chokidar": "^2.1.7",
46
46
  "@types/fs-extra": "^11.0.4",
47
- "@types/node": "^25.2.2",
47
+ "@types/node": "^25.2.3",
48
48
  "@types/prompts": "^2.4.9",
49
49
  "typescript": "^5.9.3"
50
50
  },