Skip to content

Commit 2eba68c

Browse files
author
Dr. Awesome Doge
committed
feat: 修復 SEO 問題
- 修正 Open Graph 圖片指向現有的 hero.png - 新增自訂 404 頁面(Cypherpunk 風格)
1 parent 3a128bb commit 2eba68c

2 files changed

Lines changed: 119 additions & 1 deletion

File tree

404.html

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
---
2+
layout: default
3+
title: "404 - 頁面不存在"
4+
permalink: /404.html
5+
hide_hero: true
6+
---
7+
8+
<main id="main-content" class="flex-1">
9+
<div class="container mx-auto px-4 py-20">
10+
<div class="max-w-2xl mx-auto text-center">
11+
<!-- Glitch Effect 404 -->
12+
<div class="relative mb-8">
13+
<h1 class="text-9xl font-bold text-cp-green-500 font-mono glitch" data-text="404">404</h1>
14+
</div>
15+
16+
<!-- Error Message -->
17+
<h2 class="text-2xl md:text-3xl font-bold text-cp-dark-800 mb-4">
18+
頁面不存在
19+
</h2>
20+
<p class="text-cp-dark-600 mb-8 font-mono">
21+
<span class="text-cp-green-500">$</span> ERROR: The requested page could not be found.
22+
</p>
23+
24+
<!-- Terminal Style Box -->
25+
<div class="bg-cp-dark-100 border border-cp-dark-300 rounded-lg p-6 mb-8 text-left font-mono">
26+
<div class="flex items-center gap-2 mb-4 pb-3 border-b border-cp-dark-300">
27+
<span class="w-3 h-3 rounded-full bg-red-500"></span>
28+
<span class="w-3 h-3 rounded-full bg-yellow-500"></span>
29+
<span class="w-3 h-3 rounded-full bg-green-500"></span>
30+
<span class="ml-2 text-cp-dark-500 text-sm">terminal</span>
31+
</div>
32+
<div class="text-sm text-cp-dark-600">
33+
<p><span class="text-cp-green-500">cypherpunk@taiwan</span>:<span class="text-blue-400">~</span>$ find /page</p>
34+
<p class="text-red-400 mt-1">find: '/page': No such file or directory</p>
35+
<p class="mt-2"><span class="text-cp-green-500">cypherpunk@taiwan</span>:<span class="text-blue-400">~</span>$ <span class="animate-pulse">_</span></p>
36+
</div>
37+
</div>
38+
39+
<!-- Suggestions -->
40+
<div class="text-cp-dark-600 mb-8">
41+
<p class="mb-4">你可以嘗試:</p>
42+
<ul class="space-y-2">
43+
<li>
44+
<a href="/" class="text-cp-green-500 hover:text-cp-green-400 transition-colors">
45+
→ 返回首頁
46+
</a>
47+
</li>
48+
<li>
49+
<a href="/blog/" class="text-cp-green-500 hover:text-cp-green-400 transition-colors">
50+
→ 瀏覽文章
51+
</a>
52+
</li>
53+
<li>
54+
<a href="/markdown/resources/bitcoin-resources/" class="text-cp-green-500 hover:text-cp-green-400 transition-colors">
55+
→ 查看資源
56+
</a>
57+
</li>
58+
</ul>
59+
</div>
60+
61+
<!-- Back Button -->
62+
<a href="/" class="inline-flex items-center gap-2 px-6 py-3 bg-cp-green-600 hover:bg-cp-green-500 text-cp-dark font-bold rounded-lg transition-colors">
63+
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
64+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 19l-7-7m0 0l7-7m-7 7h18"/>
65+
</svg>
66+
返回首頁
67+
</a>
68+
</div>
69+
</div>
70+
</main>
71+
72+
<style>
73+
.glitch {
74+
position: relative;
75+
}
76+
77+
.glitch::before,
78+
.glitch::after {
79+
content: attr(data-text);
80+
position: absolute;
81+
top: 0;
82+
left: 0;
83+
width: 100%;
84+
height: 100%;
85+
}
86+
87+
.glitch::before {
88+
animation: glitch-1 2s infinite linear alternate-reverse;
89+
clip-path: polygon(0 0, 100% 0, 100% 35%, 0 35%);
90+
color: #ff0000;
91+
opacity: 0.8;
92+
}
93+
94+
.glitch::after {
95+
animation: glitch-2 3s infinite linear alternate-reverse;
96+
clip-path: polygon(0 65%, 100% 65%, 100% 100%, 0 100%);
97+
color: #00ffff;
98+
opacity: 0.8;
99+
}
100+
101+
@keyframes glitch-1 {
102+
0% { transform: translateX(0); }
103+
20% { transform: translateX(-3px); }
104+
40% { transform: translateX(3px); }
105+
60% { transform: translateX(-3px); }
106+
80% { transform: translateX(3px); }
107+
100% { transform: translateX(0); }
108+
}
109+
110+
@keyframes glitch-2 {
111+
0% { transform: translateX(0); }
112+
20% { transform: translateX(3px); }
113+
40% { transform: translateX(-3px); }
114+
60% { transform: translateX(3px); }
115+
80% { transform: translateX(-3px); }
116+
100% { transform: translateX(0); }
117+
}
118+
</style>

_config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ twitter:
8787
card: summary_large_image
8888

8989
# Open Graph
90-
og_image: /img/og-default.png
90+
og_image: /img/hero.png
9191

9292
# Default Front Matter
9393
defaults:

0 commit comments

Comments
 (0)