From ffbf09cef7de3c8b747828528224acb9db9761b8 Mon Sep 17 00:00:00 2001 From: liuyx <1517482303@qq.com> Date: Thu, 10 Nov 2022 09:39:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E5=8F=B0=E6=A1=86=E6=9E=B6=E6=90=AD?= =?UTF-8?q?=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blog/package-lock.json | 339 ++++++++++++++++++++++++++- blog/package.json | 2 + blog/src/App.vue | 31 ++- blog/src/assets/scss/element.scss | 3 + blog/src/assets/scss/index.scss | 11 + blog/src/components/BlogList.vue | 13 + blog/src/components/Footer.vue | 33 +++ blog/src/components/Header.vue | 57 +++++ blog/src/main.js | 9 +- blog/src/router/index.js | 31 +++ blog/src/store/index.js | 0 blog/src/views/about/About.vue | 7 + blog/src/views/archive/Archive.vue | 7 + blog/src/views/category/Category.vue | 7 + blog/src/views/home/Home.vue | 15 ++ blog/src/views/tag/Tag.vue | 7 + blog/vite.config.js | 9 +- 17 files changed, 570 insertions(+), 11 deletions(-) create mode 100644 blog/src/assets/scss/element.scss create mode 100644 blog/src/assets/scss/index.scss create mode 100644 blog/src/components/BlogList.vue create mode 100644 blog/src/components/Footer.vue create mode 100644 blog/src/components/Header.vue create mode 100644 blog/src/router/index.js create mode 100644 blog/src/store/index.js create mode 100644 blog/src/views/about/About.vue create mode 100644 blog/src/views/archive/Archive.vue create mode 100644 blog/src/views/category/Category.vue create mode 100644 blog/src/views/home/Home.vue create mode 100644 blog/src/views/tag/Tag.vue diff --git a/blog/package-lock.json b/blog/package-lock.json index 33c577d..5e6c473 100644 --- a/blog/package-lock.json +++ b/blog/package-lock.json @@ -8,7 +8,9 @@ "name": "blog", "version": "0.0.0", "dependencies": { + "@element-plus/icons-vue": "^2.0.10", "axios": "^1.1.3", + "element-plus": "^2.2.20", "pinia": "^2.0.23", "vue": "^3.2.41", "vue-router": "^4.1.6" @@ -37,6 +39,22 @@ "node": ">=6.0.0" } }, + "node_modules/@ctrl/tinycolor": { + "version": "3.4.1", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz", + "integrity": "sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.0.10", + "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.10.tgz", + "integrity": "sha512-ygEZ1mwPjcPo/OulhzLE7mtDrQBWI8vZzEWSNB2W/RNCRjoQGwbaK4N8lV4rid7Ts4qvySU3njMN7YCiSlSaTQ==", + "peerDependencies": { + "vue": "^3.2.0" + } + }, "node_modules/@esbuild/android-arm": { "version": "0.15.13", "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.15.13.tgz", @@ -89,6 +107,19 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@floating-ui/core": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.0.1.tgz", + "integrity": "sha512-bO37brCPfteXQfFY0DyNDGB3+IMe4j150KFQcgJ5aBP295p9nBGeHEs/p0czrRbtlHq4Px/yoPXO/+dOCcF4uA==" + }, + "node_modules/@floating-ui/dom": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.0.4.tgz", + "integrity": "sha512-maYJRv+sAXTy4K9mzdv0JPyNW5YPVHrqtY90tEdI6XNpuLOP26Ci2pfwPsKBA/Wh4Z3FX5sUrtUFTdMYj9v+ug==", + "dependencies": { + "@floating-ui/core": "^1.0.1" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.7", "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", @@ -153,12 +184,36 @@ "node": ">= 8" } }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" + }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmmirror.com/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, + "node_modules/@types/lodash": { + "version": "4.14.188", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.188.tgz", + "integrity": "sha512-zmEmF5OIM3rb7SbLCFYoQhO4dGt2FRM9AMkxvA3LaADOF1n8in/zGJlWji9fmafLoNyz+FoL6FE0SLtGIArD7w==" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.6", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.6.tgz", + "integrity": "sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" + }, "node_modules/@vitejs/plugin-vue": { "version": "3.2.0", "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-3.2.0.tgz", @@ -279,6 +334,74 @@ "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.43.tgz", "integrity": "sha512-zPhXJ0evblbcI3qOwUxliOoH90ecp2J1171RFrHXNC58EzzxXGPJ/X0FyIvuC9SvZNe8wpX4OcWhblPDSwT8Rw==" }, + "node_modules/@vueuse/core": { + "version": "9.5.0", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.5.0.tgz", + "integrity": "sha512-6GsWBsJHEb3sYw15mbLrcbslAVY45pkzjJYTKYKCXv88z7srAF0VEW0q+oXKsl58tCbqooplInahXFg8Yo1m4w==", + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.5.0", + "@vueuse/shared": "9.5.0", + "vue-demi": "*" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "9.5.0", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.5.0.tgz", + "integrity": "sha512-4M1AyPZmIv41pym+K5+4wup3bKuYebbH8w8BROY1hmT7rIwcyS4tEL+UsGz0Hiu1FCOxcoBrwtAizc0YmBJjyQ==" + }, + "node_modules/@vueuse/shared": { + "version": "9.5.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.5.0.tgz", + "integrity": "sha512-HnnCWU1Vg9CVWRCcI8ohDKDRB2Sc4bTgT1XAIaoLSfVHHn+TKbrox6pd3klCSw4UDxkhDfOk8cAdcK+Z5KleCA==", + "dependencies": { + "vue-demi": "*" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/acorn": { "version": "8.8.1", "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.8.1.tgz", @@ -383,6 +506,11 @@ "node": ">= 0.4" } }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", @@ -569,6 +697,11 @@ "resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz", "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" }, + "node_modules/dayjs": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.6.tgz", + "integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==" + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", @@ -625,6 +758,31 @@ "node": ">=6.0.0" } }, + "node_modules/element-plus": { + "version": "2.2.20", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.20.tgz", + "integrity": "sha512-ludShd3f5kNRY4FLzeoNitLcwZ4qs2M/zwKeyeE7rUzZJAQ0BZtcT3SvZoEoBLmgxw9jHoonl4WIwon4UzhyRA==", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.0.6", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.3", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, "node_modules/es-abstract": { "version": "1.20.4", "resolved": "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.20.4.tgz", @@ -1040,6 +1198,11 @@ "node": ">=12" } }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -2030,8 +2193,22 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } }, "node_modules/lodash.merge": { "version": "4.6.2", @@ -2059,6 +2236,11 @@ "sourcemap-codec": "^1.4.8" } }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", @@ -2128,6 +2310,11 @@ "node": ">=0.10.0" } }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" + }, "node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz", @@ -2919,6 +3106,17 @@ "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.20.3.tgz", "integrity": "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==" }, + "@ctrl/tinycolor": { + "version": "3.4.1", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz", + "integrity": "sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==" + }, + "@element-plus/icons-vue": { + "version": "2.0.10", + "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.10.tgz", + "integrity": "sha512-ygEZ1mwPjcPo/OulhzLE7mtDrQBWI8vZzEWSNB2W/RNCRjoQGwbaK4N8lV4rid7Ts4qvySU3njMN7YCiSlSaTQ==", + "requires": {} + }, "@esbuild/android-arm": { "version": "0.15.13", "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.15.13.tgz", @@ -2950,6 +3148,19 @@ "strip-json-comments": "^3.1.1" } }, + "@floating-ui/core": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.0.1.tgz", + "integrity": "sha512-bO37brCPfteXQfFY0DyNDGB3+IMe4j150KFQcgJ5aBP295p9nBGeHEs/p0czrRbtlHq4Px/yoPXO/+dOCcF4uA==" + }, + "@floating-ui/dom": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.0.4.tgz", + "integrity": "sha512-maYJRv+sAXTy4K9mzdv0JPyNW5YPVHrqtY90tEdI6XNpuLOP26Ci2pfwPsKBA/Wh4Z3FX5sUrtUFTdMYj9v+ug==", + "requires": { + "@floating-ui/core": "^1.0.1" + } + }, "@humanwhocodes/config-array": { "version": "0.11.7", "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", @@ -2999,12 +3210,35 @@ "fastq": "^1.6.0" } }, + "@popperjs/core": { + "version": "npm:@sxzz/popperjs-es@2.11.7", + "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" + }, "@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmmirror.com/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, + "@types/lodash": { + "version": "4.14.188", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.188.tgz", + "integrity": "sha512-zmEmF5OIM3rb7SbLCFYoQhO4dGt2FRM9AMkxvA3LaADOF1n8in/zGJlWji9fmafLoNyz+FoL6FE0SLtGIArD7w==" + }, + "@types/lodash-es": { + "version": "4.17.6", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.6.tgz", + "integrity": "sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==", + "requires": { + "@types/lodash": "*" + } + }, + "@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" + }, "@vitejs/plugin-vue": { "version": "3.2.0", "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-3.2.0.tgz", @@ -3116,6 +3350,46 @@ "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.43.tgz", "integrity": "sha512-zPhXJ0evblbcI3qOwUxliOoH90ecp2J1171RFrHXNC58EzzxXGPJ/X0FyIvuC9SvZNe8wpX4OcWhblPDSwT8Rw==" }, + "@vueuse/core": { + "version": "9.5.0", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.5.0.tgz", + "integrity": "sha512-6GsWBsJHEb3sYw15mbLrcbslAVY45pkzjJYTKYKCXv88z7srAF0VEW0q+oXKsl58tCbqooplInahXFg8Yo1m4w==", + "requires": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.5.0", + "@vueuse/shared": "9.5.0", + "vue-demi": "*" + }, + "dependencies": { + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "requires": {} + } + } + }, + "@vueuse/metadata": { + "version": "9.5.0", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.5.0.tgz", + "integrity": "sha512-4M1AyPZmIv41pym+K5+4wup3bKuYebbH8w8BROY1hmT7rIwcyS4tEL+UsGz0Hiu1FCOxcoBrwtAizc0YmBJjyQ==" + }, + "@vueuse/shared": { + "version": "9.5.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.5.0.tgz", + "integrity": "sha512-HnnCWU1Vg9CVWRCcI8ohDKDRB2Sc4bTgT1XAIaoLSfVHHn+TKbrox6pd3klCSw4UDxkhDfOk8cAdcK+Z5KleCA==", + "requires": { + "vue-demi": "*" + }, + "dependencies": { + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "requires": {} + } + } + }, "acorn": { "version": "8.8.1", "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.8.1.tgz", @@ -3197,6 +3471,11 @@ "es-shim-unscopables": "^1.0.0" } }, + "async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", @@ -3351,6 +3630,11 @@ "resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz", "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" }, + "dayjs": { + "version": "1.11.6", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.6.tgz", + "integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==" + }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", @@ -3390,6 +3674,28 @@ "esutils": "^2.0.2" } }, + "element-plus": { + "version": "2.2.20", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.20.tgz", + "integrity": "sha512-ludShd3f5kNRY4FLzeoNitLcwZ4qs2M/zwKeyeE7rUzZJAQ0BZtcT3SvZoEoBLmgxw9jHoonl4WIwon4UzhyRA==", + "requires": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.0.6", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.3", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + } + }, "es-abstract": { "version": "1.20.4", "resolved": "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.20.4.tgz", @@ -3612,6 +3918,11 @@ "dev": true, "optional": true }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -4401,8 +4712,18 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "requires": {} }, "lodash.merge": { "version": "4.6.2", @@ -4427,6 +4748,11 @@ "sourcemap-codec": "^1.4.8" } }, + "memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", @@ -4478,6 +4804,11 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, + "normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" + }, "nth-check": { "version": "2.1.1", "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz", diff --git a/blog/package.json b/blog/package.json index 31844a6..eea4c94 100644 --- a/blog/package.json +++ b/blog/package.json @@ -9,7 +9,9 @@ "preview": "vite preview" }, "dependencies": { + "@element-plus/icons-vue": "^2.0.10", "axios": "^1.1.3", + "element-plus": "^2.2.20", "pinia": "^2.0.23", "vue": "^3.2.41", "vue-router": "^4.1.6" diff --git a/blog/src/App.vue b/blog/src/App.vue index 677f24b..80b5acf 100644 --- a/blog/src/App.vue +++ b/blog/src/App.vue @@ -1,7 +1,32 @@ - + - + diff --git a/blog/src/assets/scss/element.scss b/blog/src/assets/scss/element.scss new file mode 100644 index 0000000..6f255bd --- /dev/null +++ b/blog/src/assets/scss/element.scss @@ -0,0 +1,3 @@ +.el-menu--horizontal { + border: none; +} \ No newline at end of file diff --git a/blog/src/assets/scss/index.scss b/blog/src/assets/scss/index.scss new file mode 100644 index 0000000..8337fd9 --- /dev/null +++ b/blog/src/assets/scss/index.scss @@ -0,0 +1,11 @@ +@import './element.scss'; + +* { + margin: 0; + padding: 0; +} + +body { + font-family: 'Times New Roman', '仿宋', Times, serif; + font-size: 17px !important; +} \ No newline at end of file diff --git a/blog/src/components/BlogList.vue b/blog/src/components/BlogList.vue new file mode 100644 index 0000000..d4dbac8 --- /dev/null +++ b/blog/src/components/BlogList.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/blog/src/components/Footer.vue b/blog/src/components/Footer.vue new file mode 100644 index 0000000..c5f1fec --- /dev/null +++ b/blog/src/components/Footer.vue @@ -0,0 +1,33 @@ + + + + + diff --git a/blog/src/components/Header.vue b/blog/src/components/Header.vue new file mode 100644 index 0000000..fbad61a --- /dev/null +++ b/blog/src/components/Header.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/blog/src/main.js b/blog/src/main.js index 2425c0f..bad396a 100644 --- a/blog/src/main.js +++ b/blog/src/main.js @@ -1,5 +1,10 @@ import { createApp } from 'vue' -import './style.css' import App from './App.vue' +import router from '@/router' +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' +import '@/assets/scss/index.scss' -createApp(App).mount('#app') +const app = createApp(App) + +app.use(router).use(ElementPlus).mount('#app') diff --git a/blog/src/router/index.js b/blog/src/router/index.js new file mode 100644 index 0000000..53b2752 --- /dev/null +++ b/blog/src/router/index.js @@ -0,0 +1,31 @@ +import { createRouter, createWebHashHistory } from 'vue-router' + +const routes = [ + { + path: '/', + component: () => import('@/views/home/Home.vue') + }, + { + path: '/tags', + component: () => import('@/views/tag/Tag.vue') + }, + { + path: '/categories', + component: () => import('@/views/category/Category.vue') + }, + { + path: '/archives', + component: () => import('@/views/archive/Archive.vue') + }, + { + path: '/about', + component: () => import('@/views/about/About.vue') + } +] + +const router = createRouter({ + history: createWebHashHistory(), + routes +}) + +export default router diff --git a/blog/src/store/index.js b/blog/src/store/index.js new file mode 100644 index 0000000..e69de29 diff --git a/blog/src/views/about/About.vue b/blog/src/views/about/About.vue new file mode 100644 index 0000000..79be3ef --- /dev/null +++ b/blog/src/views/about/About.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/blog/src/views/archive/Archive.vue b/blog/src/views/archive/Archive.vue new file mode 100644 index 0000000..bd1b19f --- /dev/null +++ b/blog/src/views/archive/Archive.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/blog/src/views/category/Category.vue b/blog/src/views/category/Category.vue new file mode 100644 index 0000000..9b8294f --- /dev/null +++ b/blog/src/views/category/Category.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/blog/src/views/home/Home.vue b/blog/src/views/home/Home.vue new file mode 100644 index 0000000..ccfa875 --- /dev/null +++ b/blog/src/views/home/Home.vue @@ -0,0 +1,15 @@ + + + + + diff --git a/blog/src/views/tag/Tag.vue b/blog/src/views/tag/Tag.vue new file mode 100644 index 0000000..0c555ac --- /dev/null +++ b/blog/src/views/tag/Tag.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/blog/vite.config.js b/blog/vite.config.js index 315212d..d3f0cc6 100644 --- a/blog/vite.config.js +++ b/blog/vite.config.js @@ -1,7 +1,12 @@ import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' +import path from 'path' -// https://vitejs.dev/config/ export default defineConfig({ - plugins: [vue()] + plugins: [vue()], + resolve: { + alias: { + '@': path.resolve(__dirname, 'src') // 利用@代替src + } + } })