ant-design-vue/site/routes.js

125 lines
3.4 KiB
JavaScript

import Layout from './components/layout.vue'
import Iframe from './components/iframe.vue'
import demoRoutes from './demoRoutes'
import NProgress from 'nprogress'
const beforeEnter = (to, from, next) => {
NProgress.start()
next()
}
export default [
{ path: '/ant-design-vue/components',
component: Layout,
props: (route) => {
const name = route.path.split('/ant-design-vue/components/')[1].split('/')[0]
return { name, showDemo: true }
},
children: demoRoutes.map((item) => ({
...item,
beforeEnter,
})),
},
{ path: '/ant-design-vue/iframe',
component: Iframe,
children: demoRoutes.map((item) => ({
...item,
props: (route) => {
const hash = route.hash.replace('#', '')
return { iframeName: hash }
},
})),
},
{
path: '/ant-design-vue',
component: Layout,
props: (route) => {
const name = route.path.split('/docs/vue/')[1].split('/')[0]
return { name, showApi: true }
},
children: [
{
path: 'docs/vue/customize-theme',
component: () => import('../docs/vue/customize-theme.en-US.md'),
beforeEnter,
},
{
path: 'docs/vue/customize-theme-cn',
component: () => import('../docs/vue/customize-theme.zh-CN.md'),
beforeEnter,
},
{
path: 'docs/vue/getting-started',
component: () => import('../docs/vue/getting-started.en-US.md'),
beforeEnter,
},
{
path: 'docs/vue/getting-started-cn',
component: () => import('../docs/vue/getting-started.zh-CN.md'),
beforeEnter,
},
{
path: 'docs/vue/i18n',
component: () => import('../docs/vue/i18n.en-US.md'),
beforeEnter,
},
{
path: 'docs/vue/i18n-cn',
component: () => import('../docs/vue/i18n.zh-CN.md'),
beforeEnter,
},
{
path: 'docs/vue/introduce',
component: () => import('../docs/vue/introduce.en-US.md'),
beforeEnter,
},
{
path: 'docs/vue/introduce-cn',
component: () => import('../docs/vue/introduce.zh-CN.md'),
beforeEnter,
},
{
path: 'docs/vue/use-with-vue-cli',
component: () => import('../docs/vue/use-with-vue-cli.en-US.md'),
beforeEnter,
},
{
path: 'docs/vue/use-with-vue-cli-cn',
component: () => import('../docs/vue/use-with-vue-cli.zh-CN.md'),
beforeEnter,
},
{
path: 'docs/vue/faq',
component: () => import('../docs/vue/faq.en-US.md'),
beforeEnter,
},
{
path: 'docs/vue/faq-cn',
component: () => import('../docs/vue/faq.zh-CN.md'),
beforeEnter,
},
{
path: 'docs/vue/sponsor',
component: () => import('../docs/vue/sponsor.en-US.md'),
beforeEnter,
},
{
path: 'docs/vue/sponsor-cn',
component: () => import('../docs/vue/sponsor.zh-CN.md'),
beforeEnter,
},
{
path: 'docs/vue/changelog',
component: () => import('../CHANGELOG.en-US.md'),
beforeEnter,
},
{
path: 'docs/vue/changelog-cn',
component: () => import('../CHANGELOG.zh-CN.md'),
beforeEnter,
},
{ path: '', redirect: '/ant-design-vue/vue/docs/introduce/' },
],
},
{ path: '/*', redirect: '/ant-design-vue/docs/vue/introduce/' },
]