config.mts 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import consola from 'consola'
  2. import { REPO_BRANCH, REPO_PATH } from '@element-plus/build-constants'
  3. import { docsDirName } from '@element-plus/build-utils'
  4. import { languages } from './utils/lang'
  5. import { features, head, mdPlugin, nav, sidebars } from './config'
  6. import type { UserConfig } from 'vitepress'
  7. const buildTransformers = () => {
  8. const transformer = () => {
  9. return {
  10. props: [],
  11. needRuntime: true,
  12. }
  13. }
  14. const transformers = {}
  15. const directives = ['infinite-scroll', 'loading', 'popover', 'click-outside', 'repeat-click', 'trap-focus', 'mousewheel', 'resize']
  16. directives.forEach(k => {
  17. transformers[k] = transformer
  18. })
  19. return transformers
  20. }
  21. consola.debug(`DOC_ENV: ${process.env.DOC_ENV}`)
  22. const locales = {}
  23. languages.forEach(lang => {
  24. locales[`/${lang}`] = {
  25. label: lang,
  26. lang,
  27. }
  28. })
  29. // consola.log('locales', locales)
  30. // consola.log('sidebars', sidebars)
  31. export const config: UserConfig = {
  32. title: 'kankan component 看看组件公共文档',
  33. description: 'a Vue 3 based component library for designers and developers',
  34. lastUpdated: true,
  35. head,
  36. themeConfig: {
  37. repo: REPO_PATH,
  38. docsBranch: REPO_BRANCH,
  39. docsDir: docsDirName,
  40. editLinks: true,
  41. editLinkText: 'Edit this page on GitHub',
  42. lastUpdated: 'Last Updated',
  43. logo: '/images/element-plus-logo.svg',
  44. logoSmall: '/images/element-plus-logo-small.svg',
  45. sidebars,
  46. nav,
  47. agolia: {
  48. apiKey: '377f2b647a96d9b1d62e4780f2344da2',
  49. appId: 'BH4D9OD16A',
  50. },
  51. features,
  52. langs: languages,
  53. },
  54. locales,
  55. markdown: {
  56. config: md => mdPlugin(md),
  57. },
  58. vue: {
  59. template: {
  60. ssr: true,
  61. compilerOptions: {
  62. directiveTransforms: buildTransformers(),
  63. },
  64. },
  65. },
  66. }
  67. export default config