mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-26 03:16:35 +08:00
[Doc] sync render doc for search crawler
This commit is contained in:
parent
fecc82e69b
commit
3bc5a93941
@ -1,5 +1,4 @@
|
|||||||
const fs = require('fs-extra');
|
const fs = require('fs-extra');
|
||||||
const glob = require('fast-glob');
|
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const uppercamelize = require('uppercamelcase');
|
const uppercamelize = require('uppercamelcase');
|
||||||
const Components = require('./get-components')();
|
const Components = require('./get-components')();
|
||||||
@ -8,8 +7,6 @@ const packageJson = require('../package.json');
|
|||||||
const version = process.env.VERSION || packageJson.version;
|
const version = process.env.VERSION || packageJson.version;
|
||||||
const tips = `/* eslint-disable */
|
const tips = `/* eslint-disable */
|
||||||
// This file is auto gererated by build/build-entry.js`;
|
// This file is auto gererated by build/build-entry.js`;
|
||||||
const root = path.join(__dirname, '../');
|
|
||||||
const join = dir => path.join(root, dir);
|
|
||||||
|
|
||||||
function buildVantEntry() {
|
function buildVantEntry() {
|
||||||
const uninstallComponents = [
|
const uninstallComponents = [
|
||||||
@ -78,29 +75,5 @@ export default {
|
|||||||
fs.writeFileSync(path.join(dir, '../docs/src/demo-entry.js'), content);
|
fs.writeFileSync(path.join(dir, '../docs/src/demo-entry.js'), content);
|
||||||
}
|
}
|
||||||
|
|
||||||
// generate webpack entry file for markdown docs
|
|
||||||
function buildDocsEntry() {
|
|
||||||
const output = join('docs/src/docs-entry.js');
|
|
||||||
const getName = fullPath => fullPath.replace(/\/(en|zh)/, '.$1').split('/').pop().replace('.md', '');
|
|
||||||
const docs = glob
|
|
||||||
.sync([
|
|
||||||
join('docs/**/*.md'),
|
|
||||||
join('packages/**/*.md'),
|
|
||||||
'!**/node_modules/**'
|
|
||||||
])
|
|
||||||
.map(fullPath => {
|
|
||||||
const name = getName(fullPath);
|
|
||||||
return `'${name}': () => import('${path.relative(join('docs/src'), fullPath).replace(/\\/g, '/')}')`;
|
|
||||||
});
|
|
||||||
|
|
||||||
const content = `${tips}
|
|
||||||
export default {
|
|
||||||
${docs.join(',\n ')}
|
|
||||||
};
|
|
||||||
`;
|
|
||||||
fs.writeFileSync(output, content);
|
|
||||||
}
|
|
||||||
|
|
||||||
buildVantEntry();
|
buildVantEntry();
|
||||||
buildDemoEntry();
|
buildDemoEntry();
|
||||||
buildDocsEntry();
|
|
||||||
|
@ -1,131 +0,0 @@
|
|||||||
/* eslint-disable */
|
|
||||||
// This file is auto gererated by build/build-entry.js
|
|
||||||
export default {
|
|
||||||
'changelog.en-US': () => import('../markdown/changelog.en-US.md'),
|
|
||||||
'changelog.zh-CN': () => import('../markdown/changelog.zh-CN.md'),
|
|
||||||
'contribution.zh-CN': () => import('../markdown/contribution.zh-CN.md'),
|
|
||||||
'design.zh-CN': () => import('../markdown/design.zh-CN.md'),
|
|
||||||
'intro.en-US': () => import('../markdown/intro.en-US.md'),
|
|
||||||
'intro.zh-CN': () => import('../markdown/intro.zh-CN.md'),
|
|
||||||
'quickstart.en-US': () => import('../markdown/quickstart.en-US.md'),
|
|
||||||
'quickstart.zh-CN': () => import('../markdown/quickstart.zh-CN.md'),
|
|
||||||
'style-guide.zh-CN': () => import('../markdown/style-guide.zh-CN.md'),
|
|
||||||
'theme.en-US': () => import('../markdown/theme.en-US.md'),
|
|
||||||
'theme.zh-CN': () => import('../markdown/theme.zh-CN.md'),
|
|
||||||
'action-sheet.en-US': () => import('../../packages/action-sheet/en-US.md'),
|
|
||||||
'action-sheet.zh-CN': () => import('../../packages/action-sheet/zh-CN.md'),
|
|
||||||
'address-edit.en-US': () => import('../../packages/address-edit/en-US.md'),
|
|
||||||
'address-edit.zh-CN': () => import('../../packages/address-edit/zh-CN.md'),
|
|
||||||
'address-list.en-US': () => import('../../packages/address-list/en-US.md'),
|
|
||||||
'address-list.zh-CN': () => import('../../packages/address-list/zh-CN.md'),
|
|
||||||
'area.en-US': () => import('../../packages/area/en-US.md'),
|
|
||||||
'area.zh-CN': () => import('../../packages/area/zh-CN.md'),
|
|
||||||
'button.en-US': () => import('../../packages/button/en-US.md'),
|
|
||||||
'button.zh-CN': () => import('../../packages/button/zh-CN.md'),
|
|
||||||
'card.en-US': () => import('../../packages/card/en-US.md'),
|
|
||||||
'card.zh-CN': () => import('../../packages/card/zh-CN.md'),
|
|
||||||
'cell.en-US': () => import('../../packages/cell/en-US.md'),
|
|
||||||
'cell.zh-CN': () => import('../../packages/cell/zh-CN.md'),
|
|
||||||
'checkbox.en-US': () => import('../../packages/checkbox/en-US.md'),
|
|
||||||
'checkbox.zh-CN': () => import('../../packages/checkbox/zh-CN.md'),
|
|
||||||
'circle.en-US': () => import('../../packages/circle/en-US.md'),
|
|
||||||
'circle.zh-CN': () => import('../../packages/circle/zh-CN.md'),
|
|
||||||
'col.en-US': () => import('../../packages/col/en-US.md'),
|
|
||||||
'col.zh-CN': () => import('../../packages/col/zh-CN.md'),
|
|
||||||
'collapse.en-US': () => import('../../packages/collapse/en-US.md'),
|
|
||||||
'collapse.zh-CN': () => import('../../packages/collapse/zh-CN.md'),
|
|
||||||
'contact-card.en-US': () => import('../../packages/contact-card/en-US.md'),
|
|
||||||
'contact-card.zh-CN': () => import('../../packages/contact-card/zh-CN.md'),
|
|
||||||
'coupon-list.en-US': () => import('../../packages/coupon-list/en-US.md'),
|
|
||||||
'coupon-list.zh-CN': () => import('../../packages/coupon-list/zh-CN.md'),
|
|
||||||
'datetime-picker.en-US': () => import('../../packages/datetime-picker/en-US.md'),
|
|
||||||
'datetime-picker.zh-CN': () => import('../../packages/datetime-picker/zh-CN.md'),
|
|
||||||
'dialog.en-US': () => import('../../packages/dialog/en-US.md'),
|
|
||||||
'dialog.zh-CN': () => import('../../packages/dialog/zh-CN.md'),
|
|
||||||
'dropdown-menu.en-US': () => import('../../packages/dropdown-menu/en-US.md'),
|
|
||||||
'dropdown-menu.zh-CN': () => import('../../packages/dropdown-menu/zh-CN.md'),
|
|
||||||
'field.en-US': () => import('../../packages/field/en-US.md'),
|
|
||||||
'field.zh-CN': () => import('../../packages/field/zh-CN.md'),
|
|
||||||
'goods-action.en-US': () => import('../../packages/goods-action/en-US.md'),
|
|
||||||
'goods-action.zh-CN': () => import('../../packages/goods-action/zh-CN.md'),
|
|
||||||
'icon.en-US': () => import('../../packages/icon/en-US.md'),
|
|
||||||
'icon.zh-CN': () => import('../../packages/icon/zh-CN.md'),
|
|
||||||
'image.en-US': () => import('../../packages/image/en-US.md'),
|
|
||||||
'image.zh-CN': () => import('../../packages/image/zh-CN.md'),
|
|
||||||
'image-preview.en-US': () => import('../../packages/image-preview/en-US.md'),
|
|
||||||
'image-preview.zh-CN': () => import('../../packages/image-preview/zh-CN.md'),
|
|
||||||
'index-bar.en-US': () => import('../../packages/index-bar/en-US.md'),
|
|
||||||
'index-bar.zh-CN': () => import('../../packages/index-bar/zh-CN.md'),
|
|
||||||
'lazyload.en-US': () => import('../../packages/lazyload/en-US.md'),
|
|
||||||
'lazyload.zh-CN': () => import('../../packages/lazyload/zh-CN.md'),
|
|
||||||
'list.en-US': () => import('../../packages/list/en-US.md'),
|
|
||||||
'list.zh-CN': () => import('../../packages/list/zh-CN.md'),
|
|
||||||
'loading.en-US': () => import('../../packages/loading/en-US.md'),
|
|
||||||
'loading.zh-CN': () => import('../../packages/loading/zh-CN.md'),
|
|
||||||
'locale.en-US': () => import('../../packages/locale/en-US.md'),
|
|
||||||
'locale.zh-CN': () => import('../../packages/locale/zh-CN.md'),
|
|
||||||
'nav-bar.en-US': () => import('../../packages/nav-bar/en-US.md'),
|
|
||||||
'nav-bar.zh-CN': () => import('../../packages/nav-bar/zh-CN.md'),
|
|
||||||
'notice-bar.en-US': () => import('../../packages/notice-bar/en-US.md'),
|
|
||||||
'notice-bar.zh-CN': () => import('../../packages/notice-bar/zh-CN.md'),
|
|
||||||
'notify.en-US': () => import('../../packages/notify/en-US.md'),
|
|
||||||
'notify.zh-CN': () => import('../../packages/notify/zh-CN.md'),
|
|
||||||
'number-keyboard.en-US': () => import('../../packages/number-keyboard/en-US.md'),
|
|
||||||
'number-keyboard.zh-CN': () => import('../../packages/number-keyboard/zh-CN.md'),
|
|
||||||
'pagination.en-US': () => import('../../packages/pagination/en-US.md'),
|
|
||||||
'pagination.zh-CN': () => import('../../packages/pagination/zh-CN.md'),
|
|
||||||
'panel.en-US': () => import('../../packages/panel/en-US.md'),
|
|
||||||
'panel.zh-CN': () => import('../../packages/panel/zh-CN.md'),
|
|
||||||
'password-input.en-US': () => import('../../packages/password-input/en-US.md'),
|
|
||||||
'password-input.zh-CN': () => import('../../packages/password-input/zh-CN.md'),
|
|
||||||
'picker.en-US': () => import('../../packages/picker/en-US.md'),
|
|
||||||
'picker.zh-CN': () => import('../../packages/picker/zh-CN.md'),
|
|
||||||
'popup.en-US': () => import('../../packages/popup/en-US.md'),
|
|
||||||
'popup.zh-CN': () => import('../../packages/popup/zh-CN.md'),
|
|
||||||
'progress.en-US': () => import('../../packages/progress/en-US.md'),
|
|
||||||
'progress.zh-CN': () => import('../../packages/progress/zh-CN.md'),
|
|
||||||
'pull-refresh.en-US': () => import('../../packages/pull-refresh/en-US.md'),
|
|
||||||
'pull-refresh.zh-CN': () => import('../../packages/pull-refresh/zh-CN.md'),
|
|
||||||
'radio.en-US': () => import('../../packages/radio/en-US.md'),
|
|
||||||
'radio.zh-CN': () => import('../../packages/radio/zh-CN.md'),
|
|
||||||
'rate.en-US': () => import('../../packages/rate/en-US.md'),
|
|
||||||
'rate.zh-CN': () => import('../../packages/rate/zh-CN.md'),
|
|
||||||
'search.en-US': () => import('../../packages/search/en-US.md'),
|
|
||||||
'search.zh-CN': () => import('../../packages/search/zh-CN.md'),
|
|
||||||
'sidebar.en-US': () => import('../../packages/sidebar/en-US.md'),
|
|
||||||
'sidebar.zh-CN': () => import('../../packages/sidebar/zh-CN.md'),
|
|
||||||
'skeleton.en-US': () => import('../../packages/skeleton/en-US.md'),
|
|
||||||
'skeleton.zh-CN': () => import('../../packages/skeleton/zh-CN.md'),
|
|
||||||
'sku.en-US': () => import('../../packages/sku/en-US.md'),
|
|
||||||
'sku.zh-CN': () => import('../../packages/sku/zh-CN.md'),
|
|
||||||
'slider.en-US': () => import('../../packages/slider/en-US.md'),
|
|
||||||
'slider.zh-CN': () => import('../../packages/slider/zh-CN.md'),
|
|
||||||
'stepper.en-US': () => import('../../packages/stepper/en-US.md'),
|
|
||||||
'stepper.zh-CN': () => import('../../packages/stepper/zh-CN.md'),
|
|
||||||
'steps.en-US': () => import('../../packages/steps/en-US.md'),
|
|
||||||
'steps.zh-CN': () => import('../../packages/steps/zh-CN.md'),
|
|
||||||
'style.en-US': () => import('../../packages/style/en-US.md'),
|
|
||||||
'style.zh-CN': () => import('../../packages/style/zh-CN.md'),
|
|
||||||
'submit-bar.en-US': () => import('../../packages/submit-bar/en-US.md'),
|
|
||||||
'submit-bar.zh-CN': () => import('../../packages/submit-bar/zh-CN.md'),
|
|
||||||
'swipe.en-US': () => import('../../packages/swipe/en-US.md'),
|
|
||||||
'swipe.zh-CN': () => import('../../packages/swipe/zh-CN.md'),
|
|
||||||
'swipe-cell.en-US': () => import('../../packages/swipe-cell/en-US.md'),
|
|
||||||
'swipe-cell.zh-CN': () => import('../../packages/swipe-cell/zh-CN.md'),
|
|
||||||
'switch.en-US': () => import('../../packages/switch/en-US.md'),
|
|
||||||
'switch.zh-CN': () => import('../../packages/switch/zh-CN.md'),
|
|
||||||
'switch-cell.en-US': () => import('../../packages/switch-cell/en-US.md'),
|
|
||||||
'switch-cell.zh-CN': () => import('../../packages/switch-cell/zh-CN.md'),
|
|
||||||
'tab.en-US': () => import('../../packages/tab/en-US.md'),
|
|
||||||
'tab.zh-CN': () => import('../../packages/tab/zh-CN.md'),
|
|
||||||
'tabbar.en-US': () => import('../../packages/tabbar/en-US.md'),
|
|
||||||
'tabbar.zh-CN': () => import('../../packages/tabbar/zh-CN.md'),
|
|
||||||
'tag.en-US': () => import('../../packages/tag/en-US.md'),
|
|
||||||
'tag.zh-CN': () => import('../../packages/tag/zh-CN.md'),
|
|
||||||
'toast.en-US': () => import('../../packages/toast/en-US.md'),
|
|
||||||
'toast.zh-CN': () => import('../../packages/toast/zh-CN.md'),
|
|
||||||
'tree-select.en-US': () => import('../../packages/tree-select/en-US.md'),
|
|
||||||
'tree-select.zh-CN': () => import('../../packages/tree-select/zh-CN.md'),
|
|
||||||
'uploader.en-US': () => import('../../packages/uploader/en-US.md'),
|
|
||||||
'uploader.zh-CN': () => import('../../packages/uploader/zh-CN.md')
|
|
||||||
};
|
|
@ -1,6 +1,6 @@
|
|||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import VueRouter from 'vue-router';
|
import VueRouter from 'vue-router';
|
||||||
import VantDoc, { progress } from '@vant/doc';
|
import VantDoc from '@vant/doc';
|
||||||
import App from './DocsApp';
|
import App from './DocsApp';
|
||||||
import routes from './router';
|
import routes from './router';
|
||||||
import { isMobile } from './utils';
|
import { isMobile } from './utils';
|
||||||
@ -16,13 +16,11 @@ router.beforeEach((route, redirect, next) => {
|
|||||||
if (isMobile) {
|
if (isMobile) {
|
||||||
location.replace('mobile.html' + location.hash);
|
location.replace('mobile.html' + location.hash);
|
||||||
}
|
}
|
||||||
progress.start();
|
|
||||||
document.title = route.meta.title || document.title;
|
document.title = route.meta.title || document.title;
|
||||||
next();
|
next();
|
||||||
});
|
});
|
||||||
|
|
||||||
router.afterEach(() => {
|
router.afterEach(() => {
|
||||||
progress.done();
|
|
||||||
window.scrollTo(0, 0);
|
window.scrollTo(0, 0);
|
||||||
Vue.nextTick(() => window.syncPath());
|
Vue.nextTick(() => window.syncPath());
|
||||||
});
|
});
|
||||||
|
@ -1,18 +1,33 @@
|
|||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import docConfig from './doc.config';
|
import docConfig from './doc.config';
|
||||||
import DemoList from './components/DemoList';
|
import DemoList from './components/DemoList';
|
||||||
import componentDocs from './docs-entry';
|
|
||||||
import componentDemos from './demo-entry';
|
import componentDemos from './demo-entry';
|
||||||
import DemoPages from './components/DemoPages';
|
import DemoPages from './components/DemoPages';
|
||||||
import './utils/iframe-router';
|
import './utils/iframe-router';
|
||||||
|
|
||||||
const registerRoute = (isDemo) => {
|
const docs = {};
|
||||||
const route = [{
|
|
||||||
|
function importAll(map, r) {
|
||||||
|
r.keys().forEach(key => {
|
||||||
|
map[key] = r(key);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const docsFromMarkdown = require.context('../markdown', false, /(en-US|zh-CN)\.md$/);
|
||||||
|
const docsFromPackages = require.context('../../packages', true, /(en-US|zh-CN)\.md$/);
|
||||||
|
|
||||||
|
importAll(docs, docsFromMarkdown);
|
||||||
|
importAll(docs, docsFromPackages);
|
||||||
|
|
||||||
|
const registerRoute = isDemo => {
|
||||||
|
const route = [
|
||||||
|
{
|
||||||
path: '*',
|
path: '*',
|
||||||
redirect: () => `/${Vue.prototype.$vantLang}/`
|
redirect: () => `/${Vue.prototype.$vantLang}/`
|
||||||
}];
|
}
|
||||||
|
];
|
||||||
|
|
||||||
Object.keys(docConfig).forEach((lang) => {
|
Object.keys(docConfig).forEach(lang => {
|
||||||
if (isDemo) {
|
if (isDemo) {
|
||||||
route.push({
|
route.push({
|
||||||
path: `/${lang}`,
|
path: `/${lang}`,
|
||||||
@ -34,8 +49,14 @@ const registerRoute = (isDemo) => {
|
|||||||
let component;
|
let component;
|
||||||
if (path === 'demo') {
|
if (path === 'demo') {
|
||||||
component = DemoPages;
|
component = DemoPages;
|
||||||
|
} else if (isDemo) {
|
||||||
|
component = componentDemos[path];
|
||||||
} else {
|
} else {
|
||||||
component = isDemo ? componentDemos[path] : componentDocs[`${path}.${lang}`];
|
const module =
|
||||||
|
docs[`./${path}/${lang}.md`] ||
|
||||||
|
docs[`./${path}.${lang}.md`];
|
||||||
|
|
||||||
|
component = module.default;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!component) {
|
if (!component) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user