Files
estel_docs/app/app.config.ts
2025-08-15 22:06:27 +08:00

173 lines
5.2 KiB
TypeScript

export default defineAppConfig({
ui: {
colors: {
primary: 'primary',
neutral: 'neutral'
},
container: {
base: 'w-full h-full mx-auto px-2 sm:px-6 lg:px-8'
}
},
seo: {
siteName: 'Estel Docs'
},
header: {
title: 'Estel Docs',
to: '/',
logo: {
alt: '',
light: '',
dark: ''
},
search: true,
colorMode: true,
links: [{
'icon': 'simple-icons-github',
'to': 'https://github.com/estel-li/estel_docs',
'target': '_blank',
'aria-label': 'GitHub'
}]
},
footer: {
credits: `Copyright © ${new Date().getFullYear()} Estel. All rights reserved.`,
colorMode: false,
links: [{
'icon': 'vscode-icons:file-type-swift',
'to': 'https://www.xajiwei.com',
'target': '_blank',
'aria-label': '稷维科技'
}, {
'icon': 'vscode-icons:folder-type-github',
'to': 'https://git.jiwei.xin',
'target': '_blank',
'aria-label': 'gitea'
}, {
'icon': 'simple-icons-github',
'to': 'https://github.com/estel-li/estel_docs',
'target': '_blank',
'aria-label': 'Estel Docs GitHub'
}]
},
toc: {
title: '当前页',
bottom: {
title: 'Community',
edit: 'https://github.com/estel-li/estel_docs/edit/main/content',
links: [{
icon: 'lucide-star',
label: 'GitHub',
to: 'https://github.com/estel-li',
target: '_blank'
}, {
icon: 'lucide-home',
label: '稷维科技',
to: 'https://www.xajiwei.com',
target: '_blank'
}, {
icon: 'simple-icons-nuxtdotjs',
label: '个人博客',
to: 'https://lijue.net',
target: '_blank'
}]
}
},
github: {
url: 'https://github.com/estel-li/estel_docs',
owner: 'estel-li',
name: 'estel_docs',
branch: 'main',
rootDir: ''
},
uiPro: {
prose: {
code: {
base: 'px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block',
variants: {
color: {
new: 'border border-muted text-base font-medium bg-muted bg-gray-100 dark:bg-gray-800 text-[#DD1144]'
}
},
defaultVariants: {
color: 'new'
}
},
pre: {
slots: {
root: 'relative my-5 group',
header: 'flex items-center gap-1.5 border border-muted bg-default border-b-0 relative rounded-t-md px-4 py-3',
filename: 'text-default text-sm/6',
icon: 'size-5 shrink-0',
copy: 'absolute top-[11px] right-[11px] transition',
base: 'group font-mono text-sm/6 border border-muted bg-gray-100 dark:bg-gray-800 rounded-md px-4 py-3 whitespace-pre-wrap break-words overflow-x-auto focus:outline-none'
}
},
codeIcon: {
terminal: 'i-lucide-terminal',
code: 'vscode-icons:file-type-codekit',
kali: 'i-devicon:kalilinux',
bash: 'i-devicon:powershell',
debian: 'i-devicon:debian'
},
codeCollapse: {
slots: {
root: 'relative [&_pre]:h-[350px]',
footer: 'h-14 absolute inset-x-px bottom-px rounded-b-md flex items-center justify-center',
trigger: 'group',
triggerIcon: 'group-data-[state=open]:rotate-180'
},
variants: {
open: {
true: {
root: '[&_pre]:h-auto [&_pre]:min-h-[200px] [&_pre]:max-h-[80vh] [&_pre]:pb-12'
},
false: {
root: '[&_pre]:overflow-hidden',
footer: 'bg-gradient-to-t from-muted'
}
}
}
},
table: {
slots: {
root: 'relative my-5 overflow-x-auto mx-auto',
base: 'w-auto table-auto border-separate border-spacing-0 rounded-md'
}
},
thead: {
base: 'bg-muted'
},
tbody: {
base: ''
},
tr: {
base: '[&:first-child>th:first-child]:rounded-tl-md [&:first-child>th:last-child]:rounded-tr-md [&:last-child>td:first-child]:rounded-bl-md [&:last-child>td:last-child]:rounded-br-md'
},
th: {
base: 'py-3 px-4 font-semibold text-base text-left border-e border-b first:border-s border-t border-muted bg-gray-200 dark:bg-gray-800'
},
td: {
base: 'py-3 px-4 text-sm text-left align-top border-e border-b first:border-s border-muted [&_code]:text-xs/5 [&_p]:my-0 [&_p]:leading-6 [&_ul]:my-0 [&_ol]:my-0 [&_ul]:ps-4.5 [&_ol]:ps-4.5 [&_li]:leading-6 [&_li]:my-0.5'
}
},
blogPost: {
slots: {
root: 'relative group/blog-post flex flex-col rounded-lg overflow-hidden md:w-8/10 md:ml-10',
header: 'relative overflow-hidden aspect-[16/9] w-full pointer-events-none',
body: 'min-w-0 flex-1 flex flex-col',
footer: '',
image: 'object-cover object-top w-full h-full md:p-3',
title: 'text-3xl text-pretty font-bold text-highlighted',
description: 'mt-1 text-lg text-pretty',
authors: 'pt-4 mt-auto flex flex-wrap gap-x-3 gap-y-1.5',
avatar: '',
meta: 'flex items-center gap-2 mb-2',
date: 'text-base',
badge: 'text-sm font-bold'
}
},
blogPosts: {
base: 'flex flex-col gap-8 lg:gap-y-12'
}
}
})