diff --git a/astro.config.ts b/astro.config.ts index 176a0d1..7a6a5ae 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -60,10 +60,10 @@ export default defineConfig({ sitemap(), robotsTxt(), Compress({ - CSS: false, - HTML: true, // Enable HTML compression only to remove comments + CSS: true, + HTML: true, Image: false, - JavaScript: false, + JavaScript: true, SVG: false, }), ], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f7d37cc..9f550e5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1083,6 +1083,10 @@ packages: resolution: {integrity: sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.33.0': + resolution: {integrity: sha512-DKuXOKpM5IDT1FA2g9x9x1Ug81YuKrzf4mYX8FAVSNu5Wo/LELHWQyM1pQaDkI42bX15PWl0vNPt1uGiIFUOpg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.32.1': resolution: {integrity: sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4295,7 +4299,7 @@ snapshots: '@es-joy/jsdoccomment@0.50.2': dependencies: '@types/estree': 1.0.7 - '@typescript-eslint/types': 8.32.1 + '@typescript-eslint/types': 8.33.0 comment-parser: 1.4.1 esquery: 1.6.0 jsdoc-type-pratt-parser: 4.1.0 @@ -4975,6 +4979,8 @@ snapshots: '@typescript-eslint/types@8.32.1': {} + '@typescript-eslint/types@8.33.0': {} + '@typescript-eslint/typescript-estree@8.32.1(typescript@5.8.3)': dependencies: '@typescript-eslint/types': 8.32.1 @@ -5513,7 +5519,7 @@ snapshots: dependencies: '@astrojs/compiler': 2.12.0 '@typescript-eslint/scope-manager': 8.32.1 - '@typescript-eslint/types': 8.32.1 + '@typescript-eslint/types': 8.33.0 astrojs-compiler-sync: 1.1.1(@astrojs/compiler@2.12.0) debug: 4.4.1 entities: 6.0.0 @@ -6096,7 +6102,7 @@ snapshots: dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.27.0(jiti@2.4.2)) '@jridgewell/sourcemap-codec': 1.5.0 - '@typescript-eslint/types': 8.32.1 + '@typescript-eslint/types': 8.33.0 astro-eslint-parser: 1.2.2 eslint: 9.27.0(jiti@2.4.2) eslint-compat-utils: 0.6.5(eslint@9.27.0(jiti@2.4.2)) @@ -6182,7 +6188,7 @@ snapshots: eslint-plugin-perfectionist@4.13.0(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3): dependencies: - '@typescript-eslint/types': 8.32.1 + '@typescript-eslint/types': 8.33.0 '@typescript-eslint/utils': 8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3) eslint: 9.27.0(jiti@2.4.2) natural-orderby: 5.0.0 diff --git a/src/components/Widgets/GsapAnimation.astro b/src/components/Widgets/GsapAnimation.astro index 06383ff..fc76d1c 100644 --- a/src/components/Widgets/GsapAnimation.astro +++ b/src/components/Widgets/GsapAnimation.astro @@ -2,29 +2,23 @@ import { gsap } from 'gsap' function setupPostPageAnimation() { - // Post Content + Tags + Comments + // Elements const postContent = document.getElementById('gsap-post-page-content') const postContentChildren = postContent ? Array.from(postContent.children) : [] - const tagsElement = document.getElementById('gsap-post-page-tags') - const walineElement = document.getElementById('waline') - const allElements = [...postContentChildren, tagsElement, walineElement].filter(Boolean) - - // TOC + Date + Back Button + TOC Icon + const tocContainer = document.getElementById('toc-container') + const tocIcon = document.getElementById('toc-icon') const tocList = document.getElementById('toc-list') const tocListChildren = tocList ? Array.from(tocList.children) : [] - const dateElement = document.getElementById('gsap-post-page-date') const backButton = document.getElementById('back-button') - const tocIcon = document.getElementById('toc-icon') - const tocContainer = document.getElementById('toc-container') + const dateElement = document.getElementById('gsap-post-page-date') // Screen Size Check const isLargeScreen = window.matchMedia('(min-width: 1024px)').matches const isSmallScreen = window.matchMedia('(max-width: 1535px)').matches if (isLargeScreen) { - // Post Content + Tags + Comments - // First 15 elements - gsap.to(allElements.slice(0, 15), { + // First 14 elements of post content + gsap.to(postContentChildren.slice(0, 14), { opacity: 1, y: 0, duration: 0.5, @@ -32,13 +26,13 @@ function setupPostPageAnimation() { ease: 'power2.out', stagger: 0.05, }) - // Rest elements as the 16th element - if (allElements.length > 15) { - gsap.to(allElements.slice(15), { + // Rest elements of post content as the 15th element + if (postContentChildren.length > 14) { + gsap.to(postContentChildren.slice(14), { opacity: 1, y: 0, duration: 0.5, - delay: 0.2 + 0.05 * 15, + delay: 0.2 + 0.05 * 14, ease: 'power2.out', }) } @@ -49,7 +43,7 @@ function setupPostPageAnimation() { opacity: 1, y: 0, duration: 0.5, - delay: 0.2, + delay: 0.15, ease: 'power2.out', }) } @@ -60,7 +54,7 @@ function setupPostPageAnimation() { opacity: 1, y: 0, duration: 0.5, - delay: 0.2, + delay: 0.25, ease: 'power2.out', }) } @@ -71,7 +65,7 @@ function setupPostPageAnimation() { opacity: 1, y: 0, duration: 0.5, - delay: 0.2, + delay: 0.25, ease: 'power2.out', stagger: 0.025, }) @@ -89,9 +83,8 @@ function setupPostPageAnimation() { } } else { - // Post Content + Tags + Comments - // First 6 elements - gsap.to(allElements.slice(0, 6), { + // First 7 elements of post content + gsap.to(postContentChildren.slice(0, 7), { opacity: 1, y: 0, duration: 0.5, @@ -99,19 +92,9 @@ function setupPostPageAnimation() { ease: 'power2.out', stagger: 0.05, }) - // Rest elements as the 7th element - if (allElements.length > 6) { - gsap.to(allElements.slice(6), { - opacity: 1, - y: 0, - duration: 0.5, - delay: 0.2 + 0.05 * 6, - ease: 'power2.out', - }) - } } - // Mobile Animation (for screens smaller than 1536px) + // TOC Container if (isSmallScreen && tocContainer) { gsap.to(tocContainer, { opacity: 1, diff --git a/src/components/Widgets/PhotoSwipe.astro b/src/components/Widgets/PhotoSwipe.astro index ab38628..67c7d31 100644 --- a/src/components/Widgets/PhotoSwipe.astro +++ b/src/components/Widgets/PhotoSwipe.astro @@ -1,6 +1,5 @@