diff --git a/.github/workflows/deploy-resume.yaml b/.github/workflows/deploy-resume.yaml
new file mode 100644
index 0000000..5719160
--- /dev/null
+++ b/.github/workflows/deploy-resume.yaml
@@ -0,0 +1,35 @@
+name: Deploy Resume
+
+on:
+ push:
+ branches: [main]
+
+jobs:
+ deploy-resume:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+
+ - name: Install pnpm
+ uses: pnpm/action-setup@v2.2.2
+ with:
+ version: 7
+
+ - name: Set node version to 16
+ uses: actions/setup-node@v3
+ with:
+ node-version: '16'
+ cache: 'pnpm'
+
+ - name: Install dependencies
+ run: pnpm install --no-frozen-lockfile
+
+ - name: Build resume
+ run: pnpm build
+
+ - name: Deploy resume
+ uses: JamesIves/github-pages-deploy-action@4.1.1
+ with:
+ branch: gh-page
+ folder: dist
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..51fa1c6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+node_modules
+dist
+
+.vscode
+.idea
+.DS_Store
\ No newline at end of file
diff --git a/LICENCE b/LICENCE
new file mode 100644
index 0000000..ee69c74
--- /dev/null
+++ b/LICENCE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2023 varlet-resume
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..8763414
--- /dev/null
+++ b/README.md
@@ -0,0 +1,43 @@
+# VARLET RESUME
+
+English | [中文](https://github.com/varletjs/varlet-resume/blob/main/README.zh-CN.md)
+
+A resume template based on [Varlet](https://github.com/varletjs/varlet)
+
+## Try it Now!
+
+### Online Preview
+
+[Varlet Resume Online Preview](https://varletjs.github.io/varlet-resume/)
+
+### Github Template
+
+[Create a repo from this template on GitHub.](https://github.com/varletjs/varlet-resume/generate)
+
+### Clone to local
+
+```
+npx degit varletjs/varlet-resume my-resume
+cd my-resume
+pnpm i
+```
+
+### Usage
+
+#### Development
+
+```
+pnpm dev
+```
+
+#### Build
+
+```
+pnpm build
+```
+
+#### Preview
+
+```
+pnpm preview
+```
\ No newline at end of file
diff --git a/README.zh-CN.md b/README.zh-CN.md
new file mode 100644
index 0000000..69a7ad3
--- /dev/null
+++ b/README.zh-CN.md
@@ -0,0 +1,43 @@
+# VARLET RESUME
+
+[English](https://github.com/varletjs/varlet-resume/blob/main/README.md) | 中文
+
+一个基于 [Varlet](https://github.com/varletjs/varlet) 开发的简历模板
+
+## 尝试一下
+
+### 在线预览
+
+[在线预览简历模板](https://varletjs.github.io/varlet-resume/)
+
+### 通过 Github 模板使用
+
+[通过该模板仓库创建一个你的简历仓库](https://github.com/varletjs/varlet-resume/generate)
+
+### 克隆到本地
+
+```
+npx degit varletjs/varlet-resume my-resume
+cd my-resume
+pnpm i
+```
+
+### 使用方式
+
+#### 启动开发环境
+
+```
+pnpm dev
+```
+
+#### 构建
+
+```
+pnpm build
+```
+
+#### 预览
+
+```
+pnpm preview
+```
\ No newline at end of file
diff --git a/auto-imports.d.ts b/auto-imports.d.ts
new file mode 100644
index 0000000..08908ed
--- /dev/null
+++ b/auto-imports.d.ts
@@ -0,0 +1,5 @@
+// Generated by 'unplugin-auto-import'
+export {}
+declare global {
+
+}
diff --git a/components.d.ts b/components.d.ts
new file mode 100644
index 0000000..d233738
--- /dev/null
+++ b/components.d.ts
@@ -0,0 +1,46 @@
+/* eslint-disable */
+/* prettier-ignore */
+// @ts-nocheck
+// Generated by unplugin-vue-components
+// Read more: https://github.com/vuejs/core/pull/3399
+import '@vue/runtime-core'
+
+export {}
+
+declare module '@vue/runtime-core' {
+ export interface GlobalComponents {
+ IconAccountGroup: typeof import('./src/components/icons/iconAccountGroup.vue')['default']
+ IconCake: typeof import('./src/components/icons/IconCake.vue')['default']
+ IconCalendar: typeof import('./src/components/icons/IconCalendar.vue')['default']
+ IconCash: typeof import('./src/components/icons/iconCash.vue')['default']
+ IconCity: typeof import('./src/components/icons/IconCity.vue')['default']
+ IconEmail: typeof import('./src/components/icons/IconEmail.vue')['default']
+ IconGithub: typeof import('./src/components/icons/IconGithub.vue')['default']
+ IconPhone: typeof import('./src/components/icons/iconPhone.vue')['default']
+ IconPost: typeof import('./src/components/icons/IconPost.vue')['default']
+ IconSchool: typeof import('./src/components/icons/IconSchool.vue')['default']
+ IconTencent: typeof import('./src/components/icons/IconTencent.vue')['default']
+ IconWechat: typeof import('./src/components/icons/iconWechat.vue')['default']
+ ResumeAppBar: typeof import('./src/components/ResumeAppBar.vue')['default']
+ ResumeBlank: typeof import('./src/components/ResumeBlank.vue')['default']
+ ResumeBlock: typeof import('./src/components/ResumeBlock.vue')['default']
+ ResumeBlockCompactItem: typeof import('./src/components/ResumeBlockCompactItem.vue')['default']
+ ResumeBlockItem: typeof import('./src/components/ResumeBlockItem.vue')['default']
+ ResumeFill: typeof import('./src/components/ResumeFill.vue')['default']
+ ResumeProfile: typeof import('./src/components/ResumeProfile.vue')['default']
+ ResumeSkills: typeof import('./src/components/ResumeSkills.vue')['default']
+ ResumeTimeline: typeof import('./src/components/ResumeTimeline.vue')['default']
+ VarAppBar: typeof import('@varlet/ui')['_AppBarComponent']
+ VarAvatar: typeof import('@varlet/ui')['_AvatarComponent']
+ VarButton: typeof import('@varlet/ui')['_ButtonComponent']
+ VarCell: typeof import('@varlet/ui')['_CellComponent']
+ VarCol: typeof import('@varlet/ui')['_ColComponent']
+ VarIcon: typeof import('@varlet/ui')['_IconComponent']
+ VarPaper: typeof import('@varlet/ui')['_PaperComponent']
+ VarProgress: typeof import('@varlet/ui')['_ProgressComponent']
+ VarRow: typeof import('@varlet/ui')['_RowComponent']
+ VarSpace: typeof import('@varlet/ui')['_SpaceComponent']
+ VarStep: typeof import('@varlet/ui')['_StepComponent']
+ VarSteps: typeof import('@varlet/ui')['_StepsComponent']
+ }
+}
diff --git a/env.d.ts b/env.d.ts
new file mode 100644
index 0000000..11f02fe
--- /dev/null
+++ b/env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..c46871f
--- /dev/null
+++ b/index.html
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+ Varlet Resume
+
+
+
+
+
+
+
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..ae11c4c
--- /dev/null
+++ b/package.json
@@ -0,0 +1,26 @@
+{
+ "name": "@varlet/resume",
+ "version": "0.0.0",
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build",
+ "preview": "vite preview",
+ "bump": "pnpm update @varlet/touch-emulator @varlet/ui"
+ },
+ "dependencies": {
+ "@varlet/touch-emulator": "^2.18.2",
+ "@varlet/ui": "^2.18.2",
+ "vue": "^3.2.41"
+ },
+ "devDependencies": {
+ "@types/node": "^16.11.68",
+ "@vitejs/plugin-vue": "^4.0.0",
+ "@vue/test-utils": "^2.2.7",
+ "@vue/tsconfig": "^0.1.3",
+ "less": "4.1.3",
+ "typescript": "4.7.4",
+ "unplugin-auto-import": "^0.12.1",
+ "unplugin-vue-components": "^0.24.1",
+ "vite": "^4.0.4"
+ }
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
new file mode 100644
index 0000000..84a978c
--- /dev/null
+++ b/pnpm-lock.yaml
@@ -0,0 +1,1139 @@
+lockfileVersion: '6.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+dependencies:
+ '@varlet/touch-emulator':
+ specifier: ^2.18.2
+ version: 2.18.2
+ '@varlet/ui':
+ specifier: ^2.18.2
+ version: 2.18.2(vue@3.2.45)
+ vue:
+ specifier: ^3.2.41
+ version: 3.2.45
+
+devDependencies:
+ '@types/node':
+ specifier: ^16.11.68
+ version: 16.18.11
+ '@vitejs/plugin-vue':
+ specifier: ^4.0.0
+ version: 4.0.0(vite@4.0.4)(vue@3.2.45)
+ '@vue/test-utils':
+ specifier: ^2.2.7
+ version: 2.2.7(vue@3.2.45)
+ '@vue/tsconfig':
+ specifier: ^0.1.3
+ version: 0.1.3(@types/node@16.18.11)
+ less:
+ specifier: 4.1.3
+ version: 4.1.3
+ typescript:
+ specifier: 4.7.4
+ version: 4.7.4
+ unplugin-auto-import:
+ specifier: ^0.12.1
+ version: 0.12.1
+ unplugin-vue-components:
+ specifier: ^0.24.1
+ version: 0.24.1(vue@3.2.45)
+ vite:
+ specifier: ^4.0.4
+ version: 4.0.4(@types/node@16.18.11)(less@4.1.3)
+
+packages:
+
+ /@antfu/utils@0.7.2:
+ resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==}
+ dev: true
+
+ /@babel/helper-string-parser@7.19.4:
+ resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/helper-validator-identifier@7.19.1:
+ resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==}
+ engines: {node: '>=6.9.0'}
+
+ /@babel/parser@7.20.7:
+ resolution: {integrity: sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.20.7
+
+ /@babel/types@7.20.7:
+ resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': 7.19.4
+ '@babel/helper-validator-identifier': 7.19.1
+ to-fast-properties: 2.0.0
+
+ /@esbuild/android-arm64@0.16.17:
+ resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-arm@0.16.17:
+ resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/android-x64@0.16.17:
+ resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-arm64@0.16.17:
+ resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/darwin-x64@0.16.17:
+ resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-arm64@0.16.17:
+ resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/freebsd-x64@0.16.17:
+ resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm64@0.16.17:
+ resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-arm@0.16.17:
+ resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ia32@0.16.17:
+ resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-loong64@0.16.17:
+ resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-mips64el@0.16.17:
+ resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-ppc64@0.16.17:
+ resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-riscv64@0.16.17:
+ resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-s390x@0.16.17:
+ resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/linux-x64@0.16.17:
+ resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/netbsd-x64@0.16.17:
+ resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/openbsd-x64@0.16.17:
+ resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/sunos-x64@0.16.17:
+ resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-arm64@0.16.17:
+ resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-ia32@0.16.17:
+ resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@esbuild/win32-x64@0.16.17:
+ resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@jridgewell/sourcemap-codec@1.4.14:
+ resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
+ dev: true
+
+ /@nodelib/fs.scandir@2.1.5:
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+ dev: true
+
+ /@nodelib/fs.stat@2.0.5:
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /@nodelib/fs.walk@1.2.8:
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.15.0
+ dev: true
+
+ /@popperjs/core@2.11.6:
+ resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==}
+ dev: false
+
+ /@rollup/pluginutils@5.0.2:
+ resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ '@types/estree': 1.0.0
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ dev: true
+
+ /@types/estree@1.0.0:
+ resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==}
+ dev: true
+
+ /@types/node@16.18.11:
+ resolution: {integrity: sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==}
+ dev: true
+
+ /@varlet/icons@2.18.2:
+ resolution: {integrity: sha512-vbrbmPPxv+A/HuMcxmWR4OeFpU/HOdLmt0Hqw7x0wxI9eMirgMVDnbrzGNnh+paiHFZGX77EFvRdNzScbuH1Aw==}
+ dev: false
+
+ /@varlet/shared@2.18.2:
+ resolution: {integrity: sha512-jRpuhrxdaFZnAQTahZO0dCp+v/s2ybq7auZYIwRzem7QKCuZN+jaMoUZ7CxUDbZ7Q94CAi9W3o6I2Rd36ZtW0w==}
+ dev: false
+
+ /@varlet/touch-emulator@2.18.2:
+ resolution: {integrity: sha512-+veFELwPfbPyHKRdI6X3STb7YJBVNbV1dm5qcAEt/wvgu+HYnofDsEhcgS5NR95fz6PlCFUZLKhU1qhQDesPnw==}
+ dev: false
+
+ /@varlet/ui@2.18.2(vue@3.2.45):
+ resolution: {integrity: sha512-4baFuuiKSyox3OLBKlwZD1VZxpW87n693FSYguqnJ+GDALnpkvf6HK33IsLYz98juIPrL5prQhzM3OVBhYVsyg==}
+ peerDependencies:
+ vue: ^3.2.0
+ dependencies:
+ '@popperjs/core': 2.11.6
+ '@varlet/icons': 2.18.2
+ '@varlet/shared': 2.18.2
+ '@varlet/use': 2.18.2(vue@3.2.45)
+ dayjs: 1.11.7
+ decimal.js: 10.4.3
+ vue: 3.2.45
+ dev: false
+
+ /@varlet/use@2.18.2(vue@3.2.45):
+ resolution: {integrity: sha512-NpC4aoCgbQfrv8UAArrtMWFyGA9WqV/f5Lc093njXqwNcfb8QDDXLtfLv5a8vYFW4vlKcOV0Z2jSmgVoMWOr2w==}
+ peerDependencies:
+ vue: ^3.2.0
+ dependencies:
+ '@varlet/shared': 2.18.2
+ vue: 3.2.45
+ dev: false
+
+ /@vitejs/plugin-vue@4.0.0(vite@4.0.4)(vue@3.2.45):
+ resolution: {integrity: sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ vite: ^4.0.0
+ vue: ^3.2.25
+ dependencies:
+ vite: 4.0.4(@types/node@16.18.11)(less@4.1.3)
+ vue: 3.2.45
+ dev: true
+
+ /@vue/compiler-core@3.2.45:
+ resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==}
+ dependencies:
+ '@babel/parser': 7.20.7
+ '@vue/shared': 3.2.45
+ estree-walker: 2.0.2
+ source-map: 0.6.1
+
+ /@vue/compiler-dom@3.2.45:
+ resolution: {integrity: sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==}
+ dependencies:
+ '@vue/compiler-core': 3.2.45
+ '@vue/shared': 3.2.45
+
+ /@vue/compiler-sfc@3.2.45:
+ resolution: {integrity: sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==}
+ dependencies:
+ '@babel/parser': 7.20.7
+ '@vue/compiler-core': 3.2.45
+ '@vue/compiler-dom': 3.2.45
+ '@vue/compiler-ssr': 3.2.45
+ '@vue/reactivity-transform': 3.2.45
+ '@vue/shared': 3.2.45
+ estree-walker: 2.0.2
+ magic-string: 0.25.9
+ postcss: 8.4.21
+ source-map: 0.6.1
+
+ /@vue/compiler-ssr@3.2.45:
+ resolution: {integrity: sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==}
+ dependencies:
+ '@vue/compiler-dom': 3.2.45
+ '@vue/shared': 3.2.45
+
+ /@vue/reactivity-transform@3.2.45:
+ resolution: {integrity: sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==}
+ dependencies:
+ '@babel/parser': 7.20.7
+ '@vue/compiler-core': 3.2.45
+ '@vue/shared': 3.2.45
+ estree-walker: 2.0.2
+ magic-string: 0.25.9
+
+ /@vue/reactivity@3.2.45:
+ resolution: {integrity: sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==}
+ dependencies:
+ '@vue/shared': 3.2.45
+
+ /@vue/runtime-core@3.2.45:
+ resolution: {integrity: sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==}
+ dependencies:
+ '@vue/reactivity': 3.2.45
+ '@vue/shared': 3.2.45
+
+ /@vue/runtime-dom@3.2.45:
+ resolution: {integrity: sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==}
+ dependencies:
+ '@vue/runtime-core': 3.2.45
+ '@vue/shared': 3.2.45
+ csstype: 2.6.21
+
+ /@vue/server-renderer@3.2.45(vue@3.2.45):
+ resolution: {integrity: sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==}
+ peerDependencies:
+ vue: 3.2.45
+ dependencies:
+ '@vue/compiler-ssr': 3.2.45
+ '@vue/shared': 3.2.45
+ vue: 3.2.45
+
+ /@vue/shared@3.2.45:
+ resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==}
+
+ /@vue/test-utils@2.2.7(vue@3.2.45):
+ resolution: {integrity: sha512-BMuoruUFTEqhLoOgsMcgNVMiByYbfHCKGr2C4CPdGtz/affUtDVX5zr1RnPuq0tYSiaqq+Enw5voUpG6JY8Q7g==}
+ peerDependencies:
+ vue: ^3.0.1
+ dependencies:
+ vue: 3.2.45
+ dev: true
+
+ /@vue/tsconfig@0.1.3(@types/node@16.18.11):
+ resolution: {integrity: sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==}
+ peerDependencies:
+ '@types/node': '*'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ dependencies:
+ '@types/node': 16.18.11
+ dev: true
+
+ /acorn@8.8.1:
+ resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+ dev: true
+
+ /acorn@8.8.2:
+ resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+ dev: true
+
+ /anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+ dev: true
+
+ /balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ dev: true
+
+ /binary-extensions@2.2.0:
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ dependencies:
+ balanced-match: 1.0.2
+ dev: true
+
+ /braces@3.0.2:
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
+ engines: {node: '>=8'}
+ dependencies:
+ fill-range: 7.0.1
+ dev: true
+
+ /chokidar@3.5.3:
+ resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
+ engines: {node: '>= 8.10.0'}
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.2
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /copy-anything@2.0.6:
+ resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==}
+ dependencies:
+ is-what: 3.14.1
+ dev: true
+
+ /csstype@2.6.21:
+ resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==}
+
+ /dayjs@1.11.7:
+ resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==}
+ dev: false
+
+ /debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ requiresBuild: true
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+ dev: true
+ optional: true
+
+ /debug@4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+ dev: true
+
+ /decimal.js@10.4.3:
+ resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
+ dev: false
+
+ /errno@0.1.8:
+ resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
+ hasBin: true
+ requiresBuild: true
+ dependencies:
+ prr: 1.0.1
+ dev: true
+ optional: true
+
+ /esbuild@0.16.17:
+ resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/android-arm': 0.16.17
+ '@esbuild/android-arm64': 0.16.17
+ '@esbuild/android-x64': 0.16.17
+ '@esbuild/darwin-arm64': 0.16.17
+ '@esbuild/darwin-x64': 0.16.17
+ '@esbuild/freebsd-arm64': 0.16.17
+ '@esbuild/freebsd-x64': 0.16.17
+ '@esbuild/linux-arm': 0.16.17
+ '@esbuild/linux-arm64': 0.16.17
+ '@esbuild/linux-ia32': 0.16.17
+ '@esbuild/linux-loong64': 0.16.17
+ '@esbuild/linux-mips64el': 0.16.17
+ '@esbuild/linux-ppc64': 0.16.17
+ '@esbuild/linux-riscv64': 0.16.17
+ '@esbuild/linux-s390x': 0.16.17
+ '@esbuild/linux-x64': 0.16.17
+ '@esbuild/netbsd-x64': 0.16.17
+ '@esbuild/openbsd-x64': 0.16.17
+ '@esbuild/sunos-x64': 0.16.17
+ '@esbuild/win32-arm64': 0.16.17
+ '@esbuild/win32-ia32': 0.16.17
+ '@esbuild/win32-x64': 0.16.17
+ dev: true
+
+ /escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
+ /fast-glob@3.2.12:
+ resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
+ engines: {node: '>=8.6.0'}
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.5
+ dev: true
+
+ /fastq@1.15.0:
+ resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
+ dependencies:
+ reusify: 1.0.4
+ dev: true
+
+ /fill-range@7.0.1:
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ to-regex-range: 5.0.1
+ dev: true
+
+ /fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /function-bind@1.1.1:
+ resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
+ dev: true
+
+ /glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+ dependencies:
+ is-glob: 4.0.3
+ dev: true
+
+ /graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /has@1.0.3:
+ resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
+ engines: {node: '>= 0.4.0'}
+ dependencies:
+ function-bind: 1.1.1
+ dev: true
+
+ /iconv-lite@0.6.3:
+ resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
+ engines: {node: '>=0.10.0'}
+ requiresBuild: true
+ dependencies:
+ safer-buffer: 2.1.2
+ dev: true
+ optional: true
+
+ /image-size@0.5.5:
+ resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==}
+ engines: {node: '>=0.10.0'}
+ hasBin: true
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+ dependencies:
+ binary-extensions: 2.2.0
+ dev: true
+
+ /is-core-module@2.11.0:
+ resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
+ dependencies:
+ has: 1.0.3
+ dev: true
+
+ /is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ is-extglob: 2.1.1
+ dev: true
+
+ /is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+ dev: true
+
+ /is-what@3.14.1:
+ resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==}
+ dev: true
+
+ /jsonc-parser@3.2.0:
+ resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
+ dev: true
+
+ /less@4.1.3:
+ resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==}
+ engines: {node: '>=6'}
+ hasBin: true
+ dependencies:
+ copy-anything: 2.0.6
+ parse-node-version: 1.0.1
+ tslib: 2.5.0
+ optionalDependencies:
+ errno: 0.1.8
+ graceful-fs: 4.2.11
+ image-size: 0.5.5
+ make-dir: 2.1.0
+ mime: 1.6.0
+ needle: 3.2.0
+ source-map: 0.6.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /local-pkg@0.4.2:
+ resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==}
+ engines: {node: '>=14'}
+ dev: true
+
+ /local-pkg@0.4.3:
+ resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
+ engines: {node: '>=14'}
+ dev: true
+
+ /magic-string@0.25.9:
+ resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
+ dependencies:
+ sourcemap-codec: 1.4.8
+
+ /magic-string@0.27.0:
+ resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.14
+ dev: true
+
+ /magic-string@0.30.0:
+ resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.14
+ dev: true
+
+ /make-dir@2.1.0:
+ resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
+ engines: {node: '>=6'}
+ requiresBuild: true
+ dependencies:
+ pify: 4.0.1
+ semver: 5.7.1
+ dev: true
+ optional: true
+
+ /merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+ dev: true
+
+ /micromatch@4.0.5:
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
+ engines: {node: '>=8.6'}
+ dependencies:
+ braces: 3.0.2
+ picomatch: 2.3.1
+ dev: true
+
+ /mime@1.6.0:
+ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
+ engines: {node: '>=4'}
+ hasBin: true
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /minimatch@7.4.2:
+ resolution: {integrity: sha512-xy4q7wou3vUoC9k1xGTXc+awNdGaGVHtFUaey8tiX4H1QRc04DZ/rmDFwNm2EBsuYEhAZ6SgMmYf3InGY6OauA==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
+ /mlly@1.1.0:
+ resolution: {integrity: sha512-cwzBrBfwGC1gYJyfcy8TcZU1f+dbH/T+TuOhtYP2wLv/Fb51/uV7HJQfBPtEupZ2ORLRU1EKFS/QfS3eo9+kBQ==}
+ dependencies:
+ acorn: 8.8.1
+ pathe: 1.0.0
+ pkg-types: 1.0.1
+ ufo: 1.0.1
+ dev: true
+
+ /ms@2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+ dev: true
+
+ /nanoid@3.3.4:
+ resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ /needle@3.2.0:
+ resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==}
+ engines: {node: '>= 4.4.x'}
+ hasBin: true
+ requiresBuild: true
+ dependencies:
+ debug: 3.2.7
+ iconv-lite: 0.6.3
+ sax: 1.2.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+ optional: true
+
+ /normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /parse-node-version@1.0.1:
+ resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==}
+ engines: {node: '>= 0.10'}
+ dev: true
+
+ /path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ dev: true
+
+ /pathe@1.0.0:
+ resolution: {integrity: sha512-nPdMG0Pd09HuSsr7QOKUXO2Jr9eqaDiZvDwdyIhNG5SHYujkQHYKDfGQkulBxvbDHz8oHLsTgKN86LSwYzSHAg==}
+ dev: true
+
+ /picocolors@1.0.0:
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+
+ /picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+ dev: true
+
+ /pify@4.0.1:
+ resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
+ engines: {node: '>=6'}
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /pkg-types@1.0.1:
+ resolution: {integrity: sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==}
+ dependencies:
+ jsonc-parser: 3.2.0
+ mlly: 1.1.0
+ pathe: 1.0.0
+ dev: true
+
+ /postcss@8.4.21:
+ resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
+ engines: {node: ^10 || ^12 || >=14}
+ dependencies:
+ nanoid: 3.3.4
+ picocolors: 1.0.0
+ source-map-js: 1.0.2
+
+ /prr@1.0.1:
+ resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ dev: true
+
+ /readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+ dependencies:
+ picomatch: 2.3.1
+ dev: true
+
+ /resolve@1.22.1:
+ resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
+ hasBin: true
+ dependencies:
+ is-core-module: 2.11.0
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+ dev: true
+
+ /reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ dev: true
+
+ /rollup@3.10.0:
+ resolution: {integrity: sha512-JmRYz44NjC1MjVF2VKxc0M1a97vn+cDxeqWmnwyAF4FvpjK8YFdHpaqvQB+3IxCvX05vJxKZkoMDU8TShhmJVA==}
+ engines: {node: '>=14.18.0', npm: '>=8.0.0'}
+ hasBin: true
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ dependencies:
+ queue-microtask: 1.2.3
+ dev: true
+
+ /safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /sax@1.2.4:
+ resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==}
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /scule@1.0.0:
+ resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==}
+ dev: true
+
+ /semver@5.7.1:
+ resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
+ hasBin: true
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /source-map-js@1.0.2:
+ resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
+ engines: {node: '>=0.10.0'}
+
+ /source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+
+ /sourcemap-codec@1.4.8:
+ resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
+ deprecated: Please use @jridgewell/sourcemap-codec instead
+
+ /strip-literal@1.0.0:
+ resolution: {integrity: sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ==}
+ dependencies:
+ acorn: 8.8.1
+ dev: true
+
+ /supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /to-fast-properties@2.0.0:
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
+ engines: {node: '>=4'}
+
+ /to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+ dependencies:
+ is-number: 7.0.0
+ dev: true
+
+ /tslib@2.5.0:
+ resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==}
+ dev: true
+
+ /typescript@4.7.4:
+ resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==}
+ engines: {node: '>=4.2.0'}
+ hasBin: true
+ dev: true
+
+ /ufo@1.0.1:
+ resolution: {integrity: sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==}
+ dev: true
+
+ /unimport@1.2.0:
+ resolution: {integrity: sha512-yMok/ubppurBE7Png1QH70Om96AxIoWCcfdxW3J/pziozShMc1UGpPgWpSckfo9ndAO5M74yNnRDdLAZy/gWQg==}
+ dependencies:
+ '@rollup/pluginutils': 5.0.2
+ escape-string-regexp: 5.0.0
+ fast-glob: 3.2.12
+ local-pkg: 0.4.2
+ magic-string: 0.27.0
+ mlly: 1.1.0
+ pathe: 1.0.0
+ pkg-types: 1.0.1
+ scule: 1.0.0
+ strip-literal: 1.0.0
+ unplugin: 1.0.1
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
+ /unplugin-auto-import@0.12.1:
+ resolution: {integrity: sha512-J/3ZORq5YGKG+8D5vLLOgqaHNK77izlVN07mQ752yRLqBNDbJiwPRSnUwwYqH5N6rDay1SqnJCHaUdbJ9QMI2w==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@vueuse/core': '*'
+ peerDependenciesMeta:
+ '@vueuse/core':
+ optional: true
+ dependencies:
+ '@antfu/utils': 0.7.2
+ '@rollup/pluginutils': 5.0.2
+ local-pkg: 0.4.2
+ magic-string: 0.27.0
+ unimport: 1.2.0
+ unplugin: 1.0.1
+ transitivePeerDependencies:
+ - rollup
+ dev: true
+
+ /unplugin-vue-components@0.24.1(vue@3.2.45):
+ resolution: {integrity: sha512-T3A8HkZoIE1Cja95xNqolwza0yD5IVlgZZ1PVAGvVCx8xthmjsv38xWRCtHtwl+rvZyL9uif42SRkDGw9aCfMA==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/parser': ^7.15.8
+ '@nuxt/kit': ^3.2.2
+ vue: 2 || 3
+ peerDependenciesMeta:
+ '@babel/parser':
+ optional: true
+ '@nuxt/kit':
+ optional: true
+ dependencies:
+ '@antfu/utils': 0.7.2
+ '@rollup/pluginutils': 5.0.2
+ chokidar: 3.5.3
+ debug: 4.3.4
+ fast-glob: 3.2.12
+ local-pkg: 0.4.3
+ magic-string: 0.30.0
+ minimatch: 7.4.2
+ resolve: 1.22.1
+ unplugin: 1.3.0
+ vue: 3.2.45
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+ dev: true
+
+ /unplugin@1.0.1:
+ resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==}
+ dependencies:
+ acorn: 8.8.1
+ chokidar: 3.5.3
+ webpack-sources: 3.2.3
+ webpack-virtual-modules: 0.5.0
+ dev: true
+
+ /unplugin@1.3.0:
+ resolution: {integrity: sha512-l4Udjxg2+vCuKRgIA2T8fHd7UwKWaLizh7t+3C72zjnN0+ZS+odzATFenymOUgcGqG1dkCSYE34h9wBbMXrKrA==}
+ dependencies:
+ acorn: 8.8.2
+ chokidar: 3.5.3
+ webpack-sources: 3.2.3
+ webpack-virtual-modules: 0.5.0
+ dev: true
+
+ /vite@4.0.4(@types/node@16.18.11)(less@4.1.3):
+ resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': '>= 14'
+ less: '*'
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ dependencies:
+ '@types/node': 16.18.11
+ esbuild: 0.16.17
+ less: 4.1.3
+ postcss: 8.4.21
+ resolve: 1.22.1
+ rollup: 3.10.0
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
+
+ /vue@3.2.45:
+ resolution: {integrity: sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==}
+ dependencies:
+ '@vue/compiler-dom': 3.2.45
+ '@vue/compiler-sfc': 3.2.45
+ '@vue/runtime-dom': 3.2.45
+ '@vue/server-renderer': 3.2.45(vue@3.2.45)
+ '@vue/shared': 3.2.45
+
+ /webpack-sources@3.2.3:
+ resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
+ engines: {node: '>=10.13.0'}
+ dev: true
+
+ /webpack-virtual-modules@0.5.0:
+ resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==}
+ dev: true
diff --git a/public/avatar.jpg b/public/avatar.jpg
new file mode 100644
index 0000000..fc4f0af
Binary files /dev/null and b/public/avatar.jpg differ
diff --git a/src/App.vue b/src/App.vue
new file mode 100644
index 0000000..3c1e33a
--- /dev/null
+++ b/src/App.vue
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/assets/avatar.jpg b/src/assets/avatar.jpg
new file mode 100644
index 0000000..fc4f0af
Binary files /dev/null and b/src/assets/avatar.jpg differ
diff --git a/src/assets/material.jpg b/src/assets/material.jpg
new file mode 100644
index 0000000..e3046a3
Binary files /dev/null and b/src/assets/material.jpg differ
diff --git a/src/components/ResumeAppBar.vue b/src/components/ResumeAppBar.vue
new file mode 100644
index 0000000..bd32ceb
--- /dev/null
+++ b/src/components/ResumeAppBar.vue
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 你的名字
+ 期望的岗位
+
+ 介绍一下你自己,真诚一点,不要过分谦虚,也不要张狂。
+ 介绍一下你自己,真诚一点,不要过分谦虚,也不要张狂。
+ 介绍一下你自己,真诚一点,不要过分谦虚,也不要张狂。
+ 介绍一下你自己,真诚一点,不要过分谦虚,也不要张狂。
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/ResumeBlank.vue b/src/components/ResumeBlank.vue
new file mode 100644
index 0000000..55470f6
--- /dev/null
+++ b/src/components/ResumeBlank.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
diff --git a/src/components/ResumeBlock.vue b/src/components/ResumeBlock.vue
new file mode 100644
index 0000000..29b558a
--- /dev/null
+++ b/src/components/ResumeBlock.vue
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/ResumeBlockCompactItem.vue b/src/components/ResumeBlockCompactItem.vue
new file mode 100644
index 0000000..e6dc50c
--- /dev/null
+++ b/src/components/ResumeBlockCompactItem.vue
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+ {{ title }}
+
+
+
+
+ {{ description }}
+
+
+
+
+
+
+
diff --git a/src/components/ResumeBlockItem.vue b/src/components/ResumeBlockItem.vue
new file mode 100644
index 0000000..55d2b4b
--- /dev/null
+++ b/src/components/ResumeBlockItem.vue
@@ -0,0 +1,43 @@
+
+
+
+
+
+ {{ title }}
+
+
+
+ {{ description }}
+
+
+
+
+
+
+
diff --git a/src/components/ResumeFill.vue b/src/components/ResumeFill.vue
new file mode 100644
index 0000000..78d348c
--- /dev/null
+++ b/src/components/ResumeFill.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
diff --git a/src/components/ResumeProfile.vue b/src/components/ResumeProfile.vue
new file mode 100644
index 0000000..c67a245
--- /dev/null
+++ b/src/components/ResumeProfile.vue
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+ 出生日期: 90后已然成为老人家了
+
+
+
+
+
+ 学校: 野鸡大学也得写上
+
+
+
+
+
+ 工作年限: 今年这行情多少年都没用
+
+
+
+
+
+ 期望岗位: 前端开发工程师
+
+
+
+
+
+ 期望薪资: 1k
+
+
+
+
+
+ 期望城市: 我选择缩在江苏无锡
+
+
+
+
+
+
+
+
+
+
+ 手机: 千万别写错了!!!
+
+
+
+
+
+ 邮箱: 听说QQ邮箱会让人看不起
+
+
+
+
+
+ QQ: 年轻人喜欢用QQ?
+
+
+
+
+
+ 微信: 老年人喜欢用微信?
+
+
+
+
+
+ 掘金: 有出彩的文章可以贴上
+
+
+
+
+
+ Github: 经常参与开源贡献会加分的
+
+
+
+
+
+
+
+
+
diff --git a/src/components/ResumeSkills.vue b/src/components/ResumeSkills.vue
new file mode 100644
index 0000000..fc30ea4
--- /dev/null
+++ b/src/components/ResumeSkills.vue
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+ {{ s.value }}
+
+ {{ s.label }}
+
+
+
+
+
+
+
+
diff --git a/src/components/ResumeTimeline.vue b/src/components/ResumeTimeline.vue
new file mode 100644
index 0000000..0f4f388
--- /dev/null
+++ b/src/components/ResumeTimeline.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
{{ c.label }}
+
{{ c.date }}
+
{{ c.description }}
+
+
+
+
+
+
+
diff --git a/src/components/icons/IconCake.vue b/src/components/icons/IconCake.vue
new file mode 100644
index 0000000..69df318
--- /dev/null
+++ b/src/components/icons/IconCake.vue
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/components/icons/IconCalendar.vue b/src/components/icons/IconCalendar.vue
new file mode 100644
index 0000000..67e11cd
--- /dev/null
+++ b/src/components/icons/IconCalendar.vue
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/components/icons/IconCity.vue b/src/components/icons/IconCity.vue
new file mode 100644
index 0000000..425af4d
--- /dev/null
+++ b/src/components/icons/IconCity.vue
@@ -0,0 +1,8 @@
+
+
+
diff --git a/src/components/icons/IconEmail.vue b/src/components/icons/IconEmail.vue
new file mode 100644
index 0000000..d43b689
--- /dev/null
+++ b/src/components/icons/IconEmail.vue
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/components/icons/IconGithub.vue b/src/components/icons/IconGithub.vue
new file mode 100644
index 0000000..85df8f0
--- /dev/null
+++ b/src/components/icons/IconGithub.vue
@@ -0,0 +1,8 @@
+
+
+
diff --git a/src/components/icons/IconPost.vue b/src/components/icons/IconPost.vue
new file mode 100644
index 0000000..c631764
--- /dev/null
+++ b/src/components/icons/IconPost.vue
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/components/icons/IconSchool.vue b/src/components/icons/IconSchool.vue
new file mode 100644
index 0000000..75bb545
--- /dev/null
+++ b/src/components/icons/IconSchool.vue
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/components/icons/IconTencent.vue b/src/components/icons/IconTencent.vue
new file mode 100644
index 0000000..93285dc
--- /dev/null
+++ b/src/components/icons/IconTencent.vue
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/components/icons/iconAccountGroup.vue b/src/components/icons/iconAccountGroup.vue
new file mode 100644
index 0000000..79a1808
--- /dev/null
+++ b/src/components/icons/iconAccountGroup.vue
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/components/icons/iconCash.vue b/src/components/icons/iconCash.vue
new file mode 100644
index 0000000..c00623d
--- /dev/null
+++ b/src/components/icons/iconCash.vue
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/components/icons/iconPhone.vue b/src/components/icons/iconPhone.vue
new file mode 100644
index 0000000..96c978c
--- /dev/null
+++ b/src/components/icons/iconPhone.vue
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/components/icons/iconWechat.vue b/src/components/icons/iconWechat.vue
new file mode 100644
index 0000000..647ea30
--- /dev/null
+++ b/src/components/icons/iconWechat.vue
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/main.ts b/src/main.ts
new file mode 100644
index 0000000..d918ebc
--- /dev/null
+++ b/src/main.ts
@@ -0,0 +1,5 @@
+import App from './App.vue'
+import { createApp } from 'vue'
+import '@varlet/touch-emulator'
+
+createApp(App).mount('#app')
diff --git a/tsconfig.config.json b/tsconfig.config.json
new file mode 100644
index 0000000..424084a
--- /dev/null
+++ b/tsconfig.config.json
@@ -0,0 +1,8 @@
+{
+ "extends": "@vue/tsconfig/tsconfig.node.json",
+ "include": ["vite.config.*", "vitest.config.*", "cypress.config.*", "playwright.config.*"],
+ "compilerOptions": {
+ "composite": true,
+ "types": ["node"]
+ }
+}
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..cf867b4
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,15 @@
+{
+ "extends": "@vue/tsconfig/tsconfig.web.json",
+ "include": ["env.d.ts", "auto-imports.d.ts", "components.d.ts", "src/**/*", "src/**/*.vue", "tests/**/*"],
+ "compilerOptions": {
+ "baseUrl": ".",
+ "paths": {
+ "@/*": ["./src/*"]
+ }
+ },
+ "references": [
+ {
+ "path": "./tsconfig.config.json"
+ }
+ ]
+}
diff --git a/vite.config.ts b/vite.config.ts
new file mode 100644
index 0000000..daf2a8b
--- /dev/null
+++ b/vite.config.ts
@@ -0,0 +1,36 @@
+import vue from '@vitejs/plugin-vue'
+import components from 'unplugin-vue-components/vite'
+import autoImport from 'unplugin-auto-import/vite'
+import { VarletUIResolver } from 'unplugin-vue-components/resolvers'
+import { fileURLToPath, URL } from 'node:url'
+import { defineConfig } from 'vite'
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ base: './',
+
+ plugins: [
+ vue({
+ template: {
+ transformAssetUrls: {
+ 'var-avatar': ['src'],
+ 'var-app-bar': ['image']
+ }
+ }
+ }),
+
+ components({
+ resolvers: [VarletUIResolver()]
+ }),
+
+ autoImport({
+ resolvers: [VarletUIResolver({ autoImport: true })],
+ })
+ ],
+
+ resolve: {
+ alias: {
+ '@': fileURLToPath(new URL('./src', import.meta.url))
+ }
+ },
+})