mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-25 02:41:46 +08:00
* fix: Tabbar icon line-height * [new feature] progress add showPivot prop * [new feature] TabItem support vue-router * [new feature] update document header style * [Doc] add toast english ducoment * [new feature] add i18n support * feat: Extract demos from markdown * feat: Base components demos * [new feature] complete demo extract & translate * [fix] text cases * fix: add deepAssign test cases * fix: changelog detail * [new feature] AddressEdit support i18n
72 lines
1.6 KiB
JavaScript
72 lines
1.6 KiB
JavaScript
import docConfig from './doc.config';
|
|
import DemoList from './components/demo-list';
|
|
import componentDocs from '../markdown';
|
|
import componentDemos from '../demos';
|
|
import { Demos } from 'vant-doc';
|
|
import Vue from 'vue';
|
|
import './utils/iframe-router';
|
|
|
|
const registerRoute = (isExample) => {
|
|
const route = [{
|
|
path: '*',
|
|
redirect: to => `/${Vue.prototype.$vantLang}/`
|
|
}];
|
|
|
|
Object.keys(docConfig).forEach((lang, index) => {
|
|
if (isExample) {
|
|
route.push({
|
|
path: `/${lang}`,
|
|
component: DemoList,
|
|
meta: { lang }
|
|
});
|
|
} else {
|
|
route.push({
|
|
path: `/${lang}`,
|
|
redirect: `/${lang}/component/quickstart`
|
|
});
|
|
}
|
|
|
|
const navs = docConfig[lang].nav || [];
|
|
navs.forEach(nav => {
|
|
if (isExample && !nav.showInMobile) {
|
|
return;
|
|
}
|
|
|
|
if (nav.groups) {
|
|
nav.groups.forEach(group => {
|
|
group.list.forEach(page => addRoute(page, lang));
|
|
});
|
|
} else if (nav.children) {
|
|
nav.children.forEach(page => addRoute(page, lang));
|
|
} else {
|
|
addRoute(nav, lang);
|
|
}
|
|
});
|
|
|
|
function addRoute(page, lang) {
|
|
const { path } = page;
|
|
if (path) {
|
|
const name = lang + '/' + path.replace('/', '');
|
|
let component;
|
|
|
|
if (path === '/demo') {
|
|
component = Demos;
|
|
} else {
|
|
component = isExample ? componentDemos[path.replace('/', '')] : componentDocs[name];
|
|
}
|
|
|
|
route.push({
|
|
name,
|
|
component,
|
|
path: `/${lang}/component${path}`,
|
|
meta: { lang }
|
|
});
|
|
}
|
|
}
|
|
});
|
|
|
|
return route;
|
|
};
|
|
|
|
export default registerRoute;
|