66<!-- ==================== HERO ==================== -->
77< section class ="capa-hero ">
88 < div class ="capa-hero__bg "> </ div >
9+ < div class ="capa-hero__grid "> </ div >
910 < div class ="capa-hero__overlay "> </ div >
1011 < div class ="capa-hero__content ">
1112 < div class ="capa-hero__badge "> Cloud Application API</ div >
@@ -33,34 +34,37 @@ <h1 class="capa-hero__title">
3334
3435<!-- ==================== ARCHITECTURE ==================== -->
3536< section class ="capa-arch ">
36- < div class ="capa-section-label "> Architecture</ div >
37- < h2 class ="capa-section-title "> 为什么选择 Capa?</ h2 >
38- < p class ="capa-section-desc ">
39- 统一的 API 层,让应用与基础设施解耦,通过 SPI 插件机制适配不同云平台。
40- </ p >
41- < div class ="capa-arch__img ">
37+ < div class ="capa-reveal ">
38+ < div class ="capa-section-label "> Architecture</ div >
39+ < h2 class ="capa-section-title "> 为什么选择 Capa?</ h2 >
40+ < p class ="capa-section-desc ">
41+ 统一的 API 层,让应用与基础设施解耦,通过 SPI 插件机制适配不同云平台。
42+ </ p >
43+ </ div >
44+ < div class ="capa-arch__img capa-reveal capa-reveal-delay-1 ">
4245 < img src ="/images/homepage/architecture.png " alt ="Capa 分层架构:应用 → Standard API → SPI Plugin → 多云实现 " loading ="lazy ">
4346 </ div >
4447</ section >
4548
4649<!-- ==================== FEATURES ==================== -->
4750< section class ="capa-features ">
51+ < div class ="capa-divider "> </ div >
4852 < div class ="capa-features__grid ">
49- < div class ="capa-feature ">
53+ < div class ="capa-feature capa-reveal ">
5054 < div class ="capa-feature__icon " style ="background: #e3f2fd; color: #1565c0; ">
5155 < i class ="fas fa-cloud "> </ i >
5256 </ div >
5357 < h3 class ="capa-feature__title "> 跨云部署</ h3 >
5458 < p class ="capa-feature__desc "> 一套代码,同时部署到阿里云、AWS、腾讯云等多个云平台,无需修改业务逻辑。</ p >
5559 </ div >
56- < div class ="capa-feature ">
60+ < div class ="capa-feature capa-reveal capa-reveal-delay-1 ">
5761 < div class ="capa-feature__icon " style ="background: #ede7f6; color: #6a1b9a; ">
5862 < i class ="fas fa-layer-group "> </ i >
5963 </ div >
6064 < h3 class ="capa-feature__title "> Mecha 架构</ h3 >
6165 < p class ="capa-feature__desc "> 基于 Service Mesh 理念演进,将基础设施能力下沉到 SDK,应用只需关注业务逻辑。</ p >
6266 </ div >
63- < div class ="capa-feature ">
67+ < div class ="capa-feature capa-reveal capa-reveal-delay-2 ">
6468 < div class ="capa-feature__icon " style ="background: #e8f5e9; color: #2e7d32; ">
6569 < i class ="fas fa-code "> </ i >
6670 </ div >
@@ -72,12 +76,14 @@ <h3 class="capa-feature__title">标准 API</h3>
7276
7377<!-- ==================== FEATURED ARTICLE ==================== -->
7478< section class ="capa-article ">
75- < div class ="capa-section-label " style ="color: var(--capa-cyan); text-align: center; "> Deep Dive</ div >
76- < h2 class ="capa-section-title " style ="color: #fff; text-align: center; "> 深度阅读</ h2 >
77- < p class ="capa-section-desc " style ="color: rgba(255,255,255,0.5); text-align: center; ">
78- 了解 Capa 的设计哲学、架构实践与未来方向
79- </ p >
80- < div class ="capa-article__card ">
79+ < div class ="capa-reveal " style ="text-align: center; ">
80+ < div class ="capa-section-label " style ="color: var(--capa-cyan); "> Deep Dive</ div >
81+ < h2 class ="capa-section-title " style ="color: #fff; "> 深度阅读</ h2 >
82+ < p class ="capa-section-desc " style ="color: rgba(255,255,255,0.45); ">
83+ 了解 Capa 的设计哲学、架构实践与未来方向
84+ </ p >
85+ </ div >
86+ < div class ="capa-article__card capa-reveal capa-reveal-delay-1 ">
8187 < a href ="/blog/2022/01/18/capa-mecha-sdk-of-cloud-application-api/ ">
8288 < img class ="capa-article__cover " src ="/images/homepage/article-cover.png " alt ="Capa 架起混合云应用开发的桥梁 " loading ="lazy ">
8389 </ a >
@@ -105,12 +111,12 @@ <h3 class="capa-article__title">
105111
106112<!-- ==================== CODE EXAMPLE ==================== -->
107113< section class ="capa-code ">
108- < div style ="text-align: center; margin-bottom: 2.5rem ; ">
114+ < div class =" capa-reveal " style ="text-align: center; margin-bottom: 2.8rem ; ">
109115 < div class ="capa-section-label "> Quick Start</ div >
110116 < h2 class ="capa-section-title "> 简洁的 API 设计</ h2 >
111117 </ div >
112118 < div class ="capa-code__grid ">
113- < div class ="capa-code__block ">
119+ < div class ="capa-code__block capa-reveal ">
114120 < div class ="capa-code__header ">
115121 < span class ="capa-code__dot " style ="background: #ff5f57; "> </ span >
116122 < span class ="capa-code__dot " style ="background: #febc2e; "> </ span >
@@ -133,10 +139,8 @@ <h2 class="capa-section-title">简洁的 API 设计</h2>
133139< span style ="color:#8b949e; "> // 获取结果</ span >
134140< span style ="color:#ff7b72; "> String</ span > response = result.block();</ code > </ pre >
135141 </ div >
136- < div >
137- < h3 style ="font-size: 1.3rem; font-weight: 700; color: var(--capa-navy); margin-bottom: 1.5rem; ">
138- 丰富的分布式能力
139- </ h3 >
142+ < div class ="capa-reveal capa-reveal-delay-1 ">
143+ < h3 class ="capa-code__right-title "> 丰富的分布式能力</ h3 >
140144 < ul class ="capa-code__list ">
141145 < li > < span class ="check "> < i class ="fas fa-check-circle "> </ i > </ span > 服务调用 (RPC)</ li >
142146 < li > < span class ="check "> < i class ="fas fa-check-circle "> </ i > </ span > 配置中心 (Configuration)</ li >
@@ -151,24 +155,43 @@ <h3 style="font-size: 1.3rem; font-weight: 700; color: var(--capa-navy); margin-
151155
152156<!-- ==================== COMMUNITY ==================== -->
153157< section class ="capa-community ">
154- < div class ="capa-section-label "> Community</ div >
155- < h2 class ="capa-section-title "> 加入社区</ h2 >
156- < p class ="capa-section-desc "> 与开发者一起探讨 Mecha 架构和云原生技术</ p >
158+ < div class ="capa-reveal ">
159+ < div class ="capa-section-label "> Community</ div >
160+ < h2 class ="capa-section-title "> 加入社区</ h2 >
161+ < p class ="capa-section-desc "> 与开发者一起探讨 Mecha 架构和云原生技术</ p >
162+ </ div >
157163 < div class ="capa-community__grid ">
158- < a class ="capa-community__card " href ="https://github.com/capa-cloud/capa-java " target ="_blank " rel ="noopener ">
164+ < a class ="capa-community__card capa-reveal " href ="https://github.com/capa-cloud/capa-java " target ="_blank " rel ="noopener ">
159165 < div class ="capa-community__icon "> < i class ="fab fa-github "> </ i > </ div >
160166 < h4 > 开源社区</ h4 >
161167 < p > 参与项目建设,提交 Issue 或 PR</ p >
162168 </ a >
163- < a class ="capa-community__card " href ="/community/ ">
169+ < a class ="capa-community__card capa-reveal capa-reveal-delay-1 " href ="/community/ ">
164170 < div class ="capa-community__icon "> < i class ="fas fa-comments "> </ i > </ div >
165171 < h4 > 技术交流</ h4 >
166172 < p > 加入社区讨论,分享最佳实践</ p >
167173 </ a >
168- < a class ="capa-community__card " href ="https://github.com/capa-cloud/capa-java/issues " target ="_blank " rel ="noopener ">
174+ < a class ="capa-community__card capa-reveal capa-reveal-delay-2 " href ="https://github.com/capa-cloud/capa-java/issues " target ="_blank " rel ="noopener ">
169175 < div class ="capa-community__icon "> < i class ="fas fa-envelope "> </ i > </ div >
170176 < h4 > 联系我们</ h4 >
171177 < p > 有任何问题或建议?随时联系</ p >
172178 </ a >
173179 </ div >
174180</ section >
181+
182+ <!-- Scroll reveal script -->
183+ < script >
184+ ( function ( ) {
185+ var els = document . querySelectorAll ( '.capa-reveal' ) ;
186+ if ( ! els . length ) return ;
187+ var observer = new IntersectionObserver ( function ( entries ) {
188+ entries . forEach ( function ( entry ) {
189+ if ( entry . isIntersecting ) {
190+ entry . target . classList . add ( 'is-visible' ) ;
191+ observer . unobserve ( entry . target ) ;
192+ }
193+ } ) ;
194+ } , { threshold : 0.12 , rootMargin : '0px 0px -40px 0px' } ) ;
195+ els . forEach ( function ( el ) { observer . observe ( el ) ; } ) ;
196+ } ) ( ) ;
197+ </ script >
0 commit comments