mirror of
https://github.com/element-plus/element-plus.git
synced 2024-12-03 02:21:49 +08:00
c6bed151a5
* feat(website): init viteperss (#3162) * init vitepress * Finish homepage * relayout page * partial finish * update * update use lang * remove font weight; change font size * docs: optimize docs folder structure * reorganize project * fix ssr issue * fix build issues Co-authored-by: Kevin <sxzz@sxzz.moe> Co-authored-by: zouhang <zouhang@didiglobal.com> * feat(website) integrate with crowdin (#3218) - Introduce Crowdin CLI - Add script for fetching Crowdin token from env - Add script for local development * fix formatting * update codeblocks (#3249) * feat(docs): update website preview script - Update azure preview build script - Eliminate dead links * bootstrap docs * fix homepage layout issue * fix formating * Finish ToC and codepen integration * reorganized files and fix issue that causes demo unavailable after build * feat(docs): migration documentations (#3283) * feat(docs): migration documentations - Move documentations to docs/ * remove unused files * docs: [popconfirm] migrate document (#3285) * feat(docs): migrate documentation from space.md to upload.md (#3292) - Upload documentations acorrodingly * docs: [date-picker] migrate document (#3289) * docs: [date-picker] migrate document * fix: typo * docs: [slider] migrate document (#3287) * docs: migrate documents (#3290) * docs: migrate-datetime-picker * docs: migrate descriptions * docs: migrate dialog * docs: migrate divider * docs: migrate drawer * docs: migrate drapdown * docs: fix drapdown * docs: migrate empty * docs: migrate form * docs: add scoped for style * docs: simplify toRefs * chore: update doc (#3297) * chore: update doc * chore: update doc * chore: update doc * feat(docs): migrate documentations from infinite-scroll to page-header (#3303) - Update docs accordingly - Update CodePen icon to match style - Update component name to match others * docs: migrate documentions (#3293) migrate list: * image * popover * scrollbar * radio * rate * skeleton * select * select-v2 * reault * progress * pagination * chore: update doc (#3305) Co-authored-by: 0song <0song@gmail.com> * Fix broken pipeline * chore: update demo plugin * website perfection * fix hydration bug * docs: update guide (#3342) * WIP docs * docs: update docs * add dark mode * make dev fetch components from local instead of node_modules Co-authored-by: msidolphin <msidolphin@outlook.com> Co-authored-by: Aex <spryti@qq.com> Co-authored-by: 0song <82012629+0song@users.noreply.github.com> Co-authored-by: 0song <0song@gmail.com> Co-authored-by: zouhang <zouhang@didiglobal.com> Co-authored-by: 三咲智子 <sxzz@sxzz.moe> * fix(docs): fix codepen code example issue (#3380) * fix(docs): fix codepen code example issue - Add lang="ts" for all example files - Fix codepen import error * revert changes in resource.vue * feat(docs): complete crowdin integration (#3408) * Update mds for preparing the integration script * deprecate old website * update sponsors and even handler for resize * update build script for preview * fix preview-build error * fix preview-build error * fix preview-build error * fix preview-build error * fix preview-build error * update deploy script and some bugs * Fix existing issue * chore(project): add dev preview workflow * chore(project): rename dev to staging * update the size of toc * update staging-preview script * update preview scripts * enable website build for preview * fix build error * final commitment for update the details * remove azure pipeline * move docs ignores into docs and update date Co-authored-by: Kevin <sxzz@sxzz.moe> Co-authored-by: zouhang <zouhang@didiglobal.com> Co-authored-by: msidolphin <msidolphin@outlook.com> Co-authored-by: Aex <spryti@qq.com> Co-authored-by: 0song <82012629+0song@users.noreply.github.com> Co-authored-by: 0song <0song@gmail.com>
79 lines
2.2 KiB
TypeScript
79 lines
2.2 KiB
TypeScript
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
import helper from 'components-helper'
|
|
import path from 'path'
|
|
import { epRoot } from './paths'
|
|
|
|
const { name, version } = require(path.resolve(epRoot, './package.json'))
|
|
|
|
const tagVer = process.env.TAG_VERSION
|
|
const _version = tagVer
|
|
? tagVer.startsWith('v')
|
|
? tagVer.slice(1)
|
|
: tagVer
|
|
: version
|
|
|
|
helper({
|
|
name,
|
|
version: _version,
|
|
entry:
|
|
'docs/en-US/!(custom-theme|datetime-picker|i18n|installation|message-box|message|migration-from-2.x|notification|quickstart|transition|typography).md',
|
|
outDir: 'dist/element-plus',
|
|
reComponentName,
|
|
reDocUrl,
|
|
reAttribute,
|
|
props: 'Attributes',
|
|
propsName: 'Attribute',
|
|
propsOptions: 'Accepted Values',
|
|
eventsName: 'Event Name',
|
|
tableRegExp:
|
|
'#+\\s+(.*\\s*Attributes|.*\\s*Events|.*\\s*Slots|.*\\s*Directives)\\s*\\n+(\\|?.+\\|.+)\\n\\|?\\s*:?-+:?\\s*\\|.+((\\n\\|?.+\\|.+)+)',
|
|
})
|
|
|
|
function reComponentName(title) {
|
|
return (
|
|
'el-' +
|
|
title
|
|
.replace(/\B([A-Z])/g, '-$1')
|
|
.replace(/[ ]+/g, '-')
|
|
.toLowerCase()
|
|
)
|
|
}
|
|
|
|
function reDocUrl(fileName, header) {
|
|
const docs = 'https://element-plus.org/#/en-US/component/'
|
|
const _header = header
|
|
? header.replace(/[ ]+/g, '-').toLowerCase()
|
|
: undefined
|
|
return docs + fileName + (_header ? '#' + _header : '')
|
|
}
|
|
|
|
function reAttribute(value, key, item) {
|
|
const _value = value.match(/^\*\*(.*)\*\*$/)
|
|
const str = _value ? _value[1] : value
|
|
|
|
if (key === 'Name' && /^(-|—)$/.test(str)) {
|
|
return 'default'
|
|
} else if (str === '' || /^(-|—)$/.test(str)) {
|
|
return undefined
|
|
} else if (key === 'Attribute' && /v-model:(.+)/.test(str)) {
|
|
const _str = str.match(/v-model:(.+)/)
|
|
return _str ? _str[1] : undefined
|
|
} else if (key === 'Attribute' && /v-model/.test(str)) {
|
|
return 'model-value'
|
|
} else if (key === 'Attribute') {
|
|
return str.replace(/\B([A-Z])/g, '-$1').toLowerCase()
|
|
} else if (key === 'Type') {
|
|
return str
|
|
.replace(/\s*\/\s*/g, '|')
|
|
.replace(/\s*,\s*/g, '|')
|
|
.replace(/\(.*\)/g, '')
|
|
.toLowerCase()
|
|
} else if (key === 'Accepted Values') {
|
|
return /\[.+\]\(.+\)/.test(str) || /^\*$/.test(str)
|
|
? undefined
|
|
: str.replace(/`/g, '')
|
|
} else {
|
|
return str
|
|
}
|
|
}
|