新建项目,集成官方docs,初次提交
This commit is contained in:
247
nuxt.schema.ts
Normal file
247
nuxt.schema.ts
Normal file
@@ -0,0 +1,247 @@
|
||||
import { field, group } from '@nuxt/content/preview'
|
||||
|
||||
export default defineNuxtSchema({
|
||||
appConfig: {
|
||||
ui: group({
|
||||
title: 'UI',
|
||||
description: 'UI Customization.',
|
||||
icon: 'i-mdi-palette-outline',
|
||||
fields: {
|
||||
colors: group({
|
||||
title: 'Colors',
|
||||
description: 'Manage main colors of your application',
|
||||
icon: 'i-mdi-palette-outline',
|
||||
fields: {
|
||||
primary: field({
|
||||
type: 'string',
|
||||
title: 'Primary',
|
||||
description: 'Primary color of your UI.',
|
||||
icon: 'i-mdi-palette-outline',
|
||||
default: 'green',
|
||||
required: ['red', 'orange', 'amber', 'yellow', 'lime', 'green', 'emerald', 'teal', 'cyan', 'sky', 'blue', 'indigo', 'violet', 'purple', 'fuchsia', 'pink', 'rose']
|
||||
}),
|
||||
neutral: field({
|
||||
type: 'string',
|
||||
title: 'Neutral',
|
||||
description: 'Neutral color of your UI.',
|
||||
icon: 'i-mdi-palette-outline',
|
||||
default: 'slate',
|
||||
required: ['slate', 'gray', 'zinc', 'neutral', 'stone']
|
||||
})
|
||||
}
|
||||
}),
|
||||
icons: group({
|
||||
title: 'Icons',
|
||||
description: 'Manage icons used in the application.',
|
||||
icon: 'i-mdi-application-settings-outline',
|
||||
fields: {
|
||||
search: field({
|
||||
type: 'icon',
|
||||
title: 'Search Bar',
|
||||
description: 'Icon to display in the search bar.',
|
||||
icon: 'i-mdi-magnify',
|
||||
default: 'i-lucide-search'
|
||||
}),
|
||||
dark: field({
|
||||
type: 'icon',
|
||||
title: 'Dark mode',
|
||||
description: 'Icon of color mode button for dark mode.',
|
||||
icon: 'i-mdi-moon-waning-crescent',
|
||||
default: 'i-lucide-moon'
|
||||
}),
|
||||
light: field({
|
||||
type: 'icon',
|
||||
title: 'Light mode',
|
||||
description: 'Icon of color mode button for light mode.',
|
||||
icon: 'i-mdi-white-balance-sunny',
|
||||
default: 'i-lucide-sun'
|
||||
}),
|
||||
external: field({
|
||||
type: 'icon',
|
||||
title: 'External Link',
|
||||
description: 'Icon for external link.',
|
||||
icon: 'i-mdi-arrow-top-right',
|
||||
default: 'i-lucide-external-link'
|
||||
}),
|
||||
chevron: field({
|
||||
type: 'icon',
|
||||
title: 'Chevron',
|
||||
description: 'Icon for chevron.',
|
||||
icon: 'i-mdi-chevron-down',
|
||||
default: 'i-lucide-chevron-down'
|
||||
}),
|
||||
hash: field({
|
||||
type: 'icon',
|
||||
title: 'Hash',
|
||||
description: 'Icon for hash anchors.',
|
||||
icon: 'i-ph-hash',
|
||||
default: 'i-lucide-hash'
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}),
|
||||
seo: group({
|
||||
title: 'SEO',
|
||||
description: 'SEO configuration.',
|
||||
icon: 'i-ph-app-window',
|
||||
fields: {
|
||||
siteName: field({
|
||||
type: 'string',
|
||||
title: 'Site Name',
|
||||
description: 'Name used in ogSiteName and used as second part of your page title (My page title - Nuxt UI Pro).',
|
||||
icon: 'i-mdi-web',
|
||||
default: []
|
||||
})
|
||||
}
|
||||
}),
|
||||
header: group({
|
||||
title: 'Header',
|
||||
description: 'Header configuration.',
|
||||
icon: 'i-mdi-page-layout-header',
|
||||
fields: {
|
||||
title: field({
|
||||
type: 'string',
|
||||
title: 'Title',
|
||||
description: 'Title to display in the header.',
|
||||
icon: 'i-mdi-format-title',
|
||||
default: ''
|
||||
}),
|
||||
to: field({
|
||||
type: 'string',
|
||||
title: 'To',
|
||||
description: 'URL to redirect to when the title is clicked.',
|
||||
icon: 'i-mdi-link-variant',
|
||||
default: ''
|
||||
}),
|
||||
logo: group({
|
||||
title: 'Logo',
|
||||
description: 'Header logo configuration.',
|
||||
icon: 'i-mdi-image-filter-center-focus-strong-outline',
|
||||
fields: {
|
||||
light: field({
|
||||
type: 'media',
|
||||
title: 'Light Mode Logo',
|
||||
description: 'Pick an image from your gallery.',
|
||||
icon: 'i-mdi-white-balance-sunny',
|
||||
default: ''
|
||||
}),
|
||||
dark: field({
|
||||
type: 'media',
|
||||
title: 'Dark Mode Logo',
|
||||
description: 'Pick an image from your gallery.',
|
||||
icon: 'i-mdi-moon-waning-crescent',
|
||||
default: ''
|
||||
}),
|
||||
alt: field({
|
||||
type: 'string',
|
||||
title: 'Alt',
|
||||
description: 'Alt to display for accessibility.',
|
||||
icon: 'i-mdi-alphabet-latin',
|
||||
default: ''
|
||||
})
|
||||
}
|
||||
}),
|
||||
search: field({
|
||||
type: 'boolean',
|
||||
title: 'Search Bar',
|
||||
description: 'Hide or display the search bar.',
|
||||
icon: 'i-mdi-magnify',
|
||||
default: true
|
||||
}),
|
||||
colorMode: field({
|
||||
type: 'boolean',
|
||||
title: 'Color Mode',
|
||||
description: 'Hide or display the color mode button in your header.',
|
||||
icon: 'i-mdi-moon-waning-crescent',
|
||||
default: true
|
||||
}),
|
||||
links: field({
|
||||
type: 'array',
|
||||
title: 'Links',
|
||||
description: 'Array of link object displayed in header.',
|
||||
icon: 'i-mdi-link-variant',
|
||||
default: []
|
||||
})
|
||||
}
|
||||
}),
|
||||
footer: group({
|
||||
title: 'Footer',
|
||||
description: 'Footer configuration.',
|
||||
icon: 'i-mdi-page-layout-footer',
|
||||
fields: {
|
||||
credits: field({
|
||||
type: 'string',
|
||||
title: 'Footer credits section',
|
||||
description: 'Text to display as credits in the footer.',
|
||||
icon: 'i-mdi-circle-edit-outline',
|
||||
default: ''
|
||||
}),
|
||||
colorMode: field({
|
||||
type: 'boolean',
|
||||
title: 'Color Mode',
|
||||
description: 'Hide or display the color mode button in the footer.',
|
||||
icon: 'i-mdi-moon-waning-crescent',
|
||||
default: false
|
||||
}),
|
||||
links: field({
|
||||
type: 'array',
|
||||
title: 'Links',
|
||||
description: 'Array of link object displayed in footer.',
|
||||
icon: 'i-mdi-link-variant',
|
||||
default: []
|
||||
})
|
||||
}
|
||||
}),
|
||||
toc: group({
|
||||
title: 'Table of contents',
|
||||
description: 'TOC configuration.',
|
||||
icon: 'i-mdi-table-of-contents',
|
||||
fields: {
|
||||
title: field({
|
||||
type: 'string',
|
||||
title: 'Title',
|
||||
description: 'Text to display as title of the main toc.',
|
||||
icon: 'i-mdi-format-title',
|
||||
default: ''
|
||||
}),
|
||||
bottom: group({
|
||||
title: 'Bottom',
|
||||
description: 'Bottom TOC configuration.',
|
||||
icon: 'i-mdi-table-of-contents',
|
||||
fields: {
|
||||
title: field({
|
||||
type: 'string',
|
||||
title: 'Title',
|
||||
description: 'Text to display as title of the bottom toc.',
|
||||
icon: 'i-mdi-format-title',
|
||||
default: ''
|
||||
}),
|
||||
edit: field({
|
||||
type: 'string',
|
||||
title: 'Edit Page Link',
|
||||
description: 'URL of your repository content folder.',
|
||||
icon: 'i-ph-note-pencil',
|
||||
default: ''
|
||||
}),
|
||||
links: field({
|
||||
type: 'array',
|
||||
title: 'Links',
|
||||
description: 'Array of link object displayed in bottom toc.',
|
||||
icon: 'i-mdi-link-variant',
|
||||
default: []
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
declare module '@nuxt/schema' {
|
||||
interface CustomAppConfig {
|
||||
ui: {
|
||||
icons: object
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user