diff --git a/package-lock.json b/package-lock.json index 78fe322..9068386 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,8 @@ "lxgw-wenkai-lite-webfont": "^1.7.0", "mitt": "^3.0.1", "vue": "^3.4.37", - "vue-router": "^4.4.5" + "vue-router": "^4.4.5", + "vue-typed-js": "^0.1.2" }, "devDependencies": { "@types/node": "^22.5.5", @@ -2729,6 +2730,11 @@ "dev": true, "license": "Apache-2.0" }, + "node_modules/typed.js": { + "version": "2.1.0", + "resolved": "git+ssh://git@github.com/mattboldt/typed.js.git#f0759c1dc054a2d6743862d5331f03e49f9845d7", + "license": "MIT" + }, "node_modules/typescript": { "version": "5.6.2", "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.6.2.tgz", @@ -2909,6 +2915,15 @@ "typescript": ">=5.0.0" } }, + "node_modules/vue-typed-js": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/vue-typed-js/-/vue-typed-js-0.1.2.tgz", + "integrity": "sha512-9kDGuz17uYJghe/1hepRWiWYssgUFtrKnMGPHlWjVRxdvs/d9xYYWMkgzztjhx1R1B33hXkN8ctmkzCYHQ+caA==", + "license": "MIT", + "dependencies": { + "typed.js": "git+https://github.com/mattboldt/typed.js.git" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", diff --git a/package.json b/package.json index b004616..6d9de64 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,8 @@ "lxgw-wenkai-lite-webfont": "^1.7.0", "mitt": "^3.0.1", "vue": "^3.4.37", - "vue-router": "^4.4.5" + "vue-router": "^4.4.5", + "vue-typed-js": "^0.1.2" }, "devDependencies": { "@types/node": "^22.5.5", diff --git a/src/App.vue b/src/App.vue index 6861051..53af3d5 100644 --- a/src/App.vue +++ b/src/App.vue @@ -3,7 +3,9 @@ \ No newline at end of file diff --git a/src/components/nav/NavBar.vue b/src/components/nav/NavBar.vue new file mode 100644 index 0000000..1860ac2 --- /dev/null +++ b/src/components/nav/NavBar.vue @@ -0,0 +1,57 @@ + + + + + \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 12dc7d0..3eb4448 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,12 +1,16 @@ import {createApp} from 'vue' import './style.css' import App from './App.vue' +// import VueTypedJs from 'vue-typed-js' import router from "@/router"; import {library} from '@fortawesome/fontawesome-svg-core' import {FontAwesomeIcon} from '@fortawesome/vue-fontawesome' import {faClock} from '@fortawesome/free-regular-svg-icons' -import {faXmark, faBlog} from '@fortawesome/free-solid-svg-icons' +import {faXmark, faBlog, faGauge, faCodeBranch, faCloud, faChevronRight} from '@fortawesome/free-solid-svg-icons' +import {faWeibo, faQq, faGithubAlt, faSteamSymbol} from '@fortawesome/free-brands-svg-icons' -library.add(faClock, faXmark, faBlog) +library.add( + faClock, faXmark, faBlog, faGauge, faCodeBranch, faCloud, faWeibo, faQq, faGithubAlt, faSteamSymbol, faChevronRight +) createApp(App).use(router).component('font-awesome-icon', FontAwesomeIcon).mount('#app') diff --git a/src/style.css b/src/style.css index 150aed1..5ddcc16 100644 --- a/src/style.css +++ b/src/style.css @@ -4,6 +4,11 @@ @tailwind components; @tailwind utilities; +@font-face { + font-family: 'BaconyScript'; + src: url("./assets/BaconyScript_PERSONAL_USE_ONLY.otf") format("opentype"); +} + body { font-family: "LXGW WenKai Lite", sans-serif; } diff --git a/src/views/home/HomeView.vue b/src/views/home/HomeView.vue index 1d40ae9..3095969 100644 --- a/src/views/home/HomeView.vue +++ b/src/views/home/HomeView.vue @@ -3,6 +3,8 @@ import {computed, onMounted, ref} from "vue"; import ArticleCard from "@/components/card/ArticleCard.vue"; import {getBlogRecentPost} from "@/api/blog.ts"; import ArticleDigestViewer from "@/components/card/ArticleDigestViewer.vue"; +import NavBar from "@/components/nav/NavBar.vue"; +import IntroCard from "@/components/card/IntroCard.vue"; const recentPosts = ref(null); const hasPosts = computed(() => (recentPosts.value ?? []).length > 0); @@ -14,26 +16,50 @@ onMounted(async () => {