mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +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 glob = require('fast-glob');
|
||||
const path = require('path');
|
||||
const uppercamelize = require('uppercamelcase');
|
||||
const Components = require('./get-components')();
|
||||
@ -8,8 +7,6 @@ const packageJson = require('../package.json');
|
||||
const version = process.env.VERSION || packageJson.version;
|
||||
const tips = `/* eslint-disable */
|
||||
// This file is auto gererated by build/build-entry.js`;
|
||||
const root = path.join(__dirname, '../');
|
||||
const join = dir => path.join(root, dir);
|
||||
|
||||
function buildVantEntry() {
|
||||
const uninstallComponents = [
|
||||
@ -78,29 +75,5 @@ export default {
|
||||
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();
|
||||
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 VueRouter from 'vue-router';
|
||||
import VantDoc, { progress } from '@vant/doc';
|
||||
import VantDoc from '@vant/doc';
|
||||
import App from './DocsApp';
|
||||
import routes from './router';
|
||||
import { isMobile } from './utils';
|
||||
@ -16,13 +16,11 @@ router.beforeEach((route, redirect, next) => {
|
||||
if (isMobile) {
|
||||
location.replace('mobile.html' + location.hash);
|
||||
}
|
||||
progress.start();
|
||||
document.title = route.meta.title || document.title;
|
||||
next();
|
||||
});
|
||||
|
||||
router.afterEach(() => {
|
||||
progress.done();
|
||||
window.scrollTo(0, 0);
|
||||
Vue.nextTick(() => window.syncPath());
|
||||
});
|
||||
|
@ -1,18 +1,33 @@
|
||||
import Vue from 'vue';
|
||||
import docConfig from './doc.config';
|
||||
import DemoList from './components/DemoList';
|
||||
import componentDocs from './docs-entry';
|
||||
import componentDemos from './demo-entry';
|
||||
import DemoPages from './components/DemoPages';
|
||||
import './utils/iframe-router';
|
||||
|
||||
const registerRoute = (isDemo) => {
|
||||
const route = [{
|
||||
path: '*',
|
||||
redirect: () => `/${Vue.prototype.$vantLang}/`
|
||||
}];
|
||||
const docs = {};
|
||||
|
||||
Object.keys(docConfig).forEach((lang) => {
|
||||
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: '*',
|
||||
redirect: () => `/${Vue.prototype.$vantLang}/`
|
||||
}
|
||||
];
|
||||
|
||||
Object.keys(docConfig).forEach(lang => {
|
||||
if (isDemo) {
|
||||
route.push({
|
||||
path: `/${lang}`,
|
||||
@ -34,8 +49,14 @@ const registerRoute = (isDemo) => {
|
||||
let component;
|
||||
if (path === 'demo') {
|
||||
component = DemoPages;
|
||||
} else if (isDemo) {
|
||||
component = componentDemos[path];
|
||||
} else {
|
||||
component = isDemo ? componentDemos[path] : componentDocs[`${path}.${lang}`];
|
||||
const module =
|
||||
docs[`./${path}/${lang}.md`] ||
|
||||
docs[`./${path}.${lang}.md`];
|
||||
|
||||
component = module.default;
|
||||
}
|
||||
|
||||
if (!component) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user