This is an automated email from the ASF dual-hosted git repository.

xiaoyu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/shenyu-website.git


The following commit(s) were added to refs/heads/main by this push:
     new e0b0aba516 index page update (#706)
e0b0aba516 is described below

commit e0b0aba5160b55e67d47daa57bd43024bc2653b0
Author: gouzixing <[email protected]>
AuthorDate: Sat Aug 13 16:52:47 2022 +0800

    index page update (#706)
    
    * newsPage
    
    * news page
    
    * bugfix
    
    * news page update
    
    * bugfix --path bug
    
    * conflict
    
    * conflict
    
    * img update
    
    * blog page refractor
    
    * blog page new style
    
    * delete annotate
    
    * index page highlight for slogon
    
    * bugfix:document for node
    
    * bugfix--link false
    
    * i18n & link fix
    
    * 'translate'
    
    * translate
    
    * urlchange bugfix
    
    * docs fix
    
    * delete unused import
    
    * fix
    
    * event page & navibar update & overview doc & pic update for news
    
    * lint
    
    * lint
    
    * translate
    
    * lint
    
    * trans
    
    * feat
    
    * fix--locale=zh
    
    * docs fix
    
    * footer
    
    * i18n
    
    * userList
    
    * fix
    
    * fix
    
    * fix
    
    * index
    
    * fix
    
    * hover
    
    * fix
    
    * index page
    
    Co-authored-by: gouzixing <[email protected]>
    Co-authored-by: gouzixing <[email protected]>
---
 i18n/zh/code.json                                  |  33 ------
 src/components/FeatureCard.module.css              |  16 +--
 src/components/Features.module.css                 |  32 +++--
 src/components/Features.tsx                        |  89 ++++++++++----
 src/pages/index.module.css                         |   7 ++
 src/pages/index.tsx                                | 132 +++++++++++----------
 static/img/home/2_1.jpg                            | Bin 0 -> 638461 bytes
 static/img/home/2_2.jpg                            | Bin 0 -> 694717 bytes
 static/img/home/2_3.jpg                            | Bin 0 -> 307920 bytes
 static/img/home/2_4.jpg                            | Bin 0 -> 306189 bytes
 static/img/home/2_5.jpg                            | Bin 0 -> 429615 bytes
 static/img/home/2_6.jpg                            | Bin 0 -> 446375 bytes
 static/img/home/{flow.svg => apiGovernance.svg}    |   2 +-
 static/img/home/clusters.svg                       |   2 +-
 static/img/home/{performance.svg => dashboard.svg} |   2 +-
 .../img/home/{multi-plugins.svg => extensions.svg} |   2 +-
 static/img/home/language.svg                       |   1 +
 static/img/home/observability.svg                  |   1 +
 static/img/home/{rich-protocol.svg => proxy.svg}   |   2 +-
 static/img/home/{extended.svg => security.svg}     |   2 +-
 20 files changed, 172 insertions(+), 151 deletions(-)

diff --git a/i18n/zh/code.json b/i18n/zh/code.json
index 5d3efe2126..f17439bf82 100755
--- a/i18n/zh/code.json
+++ b/i18n/zh/code.json
@@ -274,39 +274,6 @@
   "Plug-in design idea, plug-in hot plug, easy to expand.Built-in rich plugin 
support, authentication, limiting, fuse, firewall, etc.": {
     "message": "插件化设计思想,插件热插拔,易扩展。内置丰富的插件,支持鉴权、限流、熔断、防火墙等"
   },
-  "Rich protocols": {
-    "message": "丰富的协议"
-  },
-  "Supports Dubbo, Tars, Spring-Cloud, gRPC.": {
-    "message": "支持 Dubbo,Tars,Spring-Cloud,gRPC。"
-  },
-  "Plug-in design idea, plug-in hot plug, easy to expand.": {
-    "message": "插件化设计思想,插件热插拔,易扩展。"
-  },
-  "Flow Control": {
-    "message": "流控"
-  },
-  "Flexible flow filtering to meet various flow control.": {
-    "message": "灵活的流量筛选,能满足各种流量控制。"
-  },
-  "Built-in Plug-ins": {
-    "message": "内置插件"
-  },
-  "Built-in rich plugin support, authentication, limiting, fuse, firewall, 
etc.": {
-    "message": "内置丰富的插件支持,鉴权,限流,熔断,防火墙等。"
-  },
-  "High Performance": {
-    "message": "高性能"
-  },
-  "Dynamic flow configuration, high performance, gateway consumption is 
1~2ms.": {
-    "message": "流量配置动态化,性能极高,网关消耗在 1~2ms。"
-  },
-  "Cluster Deployment": {
-    "message": "集群部署"
-  },
-  "Support cluster deployment, A/B Test, blue-green release.": {
-    "message": "支持集群部署,支持 A/B Test,蓝绿发布。"
-  },
   "Feature List": {
     "message": "特性一览"
   },
diff --git a/src/components/FeatureCard.module.css 
b/src/components/FeatureCard.module.css
index 5e89efc4ac..c4d489828b 100644
--- a/src/components/FeatureCard.module.css
+++ b/src/components/FeatureCard.module.css
@@ -3,10 +3,7 @@
     border-radius: 15px;
     padding: 1rem;
     box-shadow: var(--ifm-navbar-shadow);
-    display: grid;
-    align-items: center;
-    justify-content: center;
-    grid-template-columns: 0.3fr 1fr;
+    height: 200px;
     text-align: center;
   }
 
@@ -17,18 +14,13 @@
 
   .featureCard h3 {
     color: var(--verdaccio-color);
-    font-weight: normal;
+    font-weight: bold;
     font-size: 1.375rem;
   }
 
   .featureCard p {
     color: var(--p-color);
+    /* font-size: 0.5rem; */
     font-size: var(--font-size);
   }
-  
-  @media only screen and (max-width: 600px) {
-    .featureCard {
-      text-align: left;
-      column-gap: 2rem;
-    }
-  }
\ No newline at end of file
+  
\ No newline at end of file
diff --git a/src/components/Features.module.css 
b/src/components/Features.module.css
index d7f2142602..1b942a6b4a 100644
--- a/src/components/Features.module.css
+++ b/src/components/Features.module.css
@@ -2,34 +2,30 @@
     max-width: 100%;
     margin: 0 auto;
   }
-
-  .features--wrap {
-    display: grid;
-    grid-template-columns: repeat(2, 1fr);
-    gap: 1rem;
-  }
   
-  .linkFeatures {
-    margin-top: 2rem;
-    text-align: center;
-  }
-
   .blockTitle:before {
     content: "";
     display: block;
     width: 50px;
     height: 3px;
-    background-color: var(--ifm-color-primary);
+    background-color: #000033;
     margin: 0 auto 8px;
   }
 
   .blockTitle {
     text-shadow: 4px 6px 0 rgb(0 0 0 / 7%);
     text-align: center;
+    margin-bottom: 40px;
   }
-  
-  @media only screen and (max-width: 600px) {
-    .features--wrap {
-      grid-template-columns: repeat(1, 1fr);
-    }
-  }
\ No newline at end of file
+
+  :global(.swiper-slide){
+    transform: scale(0.8);
+  }
+
+  :global(.swiper-slide-shadow-left){
+     background-image: linear-gradient(to left,rgba(0,0,0,0),rgba(0,0,0,0)) 
!important;
+  }
+
+  :global(.swiper-slide-shadow-right){
+    background-image: linear-gradient(to left,rgba(0,0,0,0),rgba(0,0,0,0)) 
!important;
+ }
\ No newline at end of file
diff --git a/src/components/Features.tsx b/src/components/Features.tsx
index efae6926a2..ac1d569b6f 100644
--- a/src/components/Features.tsx
+++ b/src/components/Features.tsx
@@ -5,53 +5,78 @@ import FeatureCard from './FeatureCard';
 
 import styles from './Features.module.css';
 
+import { Swiper, SwiperSlide } from "swiper/react";
+import SwiperCore, {
+  Autoplay,
+  EffectCoverflow
+} from 'swiper';
+import "swiper/css";
+import "swiper/css/navigation";
+import "swiper/css/pagination";
+
 const FEATURES = [
   {
-    image: '/img/home/rich-protocol.svg',
-    title: translate({ message: 'Rich protocols' }),
+    image: '/img/home/proxy.svg',
+    title: translate({ message: 'Proxy' }),
+    subtitle: translate({
+      message:
+        'Support for Apache® Dubbo™, Spring Cloud, gRPC, Motan, SOFA, TARS, 
WebSocket, MQTT.',
+    }),
+  },
+  {
+    image: '/img/home/security.svg',
+    title: translate({ message: 'Security' }),
     subtitle: translate({
       message:
-        'Supports Dubbo, Tars, Spring-Cloud, gRPC.',
+        'Sign, OAuth 2.0, JSON Web Tokens, WAF plugin.',
     }),
   },
   {
-    image: '/img/home/extended.svg',
-    title: translate({ message: 'Pluggable' }),
+    image: '/img/home/apiGovernance.svg',
+    title: translate({ message: 'API governance' }),
     subtitle: translate({
       message:
-        'Plug-in design idea, plug-in hot plug, easy to expand.',
+        'Request, response, parameter mapping, Hystrix, RateLimiter plugin.',
     }),
   },
   {
-    image: '/img/home/flow.svg',
-    title: translate({ message: 'Flow Control' }),
+    image: '/img/home/observability.svg',
+    title: translate({ message: 'Observability' }),
     subtitle: translate({
       message:
-        'Flexible flow filtering to meet various flow control.',
+        'Tracing, metrics, logging plugin',
     }),
   },
   {
-    image: '/img/home/multi-plugins.svg',
-    title: translate({ message: 'Built-in Plug-ins' }),
+    image: '/img/home/dashboard.svg',
+    title: translate({ message: 'Dashboard' }),
     subtitle: translate({
       message:
-        'Built-in rich plugin support, authentication, limiting, fuse, 
firewall, etc.',
+        'Dynamic traffic control, visual backend for user menu permissions',
     }),
   },
   {
-    image: '/img/home/performance.svg',
-    title: translate({ message: 'High Performance' }),
+    image: '/img/home/extensions.svg',
+    title: translate({ message: 'Extensions' }),
     subtitle: translate({
       message:
-        'Dynamic flow configuration, high performance, gateway consumption is 
1~2ms.',
+        'Plugin hot-swapping, dynamic loading',
     }),
   },
   {
     image: '/img/home/clusters.svg',
-    title: translate({ message: 'Cluster Deployment' }),
+    title: translate({ message: 'Cluster' }),
+    subtitle: translate({
+      message:
+        'NGINX, Docker, Kubernetes',
+    }),
+  },
+  {
+    image: '/img/home/language.svg',
+    title: translate({ message: 'Language' }),
     subtitle: translate({
       message:
-        'Support cluster deployment, A/B Test, blue-green release.',
+        'provides .NET, Python, Go, Java client for API register',
     }),
   },
 ];
@@ -60,9 +85,33 @@ const Features = (): React.ReactElement => (
   <section className={styles.features}>
     <h1 className={styles.blockTitle}><Translate>Feature List</Translate></h1>
     <div className={styles['features--wrap']}>
-      {FEATURES.map(({ image, title, subtitle }) => (
-        <FeatureCard key={title} image={useBaseUrl(image)} title={title} 
subtitle={subtitle} />
-      ))}
+      <Swiper
+        modules={[Autoplay, EffectCoverflow]}
+        watchSlidesProgress={true}
+        slidesPerView={3.3}
+        centeredSlides={true}
+        slideToClickedSlide={true}
+        loop={true}
+        loopedSlides={3}
+        autoplay={{
+          delay: 2000,
+        }}
+        effect={"coverflow"}
+        grabCursor
+        coverflowEffect={{
+          rotate: 50,
+          stretch: 0,
+          depth: 100,
+          modifier: 1,
+          slideShadows: true,
+        }}
+      >
+        {FEATURES.map(({ image, title, subtitle }) => (
+          <SwiperSlide className={styles.swiperSlide}>
+            <FeatureCard key={title} image={useBaseUrl(image)} title={title} 
subtitle={subtitle} />
+          </SwiperSlide>
+        ))}
+      </Swiper>
     </div>
   </section>
 );
diff --git a/src/pages/index.module.css b/src/pages/index.module.css
index 9b4781657c..bd45a2d790 100755
--- a/src/pages/index.module.css
+++ b/src/pages/index.module.css
@@ -13,6 +13,7 @@
 
 .sectionInner {
   margin: 0 auto;
+  user-select: none;
 }
 
 .featureImage {
@@ -298,4 +299,10 @@
   background: linear-gradient(-90deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
     width: 88px;
     height: 100%;
+}
+
+.contentImg{
+  display: table;
+  margin: 0 auto;
+  width: 80%;
 }
\ No newline at end of file
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
index fc1235e841..eed34a5da8 100755
--- a/src/pages/index.tsx
+++ b/src/pages/index.tsx
@@ -1,14 +1,23 @@
 import React from "react";
 import Link from "@docusaurus/Link";
 import Translate, { translate } from "@docusaurus/Translate";
+import { Swiper, SwiperSlide } from "swiper/react";
 import useDocusaurusContext from "@docusaurus/useDocusaurusContext";
 import useBaseUrl from "@docusaurus/useBaseUrl";
 import Layout from "@theme/Layout";
+import SwiperCore, {
+  EffectFade,
+  Navigation,
+  Autoplay
+} from 'swiper';
 
 import clsx from "clsx";
 import styles from "./index.module.css";
 import Features from "../components/Features";
 import Footer from "../components/Footer";
+import "swiper/css";
+import "swiper/css/navigation";
+import "swiper/css/pagination";
 
 function Home() {
   const {
@@ -28,7 +37,6 @@ function Home() {
                   src="/img/logo.svg"
                   className={styles.heroProjectLogo}
                 ></img>
-                {/* <span 
className={styles.heroProjectSubTitle}>Incubating</span> */}
               </h1>
               <h3 className={styles.heroProjectTagline}>
                 <span
@@ -58,73 +66,73 @@ function Home() {
             </div>
             <div className="col col--5 col--offset-1">
               <div className={styles.logoContainer}>
-              <img
-                alt={translate({ message: "Docusaurus with Keytar" })}
-                className={styles.heroLogo}
-                
src={useBaseUrl("/img/architecture/shenyu-architecture-3d.png")}
-              />
-              </div>
-            </div>
-          </div>
-        </div>
-        <div className={styles.section}>
-          <div className="container text--center">
-            <div className="row">
-              <div className="col">
                 <img
-                  className={styles.featureImage}
-                  alt="Powered by MDX"
-                  src={useBaseUrl("/img/home/open.svg")}
+                  alt={translate({ message: "Docusaurus with Keytar" })}
+                  className={styles.heroLogo}
+                  
src={useBaseUrl("/img/architecture/shenyu-architecture-3d.png")}
                 />
-                <h2 className={clsx(styles.featureHeading)}>
-                  <Translate>Open</Translate>
-                </h2>
-                <p className="padding-horiz--md">
-                  <Translate>
-                    The technology stack is fully open source construction,
-                    maintain the community neutrality, compatible with the
-                    community open source ecology, welcome to participate in
-                    various contributions at any time.
-                  </Translate>
-                </p>
-              </div>
-              <div className="col">
-                <img
-                  alt="Built Using React"
-                  className={styles.featureImage}
-                  src={useBaseUrl("/img/home/high-performance.svg")}
-                />
-                <h2 className={clsx(styles.featureHeading)}>
-                  <Translate>High-Performance</Translate>
-                </h2>
-                <p className="padding-horiz--md">
-                  <Translate>
-                    High-performance micro-service API gateway, experienced the
-                    temper of large-scale scenes.Dynamic flow configuration,
-                    high performance, gateway consumption is 1~2ms.
-                  </Translate>
-                </p>
-              </div>
-              <div className="col">
-                <img
-                  alt="Ready for Translations"
-                  className={styles.featureImage}
-                  src={useBaseUrl("/img/home/plugins.svg")}
-                />
-                <h2 className={clsx(styles.featureHeading)}>
-                  <Translate>Pluggable</Translate>
-                </h2>
-                <p className="padding-horiz--md">
-                  <Translate>
-                    Plug-in design idea, plug-in hot plug, easy to
-                    expand.Built-in rich plugin support, authentication,
-                    limiting, fuse, firewall, etc.
-                  </Translate>
-                </p>
               </div>
             </div>
           </div>
         </div>
+        <div className={styles.section}>
+          <Swiper
+            modules={[EffectFade, Navigation, Autoplay]}
+            navigation={{
+              nextEl: '.user-swiper-button-next',
+              prevEl: '.user-swiper-button-prev',
+            }}
+            effect={'fade'}
+            fadeEffect={{
+              crossFade: true
+            }}
+            speed={1000}
+            slidesPerView={1}
+            grabCursor
+            autoplay={{
+              delay: 3000,
+            }}
+          >
+            <SwiperSlide>
+              <img
+                className={styles.contentImg}
+                src={useBaseUrl("/img/home/2_1.jpg")}
+              />
+            </SwiperSlide>
+            <SwiperSlide>
+              <img
+                className={styles.contentImg}
+                src={useBaseUrl("/img/home/2_2.jpg")}
+              />
+            </SwiperSlide>
+            <SwiperSlide>
+              <img
+                className={styles.contentImg}
+                src={useBaseUrl("/img/home/2_3.jpg")}
+              />
+            </SwiperSlide>
+            <SwiperSlide>
+              <img
+                className={styles.contentImg}
+                src={useBaseUrl("/img/home/2_4.jpg")}
+              />
+            </SwiperSlide>
+            <SwiperSlide>
+              <img
+                className={styles.contentImg}
+                src={useBaseUrl("/img/home/2_5.jpg")}
+              />
+            </SwiperSlide>
+            <SwiperSlide>
+              <img
+                className={styles.contentImg}
+                src={useBaseUrl("/img/home/2_6.jpg")}
+              />
+            </SwiperSlide>
+          </Swiper>
+        </div>
+        <div className="swiper-button-prev user-swiper-button-prev" style={{ 
top:"880px", left: "50px" }}></div>
+        <div className="swiper-button-next user-swiper-button-next" style={{ 
top:"880px", right: "50px" }}></div>
         <div className={clsx(styles.section, styles.sectionAlt)}>
           <div className="container">
             <Features />
diff --git a/static/img/home/2_1.jpg b/static/img/home/2_1.jpg
new file mode 100644
index 0000000000..c5cfafc0b0
Binary files /dev/null and b/static/img/home/2_1.jpg differ
diff --git a/static/img/home/2_2.jpg b/static/img/home/2_2.jpg
new file mode 100644
index 0000000000..608b6e876c
Binary files /dev/null and b/static/img/home/2_2.jpg differ
diff --git a/static/img/home/2_3.jpg b/static/img/home/2_3.jpg
new file mode 100644
index 0000000000..22d4cc0b1a
Binary files /dev/null and b/static/img/home/2_3.jpg differ
diff --git a/static/img/home/2_4.jpg b/static/img/home/2_4.jpg
new file mode 100644
index 0000000000..c27a801eff
Binary files /dev/null and b/static/img/home/2_4.jpg differ
diff --git a/static/img/home/2_5.jpg b/static/img/home/2_5.jpg
new file mode 100644
index 0000000000..37b25fe73e
Binary files /dev/null and b/static/img/home/2_5.jpg differ
diff --git a/static/img/home/2_6.jpg b/static/img/home/2_6.jpg
new file mode 100644
index 0000000000..7d001c0b29
Binary files /dev/null and b/static/img/home/2_6.jpg differ
diff --git a/static/img/home/flow.svg b/static/img/home/apiGovernance.svg
similarity index 89%
rename from static/img/home/flow.svg
rename to static/img/home/apiGovernance.svg
index 6d90a0e2b1..499ed533bb 100644
--- a/static/img/home/flow.svg
+++ b/static/img/home/apiGovernance.svg
@@ -1 +1 @@
-<svg height="200" viewBox="0 0 1024 1024" width="200" 
xmlns="http://www.w3.org/2000/svg";><path d="m221.866667 
85.333333h580.309333a85.333333 85.333333 0 0 1 68.522667 136.064l-4.48 
5.546667-226.218667 258.389333v325.333334a42.666667 42.666667 0 0 1 -37.674667 
42.368l-4.992.298666a42.666667 42.666667 0 0 1 
-42.368-37.674666l-.298666-4.992v-341.333334a42.666667 42.666667 0 0 1 
7.424-24.021333l3.157333-4.096 236.757333-270.549333-580.053333.042666 236.8 
270.506667a42.666667 42.666667 0 0 1  [...]
\ No newline at end of file
+<svg height="200" viewBox="0 0 1024 1024" width="200" 
xmlns="http://www.w3.org/2000/svg";><path d="m221.866667 
85.333333h580.309333a85.333333 85.333333 0 0 1 68.522667 136.064l-4.48 
5.546667-226.218667 258.389333v325.333334a42.666667 42.666667 0 0 1 -37.674667 
42.368l-4.992.298666a42.666667 42.666667 0 0 1 
-42.368-37.674666l-.298666-4.992v-341.333334a42.666667 42.666667 0 0 1 
7.424-24.021333l3.157333-4.096 236.757333-270.549333-580.053333.042666 236.8 
270.506667a42.666667 42.666667 0 0 1  [...]
\ No newline at end of file
diff --git a/static/img/home/clusters.svg b/static/img/home/clusters.svg
index df06a9a128..ca1c61dd5b 100644
--- a/static/img/home/clusters.svg
+++ b/static/img/home/clusters.svg
@@ -1 +1 @@
-<svg height="200" viewBox="0 0 1024 1024" width="200" 
xmlns="http://www.w3.org/2000/svg";><path d="m768 
85.333333h-341.333333a85.333333 85.333333 0 0 0 -85.333334 
85.333334v512a85.333333 85.333333 0 0 0 85.333334 
85.333333h341.333333a85.333333 85.333333 0 0 0 
85.333333-85.333333v-512a85.333333 85.333333 0 0 0 
-85.333333-85.333334zm-341.333333 85.333334h341.333333v512h-341.333333z" 
fill="#049dee"/><path d="m213.333333 213.333333a42.666667 42.666667 0 0 1 
42.368 37.674667l.298667 4.992v597. [...]
\ No newline at end of file
+<svg height="200" viewBox="0 0 1024 1024" width="200" 
xmlns="http://www.w3.org/2000/svg";><path d="m768 
85.333333h-341.333333a85.333333 85.333333 0 0 0 -85.333334 
85.333334v512a85.333333 85.333333 0 0 0 85.333334 
85.333333h341.333333a85.333333 85.333333 0 0 0 
85.333333-85.333333v-512a85.333333 85.333333 0 0 0 
-85.333333-85.333334zm-341.333333 85.333334h341.333333v512h-341.333333z" 
fill="#000033"/><path d="m213.333333 213.333333a42.666667 42.666667 0 0 1 
42.368 37.674667l.298667 4.992v597. [...]
\ No newline at end of file
diff --git a/static/img/home/performance.svg b/static/img/home/dashboard.svg
similarity index 86%
rename from static/img/home/performance.svg
rename to static/img/home/dashboard.svg
index dd0005f003..b1c1d58100 100644
--- a/static/img/home/performance.svg
+++ b/static/img/home/dashboard.svg
@@ -1 +1 @@
-<svg height="200" viewBox="0 0 1024 1024" width="200" 
xmlns="http://www.w3.org/2000/svg";><path d="m548.821333 414.848a42.666667 
42.666667 0 0 1 63.872 56.32l-3.541333 4.010667-125.866667 125.866666a42.666667 
42.666667 0 0 1 -63.872-56.32l3.541334-4.010666z" fill="#03cd8e"/><path 
d="m818.56 91.946667-673.877333 240.597333 3.712-.896a85.333333 85.333333 0 0 0 
-67.242667 82.517333l.213333 6.954667a85.333333 85.333333 0 0 0 58.624 
75.008l2.688.768 277.589334 105.984 106.752 277.418667-1.152- [...]
\ No newline at end of file
+<svg height="200" viewBox="0 0 1024 1024" width="200" 
xmlns="http://www.w3.org/2000/svg";><path d="m548.821333 414.848a42.666667 
42.666667 0 0 1 63.872 56.32l-3.541333 4.010667-125.866667 125.866666a42.666667 
42.666667 0 0 1 -63.872-56.32l3.541334-4.010666z" fill="#ff5c00"/><path 
d="m818.56 91.946667-673.877333 240.597333 3.712-.896a85.333333 85.333333 0 0 0 
-67.242667 82.517333l.213333 6.954667a85.333333 85.333333 0 0 0 58.624 
75.008l2.688.768 277.589334 105.984 106.752 277.418667-1.152- [...]
\ No newline at end of file
diff --git a/static/img/home/multi-plugins.svg b/static/img/home/extensions.svg
similarity index 93%
rename from static/img/home/multi-plugins.svg
rename to static/img/home/extensions.svg
index f6f2de46f6..00315a4b07 100644
--- a/static/img/home/multi-plugins.svg
+++ b/static/img/home/extensions.svg
@@ -1 +1 @@
-<svg height="200" viewBox="0 0 1024 1024" width="200" 
xmlns="http://www.w3.org/2000/svg";><path d="m896 
85.333333h-298.666667a42.666667 42.666667 0 0 0 -42.666666 
42.666667v298.666667a42.666667 42.666667 0 0 0 42.666666 
42.666666h298.666667a42.666667 42.666667 0 0 0 
42.666667-42.666666v-298.666667a42.666667 42.666667 0 0 0 
-42.666667-42.666667zm-42.666667 
85.333334v213.333333h-213.333333v-213.333333zm-426.666666 
384h-298.666667a42.666667 42.666667 0 0 0 -42.666667 42.666666v298.666667a42. 
[...]
\ No newline at end of file
+<svg height="200" viewBox="0 0 1024 1024" width="200" 
xmlns="http://www.w3.org/2000/svg";><path d="m896 
85.333333h-298.666667a42.666667 42.666667 0 0 0 -42.666666 
42.666667v298.666667a42.666667 42.666667 0 0 0 42.666666 
42.666666h298.666667a42.666667 42.666667 0 0 0 
42.666667-42.666666v-298.666667a42.666667 42.666667 0 0 0 
-42.666667-42.666667zm-42.666667 
85.333334v213.333333h-213.333333v-213.333333zm-426.666666 
384h-298.666667a42.666667 42.666667 0 0 0 -42.666667 42.666666v298.666667a42. 
[...]
\ No newline at end of file
diff --git a/static/img/home/language.svg b/static/img/home/language.svg
new file mode 100644
index 0000000000..894ad7d460
--- /dev/null
+++ b/static/img/home/language.svg
@@ -0,0 +1 @@
+<svg t="1660374573045" class="icon" viewBox="0 0 1024 1024" version="1.1" 
xmlns="http://www.w3.org/2000/svg"; p-id="7343" width="200" height="200"><path 
d="M192 797.867l51.2-115.2-34.133-12.8-51.2 
115.2c-12.8-4.267-25.6-4.267-34.134-4.267C55.467 780.8 0 836.267 0 
904.533S55.467 1024 123.733 1024s123.734-55.467 
123.734-123.733c0-42.667-21.334-81.067-55.467-102.4z m-68.267 192c-46.933 
0-89.6-38.4-89.6-89.6 0-46.934 42.667-89.6 89.6-89.6s89.6 42.666 89.6 
89.6-42.666 89.6-89.6 89.6zM900.267 0 [...]
\ No newline at end of file
diff --git a/static/img/home/observability.svg 
b/static/img/home/observability.svg
new file mode 100644
index 0000000000..961d195867
--- /dev/null
+++ b/static/img/home/observability.svg
@@ -0,0 +1 @@
+<svg t="1660374932550" class="icon" viewBox="0 0 1024 1024" version="1.1" 
xmlns="http://www.w3.org/2000/svg"; p-id="904" width="200" height="200"><path 
d="M802.6 65.39c45.22 0 82.01 36.79 82.01 82.01v730.04c0 45.22-36.79 
82.01-82.01 82.01H218.57c-45.22 0-82.01-36.79-82.01-82.01V147.4c0-45.22 
36.79-82.01 82.01-82.01H802.6m0-64H218.57c-80.64 0-146.01 65.37-146.01 
146.01v730.04c0 80.64 65.37 146.01 146.01 146.01H802.6c80.64 0 146.01-65.37 
146.01-146.01V147.4c0-80.64-65.37-146.01-146.01-146.0 [...]
\ No newline at end of file
diff --git a/static/img/home/rich-protocol.svg b/static/img/home/proxy.svg
similarity index 88%
rename from static/img/home/rich-protocol.svg
rename to static/img/home/proxy.svg
index 0c5a7f6b8c..3fafaac97a 100644
--- a/static/img/home/rich-protocol.svg
+++ b/static/img/home/proxy.svg
@@ -1 +1 @@
-<svg height="200" viewBox="0 0 1024 1024" width="200" 
xmlns="http://www.w3.org/2000/svg";><path d="m588.544 375.125333a42.666667 
42.666667 0 0 1 60.330667.085334 193.706667 193.706667 0 0 1 6.826666 
266.410666l-6.826666 7.253334-213.418667 213.333333a193.706667 193.706667 0 0 1 
-273.664-.085333 193.706667 193.706667 0 0 1 0-273.578667 42.666667 42.666667 0 
0 1 60.416 60.245333 108.373333 108.373333 0 0 0 -.085333 153.002667 108.373333 
108.373333 0 0 0 147.370666 5.290667l5.674667-5.248 21 [...]
\ No newline at end of file
+<svg height="200" viewBox="0 0 1024 1024" width="200" 
xmlns="http://www.w3.org/2000/svg";><path d="m588.544 375.125333a42.666667 
42.666667 0 0 1 60.330667.085334 193.706667 193.706667 0 0 1 6.826666 
266.410666l-6.826666 7.253334-213.418667 213.333333a193.706667 193.706667 0 0 1 
-273.664-.085333 193.706667 193.706667 0 0 1 0-273.578667 42.666667 42.666667 0 
0 1 60.416 60.245333 108.373333 108.373333 0 0 0 -.085333 153.002667 108.373333 
108.373333 0 0 0 147.370666 5.290667l5.674667-5.248 21 [...]
\ No newline at end of file
diff --git a/static/img/home/extended.svg b/static/img/home/security.svg
similarity index 87%
rename from static/img/home/extended.svg
rename to static/img/home/security.svg
index 13ca0031c9..0c04588140 100644
--- a/static/img/home/extended.svg
+++ b/static/img/home/security.svg
@@ -1 +1 @@
-<svg height="200" viewBox="0 0 1024 1024" width="200" 
xmlns="http://www.w3.org/2000/svg";><path d="m896 341.333333h-768a42.666667 
42.666667 0 0 0 -42.666667 42.666667v170.666667a42.666667 42.666667 0 0 0 
42.666667 42.666666h768a42.666667 42.666667 0 0 0 
42.666667-42.666666v-170.666667a42.666667 42.666667 0 0 0 
-42.666667-42.666667zm-42.666667 85.333334v85.333333h-682.666666v-85.333333z" 
fill="#03cd8e"/><path d="m853.333333 170.666667h-682.666666a85.333333 85.333333 
0 0 0 -85.333334 85.333 [...]
\ No newline at end of file
+<svg height="200" viewBox="0 0 1024 1024" width="200" 
xmlns="http://www.w3.org/2000/svg";><path d="m896 341.333333h-768a42.666667 
42.666667 0 0 0 -42.666667 42.666667v170.666667a42.666667 42.666667 0 0 0 
42.666667 42.666666h768a42.666667 42.666667 0 0 0 
42.666667-42.666666v-170.666667a42.666667 42.666667 0 0 0 
-42.666667-42.666667zm-42.666667 85.333334v85.333333h-682.666666v-85.333333z" 
fill="#ff5c00"/><path d="m853.333333 170.666667h-682.666666a85.333333 85.333333 
0 0 0 -85.333334 85.333 [...]
\ No newline at end of file

Reply via email to