diff --git a/.gitignore b/.gitignore index 4949e37c..19044e05 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .env .env.production +stats.html *.local .DS_Store diff --git a/package-lock.json b/package-lock.json index 1427ebd3..ded1e5e0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,6 +35,7 @@ "globals": "^16.3.0", "jsdom": "^24.0.0", "prettier": "^3.5.3", + "rollup-plugin-visualizer": "^6.0.3", "tailwindcss": "^4.1.4", "typescript": "^5.8.3", "vite": "^6.3.5", @@ -2698,6 +2699,78 @@ "node": ">=18" } }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -2882,6 +2955,15 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -3116,7 +3198,6 @@ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, - "peer": true, "engines": { "node": ">=6" } @@ -3621,6 +3702,15 @@ "node": ">=6.9.0" } }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -3894,6 +3984,21 @@ "dev": true, "license": "ISC" }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -3951,6 +4056,18 @@ "url": "https://github.com/sponsors/mesqueeb" } }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -4717,6 +4834,23 @@ "dev": true, "license": "MIT" }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -5025,6 +5159,15 @@ } ] }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -5095,6 +5238,48 @@ "fsevents": "~2.3.2" } }, + "node_modules/rollup-plugin-visualizer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-6.0.3.tgz", + "integrity": "sha512-ZU41GwrkDcCpVoffviuM9Clwjy5fcUxlz0oMoTXTYsK+tcIFzbdacnrr2n8TXcHxbGKKXtOdjxM2HUS4HjkwIw==", + "dev": true, + "dependencies": { + "open": "^8.0.0", + "picomatch": "^4.0.2", + "source-map": "^0.7.4", + "yargs": "^17.5.1" + }, + "bin": { + "rollup-plugin-visualizer": "dist/bin/cli.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "rolldown": "1.x || ^1.0.0-beta", + "rollup": "2.x || 3.x || 4.x" + }, + "peerDependenciesMeta": { + "rolldown": { + "optional": true + }, + "rollup": { + "optional": true + } + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/rrweb-cssom": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", @@ -5193,6 +5378,15 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -6224,6 +6418,15 @@ "dev": true, "license": "MIT" }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -6231,6 +6434,74 @@ "dev": true, "peer": true }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index f4814f94..5e56e2d1 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "dev": "vite", "build": "vite build", "preview": "vite preview", - "test": "vitest run --coverage" + "test": "vitest run --coverage", + "build:stats": "VITE_VISUALIZER=true vite build" }, "dependencies": { "dompurify": "^3.2.6", @@ -23,6 +24,7 @@ "devDependencies": { "@babel/eslint-parser": "^7.27.0", "@eslint/js": "^9.25.1", + "@faker-js/faker": "^8.4.0", "@tailwindcss/forms": "^0.5.10", "@tailwindcss/vite": "^4.1.4", "@types/lodash": "^4.17.20", @@ -31,14 +33,14 @@ "@typescript-eslint/parser": "^8.38.0", "@vitejs/plugin-vue": "^5.2.1", "@vitest/coverage-v8": "^3.2.0", - "@faker-js/faker": "^8.4.0", - "jsdom": "^24.0.0", "@vue/test-utils": "^2.4.1", "eslint": "^9.31.0", "eslint-config-prettier": "^10.1.2", "eslint-plugin-vue": "^10.3.0", "globals": "^16.3.0", + "jsdom": "^24.0.0", "prettier": "^3.5.3", + "rollup-plugin-visualizer": "^6.0.3", "tailwindcss": "^4.1.4", "typescript": "^5.8.3", "vite": "^6.3.5", diff --git a/public/images/recommendation/amrith-g.jpeg b/public/images/recommendation/amrith-g.jpeg index d8e5ad15..ec3f2655 100644 Binary files a/public/images/recommendation/amrith-g.jpeg and b/public/images/recommendation/amrith-g.jpeg differ diff --git a/public/images/recommendation/dawid-makowski.jpeg b/public/images/recommendation/dawid-makowski.jpeg index fa9c72ff..805f4a27 100644 Binary files a/public/images/recommendation/dawid-makowski.jpeg and b/public/images/recommendation/dawid-makowski.jpeg differ diff --git a/public/images/talks/001.jpg b/public/images/talks/001.jpg index bdfa282a..83179e18 100644 Binary files a/public/images/talks/001.jpg and b/public/images/talks/001.jpg differ diff --git a/public/images/talks/002.jpg b/public/images/talks/002.jpg index 1788978b..44e662ea 100644 Binary files a/public/images/talks/002.jpg and b/public/images/talks/002.jpg differ diff --git a/public/images/talks/003.jpg b/public/images/talks/003.jpg index 69e7e1dd..b89792df 100644 Binary files a/public/images/talks/003.jpg and b/public/images/talks/003.jpg differ diff --git a/src/images/1-about.png b/src/images/1-about.png deleted file mode 100644 index c92ba83c..00000000 Binary files a/src/images/1-about.png and /dev/null differ diff --git a/src/images/1-me.jpg b/src/images/1-me.jpg deleted file mode 100644 index 0e890a38..00000000 Binary files a/src/images/1-me.jpg and /dev/null differ diff --git a/src/images/avatar-01.jpg b/src/images/avatar-01.jpg deleted file mode 100644 index 63707268..00000000 Binary files a/src/images/avatar-01.jpg and /dev/null differ diff --git a/src/images/avatar-02.jpg b/src/images/avatar-02.jpg deleted file mode 100644 index 817ee084..00000000 Binary files a/src/images/avatar-02.jpg and /dev/null differ diff --git a/src/images/avatar-03.jpg b/src/images/avatar-03.jpg deleted file mode 100644 index 15500bc0..00000000 Binary files a/src/images/avatar-03.jpg and /dev/null differ diff --git a/src/images/avatar-04.jpg b/src/images/avatar-04.jpg deleted file mode 100644 index c607dc51..00000000 Binary files a/src/images/avatar-04.jpg and /dev/null differ diff --git a/src/images/avatar-05.jpg b/src/images/avatar-05.jpg deleted file mode 100644 index 3b5ade60..00000000 Binary files a/src/images/avatar-05.jpg and /dev/null differ diff --git a/src/images/book.png b/src/images/book.png deleted file mode 100644 index 49eac767..00000000 Binary files a/src/images/book.png and /dev/null differ diff --git a/src/images/default-avatar.jpg b/src/images/default-avatar.jpg deleted file mode 100644 index e551bab8..00000000 Binary files a/src/images/default-avatar.jpg and /dev/null differ diff --git a/src/images/education-icon-01.svg b/src/images/education-icon-01.svg deleted file mode 100644 index 57223d68..00000000 --- a/src/images/education-icon-01.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/images/education-icon-02.svg b/src/images/education-icon-02.svg deleted file mode 100644 index ec176586..00000000 --- a/src/images/education-icon-02.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/images/popular-post-01.jpg b/src/images/popular-post-01.jpg deleted file mode 100644 index c755fe7b..00000000 Binary files a/src/images/popular-post-01.jpg and /dev/null differ diff --git a/src/images/popular-post-02.jpg b/src/images/popular-post-02.jpg deleted file mode 100644 index e6598b53..00000000 Binary files a/src/images/popular-post-02.jpg and /dev/null differ diff --git a/src/images/post-image.jpg b/src/images/post-image.jpg deleted file mode 100644 index c865e20d..00000000 Binary files a/src/images/post-image.jpg and /dev/null differ diff --git a/src/images/post-thumb-01.jpg b/src/images/post-thumb-01.jpg deleted file mode 100644 index b804ad13..00000000 Binary files a/src/images/post-thumb-01.jpg and /dev/null differ diff --git a/src/images/post-thumb-02.jpg b/src/images/post-thumb-02.jpg deleted file mode 100644 index 272b7e0b..00000000 Binary files a/src/images/post-thumb-02.jpg and /dev/null differ diff --git a/src/images/post-thumb-03.jpg b/src/images/post-thumb-03.jpg deleted file mode 100644 index 0b54733f..00000000 Binary files a/src/images/post-thumb-03.jpg and /dev/null differ diff --git a/src/images/post-thumb-04.jpg b/src/images/post-thumb-04.jpg deleted file mode 100644 index 5b9320d4..00000000 Binary files a/src/images/post-thumb-04.jpg and /dev/null differ diff --git a/src/images/post-thumb-05.jpg b/src/images/post-thumb-05.jpg deleted file mode 100644 index a0e08aba..00000000 Binary files a/src/images/post-thumb-05.jpg and /dev/null differ diff --git a/src/images/post-thumb-06.jpg b/src/images/post-thumb-06.jpg deleted file mode 100644 index 4870a578..00000000 Binary files a/src/images/post-thumb-06.jpg and /dev/null differ diff --git a/src/images/post-thumb-07.jpg b/src/images/post-thumb-07.jpg deleted file mode 100644 index 5eb0582d..00000000 Binary files a/src/images/post-thumb-07.jpg and /dev/null differ diff --git a/src/images/post-thumb-08.jpg b/src/images/post-thumb-08.jpg deleted file mode 100644 index 4865336f..00000000 Binary files a/src/images/post-thumb-08.jpg and /dev/null differ diff --git a/src/images/profile/001.png b/src/images/profile/001.png index b41d066b..a037f304 100644 Binary files a/src/images/profile/001.png and b/src/images/profile/001.png differ diff --git a/src/images/profile/about.jpg b/src/images/profile/about.jpg index 50a02fa1..8aac5494 100644 Binary files a/src/images/profile/about.jpg and b/src/images/profile/about.jpg differ diff --git a/src/images/profile/me.jpg b/src/images/profile/me.jpg deleted file mode 100644 index 66084ef1..00000000 Binary files a/src/images/profile/me.jpg and /dev/null differ diff --git a/src/images/profile/me.png b/src/images/profile/me.png index 6c964313..9d8cfb19 100644 Binary files a/src/images/profile/me.png and b/src/images/profile/me.png differ diff --git a/src/images/project-icon-01.svg b/src/images/project-icon-01.svg deleted file mode 100644 index 7ca521cc..00000000 --- a/src/images/project-icon-01.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/images/project-icon-02.svg b/src/images/project-icon-02.svg deleted file mode 100644 index 3bb5508c..00000000 --- a/src/images/project-icon-02.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/images/project-icon-03.svg b/src/images/project-icon-03.svg deleted file mode 100644 index 1a28e32b..00000000 --- a/src/images/project-icon-03.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/images/project-icon-04.svg b/src/images/project-icon-04.svg deleted file mode 100644 index 288f02e4..00000000 --- a/src/images/project-icon-04.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/images/project-icon-05.svg b/src/images/project-icon-05.svg deleted file mode 100644 index 5510bcd1..00000000 --- a/src/images/project-icon-05.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/images/project-icon-06.svg b/src/images/project-icon-06.svg deleted file mode 100644 index 84118556..00000000 --- a/src/images/project-icon-06.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/images/project-icon-07.svg b/src/images/project-icon-07.svg deleted file mode 100644 index 3ef855b4..00000000 --- a/src/images/project-icon-07.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/images/project-icon-08.svg b/src/images/project-icon-08.svg deleted file mode 100644 index 18c72fcd..00000000 --- a/src/images/project-icon-08.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/images/reference-01.jpg b/src/images/reference-01.jpg deleted file mode 100644 index 57afa157..00000000 Binary files a/src/images/reference-01.jpg and /dev/null differ diff --git a/src/images/reference-02.jpg b/src/images/reference-02.jpg deleted file mode 100644 index 9a0cd6e5..00000000 Binary files a/src/images/reference-02.jpg and /dev/null differ diff --git a/src/images/testimonial-01.jpg b/src/images/testimonial-01.jpg deleted file mode 100644 index 566bf332..00000000 Binary files a/src/images/testimonial-01.jpg and /dev/null differ diff --git a/src/images/testimonial-02.jpg b/src/images/testimonial-02.jpg deleted file mode 100644 index eb85157e..00000000 Binary files a/src/images/testimonial-02.jpg and /dev/null differ diff --git a/src/images/testimonial-03.jpg b/src/images/testimonial-03.jpg deleted file mode 100644 index 2567d180..00000000 Binary files a/src/images/testimonial-03.jpg and /dev/null differ diff --git a/src/images/testimonial-04.jpg b/src/images/testimonial-04.jpg deleted file mode 100644 index 19883c4d..00000000 Binary files a/src/images/testimonial-04.jpg and /dev/null differ diff --git a/src/pages/PostPage.vue b/src/pages/PostPage.vue index 6b0c3b6e..f24ba959 100644 --- a/src/pages/PostPage.vue +++ b/src/pages/PostPage.vue @@ -96,7 +96,6 @@ @@ -114,20 +113,17 @@ import { marked } from 'marked'; import DOMPurify from 'dompurify'; import { useRoute } from 'vue-router'; import { useApiStore } from '@api/store.ts'; +import { useDarkMode } from '@/dark-mode.ts'; +import highlight from 'highlight.js/lib/core'; import { debugError } from '@api/http-error.ts'; -import { date, getReadingTime } from '@/public.ts'; import FooterPartial from '@partials/FooterPartial.vue'; import HeaderPartial from '@partials/HeaderPartial.vue'; import SideNavPartial from '@partials/SideNavPartial.vue'; import type { PostResponse } from '@api/response/index.ts'; -import WidgetSkillsPartial from '@partials/WidgetSkillsPartial.vue'; import WidgetSponsorPartial from '@partials/WidgetSponsorPartial.vue'; +import { date, getReadingTime, initializeHighlighter } from '@/public.ts'; import { onMounted, ref, computed, watch, nextTick, watchEffect } from 'vue'; -// --- syntax highlight -import hljs from 'highlight.js'; -import { useDarkMode } from '@/dark-mode.ts'; - // --- Component const route = useRoute(); const apiStore = useApiStore(); @@ -186,12 +182,14 @@ watch(htmlContent, async () => { if (postContainer.value) { const blocks = postContainer.value.querySelectorAll('pre code'); blocks.forEach((block) => { - hljs.highlightElement(block as HTMLElement); + highlight.highlightElement(block as HTMLElement); }); } }); onMounted(async () => { + await initializeHighlighter(highlight); + try { post.value = (await apiStore.getPost(slug.value)) as PostResponse; } catch (error) { diff --git a/src/partials/WidgetSponsorPartial.vue b/src/partials/WidgetSponsorPartial.vue index f0fd69ae..2a414742 100644 --- a/src/partials/WidgetSponsorPartial.vue +++ b/src/partials/WidgetSponsorPartial.vue @@ -1,5 +1,8 @@