1
+ import React from "react" ;
2
+
3
+ export default function SpringBlogHome ( ) {
4
+ return (
5
+ < div className = "min-h-screen p-6 font-serif relative debug-border anime-bg" >
6
+ < div className = "bg-overlay" > </ div >
7
+
8
+ < header className = "flex flex-col items-center justify-center py-10 relative z-10" >
9
+ < h1 className = "text-4xl md:text-5xl font-bold text-white drop-shadow-md relative" >
10
+ 春风笔记
11
+ < span className = "absolute -top-6 right-0 w-16 h-16 cherry-blossom opacity-60" > </ span >
12
+ </ h1 >
13
+ < p className = "mt-3 text-lg md:text-xl text-gray-100 italic" > "像春风般轻柔的思考"</ p >
14
+ < button className = "mt-5 px-5 py-2 text-lg rounded-full shadow-md bg-accent hover:bg-accent-hover text-white transition-all" >
15
+ 探索笔记
16
+ </ button >
17
+ </ header >
18
+
19
+ < main className = "grid grid-cols-1 md:grid-cols-3 gap-5 px-3 md:px-12 mt-8 relative z-10" >
20
+ < div className = "bg-white/90 shadow-md rounded-lg p-4 hover:shadow-lg transition-shadow backdrop-blur-sm border-t border-accent/20" >
21
+ < div className = "relative" >
22
+ < h2 className = "text-xl font-semibold text-green-700" > 读书随想</ h2 >
23
+ < div className = "grass-decoration" > </ div >
24
+ </ div >
25
+ < p className = "mt-2 text-gray-700 text-sm" >
26
+ 收集阅读经典与现代作品时的思考,记录那些闪光的瞬间。
27
+ </ p >
28
+ </ div >
29
+
30
+ < div className = "bg-white/90 shadow-md rounded-lg p-4 hover:shadow-lg transition-shadow backdrop-blur-sm border-t border-tertiary/20" >
31
+ < div className = "relative" >
32
+ < h2 className = "text-xl font-semibold text-blue-700" > 技术笔记</ h2 >
33
+ < div className = "cloud-decoration" > </ div >
34
+ </ div >
35
+ < p className = "mt-2 text-gray-700 text-sm" >
36
+ 探索各种技术领域的学习心得,从编程到设计的实践记录。
37
+ </ p >
38
+ </ div >
39
+
40
+ < div className = "bg-white/90 shadow-md rounded-lg p-4 hover:shadow-lg transition-shadow backdrop-blur-sm border-t border-secondary/20" >
41
+ < div className = "relative" >
42
+ < h2 className = "text-xl font-semibold text-green-700" > 生活感悟</ h2 >
43
+ < div className = "leaf-decoration" > </ div >
44
+ </ div >
45
+ < p className = "mt-2 text-gray-700 text-sm" >
46
+ 捕捉日常中的灵感与感悟,像春风拂过湖面留下的涟漪。
47
+ </ p >
48
+ </ div >
49
+ </ main >
50
+
51
+ < section className = "mt-10 md:mt-16 bg-white/90 rounded-lg p-5 max-w-3xl mx-auto shadow-md backdrop-blur-sm relative z-10" >
52
+ < h2 className = "text-2xl font-semibold text-green-700 mb-3" > 最近更新</ h2 >
53
+ < div className = "space-y-3" >
54
+ < div className = "border-l-2 border-secondary pl-3 hover:bg-green-50/50 transition-colors rounded p-2" >
55
+ < h3 className = "text-lg font-medium text-gray-800" > 《人类简史》读后感</ h3 >
56
+ < p className = "text-sm text-gray-600" > 对历史长河中人类演变的思考,从狩猎采集到人工智能...</ p >
57
+ < div className = "text-xs text-gray-500 mt-1" > 2023年4月15日</ div >
58
+ </ div >
59
+
60
+ < div className = "border-l-2 border-tertiary pl-3 hover:bg-blue-50/50 transition-colors rounded p-2" >
61
+ < h3 className = "text-lg font-medium text-gray-800" > React Hooks最佳实践</ h3 >
62
+ < p className = "text-sm text-gray-600" > 整理使用React Hooks过程中的经验与技巧...</ p >
63
+ < div className = "text-xs text-gray-500 mt-1" > 2023年3月28日</ div >
64
+ </ div >
65
+
66
+ < div className = "border-l-2 border-accent pl-3 hover:bg-pink-50/50 transition-colors rounded p-2" >
67
+ < h3 className = "text-lg font-medium text-gray-800" > 春日小记</ h3 >
68
+ < p className = "text-sm text-gray-600" > 漫步在樱花盛开的小路,思绪如风般自由...</ p >
69
+ < div className = "text-xs text-gray-500 mt-1" > 2023年3月10日</ div >
70
+ </ div >
71
+ </ div >
72
+ </ section >
73
+
74
+ < footer className = "mt-12 text-center text-sm text-white p-4 relative z-10" >
75
+ < div className = "mb-2" > © 2023-2025 春风笔记 | 由热爱与思考驱动</ div >
76
+ < div className = "flex justify-center space-x-4 text-xs" >
77
+ < a href = "#" className = "hover:text-accent transition-colors" > 关于</ a >
78
+ < a href = "#" className = "hover:text-accent transition-colors" > 联系</ a >
79
+ < a href = "#" className = "hover:text-accent transition-colors" > RSS</ a >
80
+ < a href = "#" className = "hover:text-accent transition-colors" > 主题</ a >
81
+ </ div >
82
+ </ footer >
83
+
84
+ < style jsx > { `
85
+ .debug-border {
86
+ border: 4px solid red;
87
+ }
88
+
89
+ .anime-bg {
90
+ position: relative;
91
+ background: linear-gradient(to bottom, #f1a7a9, #93c5e6); /* 类似于动漫天空的渐变背景 */
92
+ overflow: hidden;
93
+ }
94
+
95
+ .anime-bg::before {
96
+ content: '';
97
+ position: absolute;
98
+ top: 0;
99
+ left: 0;
100
+ right: 0;
101
+ bottom: 0;
102
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M30,60 Q50,80 70,60 T90,70 T70,80 T50,70 T30,60' stroke='%23ffffff' stroke-width='1' fill='none' stroke-opacity='0.2'/%3E%3C/svg%3E");
103
+ background-size: 200px 200px;
104
+ opacity: 0.5;
105
+ z-index: 0;
106
+ }
107
+
108
+ .anime-bg::after {
109
+ content: '';
110
+ position: absolute;
111
+ bottom: 0;
112
+ left: 0;
113
+ right: 0;
114
+ height: 200px;
115
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='200' viewBox='0 0 400 200'%3E%3Cpath d='M0,200 L0,150 Q100,100 200,150 Q300,200 400,150 L400,200 Z' fill='%23446b69' fill-opacity='0.3'/%3E%3C/svg%3E");
116
+ background-repeat: repeat-x;
117
+ background-size: 400px 200px;
118
+ z-index: 0;
119
+ }
120
+
121
+ .bg-overlay {
122
+ position: absolute;
123
+ top: 0;
124
+ left: 0;
125
+ right: 0;
126
+ bottom: 0;
127
+ background: linear-gradient(to bottom, rgba(0,0,0,0.2), rgba(0,0,0,0.3));
128
+ z-index: 1;
129
+ }
130
+
131
+ .cherry-blossom {
132
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50,30 C60,20 70,20 80,30 C90,40 90,50 80,60 C70,70 60,70 50,60 C40,70 30,70 20,60 C10,50 10,40 20,30 C30,20 40,20 50,30 Z' fill='%23f5a3b3' fill-opacity='0.3'/%3E%3Cpath d='M50,30 C55,35 55,45 50,50 C45,45 45,35 50,30 Z M80,30 C75,35 65,35 60,30 C65,25 75,25 80,30 Z M80,60 C75,55 75,45 80,40 C85,45 85,55 80,60 Z M50,60 C45,55 45,45 50,40 C55,45 55,55 50,60 Z M20,60 C25,55 35,55 40,60 C35,65 25,65 20,60 Z M20,30 C25,35 25,45 20,50 C15,45 15,35 20,30 Z' fill='%23ffffff' fill-opacity='0.6'/%3E%3Ccircle cx='50' cy='50' r='5' fill='%23ffcc88' fill-opacity='0.7'/%3E%3C/svg%3E");
133
+ background-size: contain;
134
+ background-repeat: no-repeat;
135
+ }
136
+
137
+ .grass-decoration {
138
+ position: absolute;
139
+ bottom: -5px;
140
+ right: -5px;
141
+ width: 30px;
142
+ height: 20px;
143
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M20,100 Q25,70 30,100 M15,100 Q20,60 25,100 M25,100 Q35,75 45,100' stroke='%237db069' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
144
+ background-repeat: no-repeat;
145
+ opacity: 0.4;
146
+ }
147
+
148
+ .cloud-decoration {
149
+ position: absolute;
150
+ top: -5px;
151
+ right: -5px;
152
+ width: 40px;
153
+ height: 20px;
154
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='50' viewBox='0 0 100 50'%3E%3Cpath d='M10,40 Q20,20 40,30 Q60,10 80,30 Q90,40 95,35' stroke='%2378a4c7' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
155
+ background-repeat: no-repeat;
156
+ opacity: 0.4;
157
+ }
158
+
159
+ .leaf-decoration {
160
+ position: absolute;
161
+ top: 0;
162
+ right: 0;
163
+ width: 25px;
164
+ height: 25px;
165
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M20,80 Q50,40 80,20 Q60,50 20,80 Z' fill='%237db069' fill-opacity='0.2'/%3E%3C/svg%3E");
166
+ background-repeat: no-repeat;
167
+ opacity: 0.5;
168
+ }
169
+
170
+ .bg-accent {
171
+ background-color: #f5a3b3;
172
+ }
173
+
174
+ .bg-accent-hover {
175
+ background-color: #e8919f;
176
+ }
177
+
178
+ .text-accent {
179
+ color: #f5a3b3;
180
+ }
181
+ ` } </ style >
182
+ </ div >
183
+ ) ;
184
+ }
0 commit comments