import consola from 'consola' import { REPO_BRANCH, REPO_PATH } from '@element-plus/build-constants' import { docsDirName } from '@element-plus/build-utils' import { languages } from './utils/lang' import { features, head, mdPlugin, nav, sidebars } from './config' import type { UserConfig } from 'vitepress' const buildTransformers = () => { const transformer = () => { return { props: [], needRuntime: true, } } const transformers = {} const directives = [ 'infinite-scroll', 'loading', 'popover', 'click-outside', 'repeat-click', 'trap-focus', 'mousewheel', 'resize', ] directives.forEach((k) => { transformers[k] = transformer }) return transformers } consola.debug(`DOC_ENV: ${process.env.DOC_ENV}`) const locales = {} languages.forEach((lang) => { locales[`/${lang}`] = { label: lang, lang, } }) export const config: UserConfig = { title: 'Element Plus', description: 'a Vue 3 based component library for designers and developers', lastUpdated: true, head, themeConfig: { repo: REPO_PATH, docsBranch: REPO_BRANCH, docsDir: docsDirName, editLinks: true, editLinkText: 'Edit this page on GitHub', lastUpdated: 'Last Updated', logo: '/images/element-plus-logo.svg', logoSmall: '/images/element-plus-logo-small.svg', sidebars, nav, agolia: { apiKey: '377f2b647a96d9b1d62e4780f2344da2', appId: 'BH4D9OD16A', }, features, langs: languages, }, locales, markdown: { config: (md) => mdPlugin(md), }, vue: { template: { ssr: true, compilerOptions: { directiveTransforms: buildTransformers(), }, }, }, } export default config