Improve Lighthouse Performance: 55 → 95
- Switch from Pretendard web font to system fonts - Remove 2.3MB of Pretendard font files - Add WebP image format for n8n workflow - Update CSP to remove CDN font dependencies - Add critical CSS inline, dns-prefetch, image optimization Metrics improvement: - FCP: 13.4s → 2.0s - LCP: 14.1s → 2.6s - Performance: 55 → 95 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
30
fonts.css
30
fonts.css
@@ -1,4 +1,4 @@
|
||||
/* JetBrains Mono - Regular (400) */
|
||||
/* JetBrains Mono - For code/monospace text only */
|
||||
@font-face {
|
||||
font-family: 'JetBrains Mono';
|
||||
font-style: normal;
|
||||
@@ -7,7 +7,6 @@
|
||||
src: url('/fonts/jetbrains-mono-400.woff2') format('woff2');
|
||||
}
|
||||
|
||||
/* JetBrains Mono - Bold (700) */
|
||||
@font-face {
|
||||
font-family: 'JetBrains Mono';
|
||||
font-style: normal;
|
||||
@@ -15,30 +14,3 @@
|
||||
font-display: swap;
|
||||
src: url('/fonts/jetbrains-mono-700.woff2') format('woff2');
|
||||
}
|
||||
|
||||
/* Pretendard - Regular (400) */
|
||||
@font-face {
|
||||
font-family: 'Pretendard';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-display: swap;
|
||||
src: url('/fonts/pretendard-400.woff2') format('woff2');
|
||||
}
|
||||
|
||||
/* Pretendard - SemiBold (600) */
|
||||
@font-face {
|
||||
font-family: 'Pretendard';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-display: swap;
|
||||
src: url('/fonts/pretendard-600.woff2') format('woff2');
|
||||
}
|
||||
|
||||
/* Pretendard - Bold (700) */
|
||||
@font-face {
|
||||
font-family: 'Pretendard';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: swap;
|
||||
src: url('/fonts/pretendard-700.woff2') format('woff2');
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
images/n8n-workflow.webp
Normal file
BIN
images/n8n-workflow.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
27
index.html
27
index.html
@@ -37,6 +37,14 @@
|
||||
<!-- Fonts -->
|
||||
<link rel="stylesheet" href="fonts.css">
|
||||
|
||||
<!-- Critical CSS for above-the-fold -->
|
||||
<style>
|
||||
/* Critical CSS for above-the-fold */
|
||||
body{background:#0a0f1a;color:#e2e8f0;margin:0}
|
||||
.font-sans{font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif}
|
||||
nav{position:fixed;width:100%;z-index:50;background:rgba(10,15,26,.8);backdrop-filter:blur(12px)}
|
||||
</style>
|
||||
|
||||
<!-- App JavaScript (must load before Alpine.js) -->
|
||||
<script defer src="app.js"></script>
|
||||
|
||||
@@ -333,13 +341,18 @@
|
||||
</div>
|
||||
<!-- Screenshot Image (Cropped diagram) -->
|
||||
<div class="relative overflow-hidden rounded-b-xl">
|
||||
<img src="images/n8n-workflow.png"
|
||||
alt="n8n 워크플로우 자동화 예시: GitHub Actions 트리거 → Anvil API 호출 → 서버 자동 생성 프로세스"
|
||||
class="w-full h-auto block transition-transform duration-500 group-hover:scale-[1.02]"
|
||||
width="800"
|
||||
height="450"
|
||||
loading="lazy"
|
||||
crossorigin="anonymous">
|
||||
<picture>
|
||||
<source srcset="images/n8n-workflow.webp" type="image/webp">
|
||||
<img src="images/n8n-workflow.png"
|
||||
alt="n8n 워크플로우 자동화 예시: GitHub Actions 트리거 → Anvil API 호출 → 서버 자동 생성 프로세스"
|
||||
class="w-full h-auto block transition-transform duration-500 group-hover:scale-[1.02]"
|
||||
width="800"
|
||||
height="450"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
fetchpriority="low"
|
||||
crossorigin="anonymous">
|
||||
</picture>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
/* Custom theme configuration */
|
||||
@theme {
|
||||
--font-sans: 'Pretendard', sans-serif;
|
||||
--font-sans: -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Malgun Gothic', 'Noto Sans KR', system-ui, sans-serif;
|
||||
--font-mono: 'JetBrains Mono', monospace;
|
||||
|
||||
--color-brand-400: #38bdf8;
|
||||
|
||||
Reference in New Issue
Block a user