From 6a2f69b5e0ef73adcab5c9b54c04344ee243e401 Mon Sep 17 00:00:00 2001 From: lannyfu Date: Fri, 19 Sep 2025 16:15:45 +0800 Subject: [PATCH] fix: Update Signed-off-by: lannyfu --- assets/scss/features.scss | 1 - assets/scss/index.scss | 1 + content/en/_index.md | 8 +-- content/en/features/_index.md | 78 ++++++++++++++--------------- content/zh/_index.md | 6 +-- content/zh/features/_index.md | 8 +-- layouts/index.html | 13 ----- static/images/home/arch-cn.svg | 8 +-- static/images/home/arch-en.svg | 4 +- static/images/home/kube-design.jpg | Bin 24780 -> 24668 bytes static/images/home/kube-design.svg | 6 +++ 11 files changed, 63 insertions(+), 70 deletions(-) create mode 100644 static/images/home/kube-design.svg diff --git a/assets/scss/features.scss b/assets/scss/features.scss index 5e1bb51df..2af12baa1 100644 --- a/assets/scss/features.scss +++ b/assets/scss/features.scss @@ -36,7 +36,6 @@ html { } } ul { - margin-top: 40px; display: flex; flex-wrap: wrap; gap: 20px; diff --git a/assets/scss/index.scss b/assets/scss/index.scss index cf27f270a..0eb23b618 100644 --- a/assets/scss/index.scss +++ b/assets/scss/index.scss @@ -1046,6 +1046,7 @@ margin-bottom: 16px; box-shadow: 0 4px 8px 0 rgba(36, 46, 66, 0.06), 0 8px 16px 0 rgba(36, 46, 66, 0.05); + background-color: #fff; &:hover { transform: scale(1.1); transition: transform 0.3s ease; diff --git a/content/en/_index.md b/content/en/_index.md index 306d6ab7e..0cc815024 100644 --- a/content/en/_index.md +++ b/content/en/_index.md @@ -226,9 +226,9 @@ section8: - name: DevOps icon: /images/home/devops.svg - content: Provide end-to-end workflows, integrate mainstream CI/CD tools, consolidate CI/CD tools, simplify delivery processes, and enhance iteration efficiency. + content: Provides end-to-end workflows, integrates mainstream CI/CD tools, simplifies delivery processes, and enhances iteration efficiency. - - name: Gatekeeper - icon: /images/home/gatekeeper.svg - content: OPA-based security policy management tool that strengthens Kubernetes security compliance, defines policies based on OPA, and prevents non-compliant resource configurations. + - name: Kube Design + icon: /images/home/kube-design.svg + content: A suite of components, hooks, and icons. Originally built for KubeSphere Console but it can also be used for developing any other React web apps. --- diff --git a/content/en/features/_index.md b/content/en/features/_index.md index bb6c3b7e5..701598999 100644 --- a/content/en/features/_index.md +++ b/content/en/features/_index.md @@ -1,76 +1,76 @@ --- -title: "社区版功能介绍" +title: "Capability List of Community Edition" layout: "features" css: "scss/features.scss" section1: - title: "社区版功能介绍" + title: "Capability List of Community Edition" image: /images/features/banner.jpg section2: children: - icon: /images/features/cluster-management.svg - name: 集群管理 - content: 跨云、跨基础设施的多个 Kubernetes 集群的集中式可视化管理与运维 + name: Cluster Management + content: Centralized visualization management and operation for multiple Kubernetes clusters across clouds and infrastructures - icon: /images/features/multi-tenant-anagement.svg - name: 多租户管理 - content: 跨集群、跨项目的资源逻辑隔离、网络隔离和细粒度的访问控制能力 + name: Multi-Tenant Management + content: Logical resource isolation, network isolation, and fine-grained access control capabilities across clusters and projects - icon: /images/features/app-management.svg - name: 应用管理 - content: 统一的应用生命周期管理能力,对 Helm、Oporator 等类型应用提供统一的抽象层 + name: Application Management + content: Unified app lifecycle management capabilities, providing a unified abstraction layer for applications such as Helm and Operator - icon: /images/features/k8s-resource-management.svg - name: K8S资源管理 - content: 提供 Web 控制台对接 Kubernetes 原生 API 快速创建与管理 Kubernetes 资源 - - icon: /images/features/extension-management.svg - name: 扩展组件管理 - content: 采用微内核+扩展组件的架构,按需定制、扩展平台能力 + name: K8s Resource Management + content: Intuitive web console integrated with native Kubernetes API for effortless resource creation and management + - icon: /images/features/Extension-management.svg + name: Extensions Management + content: A microkernel + extensions architecture to customize and extend platform capabilities as needed - icon: /images/features/wiz-telemetry.svg - name: WizTelemetry 可观测 - content: 对应用与基础设施性能及健康状态的全面洞察 - label: extension + name: WizTelemetry Observability + content: Comprehensive insights into performance and health status of applications and infrastructures + label: Extension - icon: /images/features/devops.svg name: DevOps - content: 提供端到端的工作流,集成主流 CI/CD 工具 - label: extension + content: End-to-end workflows integrating mainstream CI/CD tools + label: Extension - icon: /images/features/gateway.svg - name: KubeSphere 网关 - content: 基于流量的统一入口管理、七层负载均衡与多种路由策略 - label: extension + name: KubeSphere Gateway + content: Unified ingress management based on traffic, layer 7 load balancing, and various routing strategies + label: Extension - icon: /images/features/gatekeeper.svg name: GateKeeper - content: 可灵活配置安全策略的准入控制器 + content: Admission controller with flexible security policy configuration - icon: /images/features/metrics-server.svg name: Metrics Server - content: 可扩展、高效的容器资源度量源,为 Kubernetes 内置的自动扩展管道提供服务 - label: extension + content: Scalable and efficient container resource metrics source, serving Kubernetes' built-in auto-scaling pipeline + label: Extension - icon: /images/features/nvidia.svg name: NVIDIA GPU Operator - content: 在 Kubernetes 上创建、配置和管理 GPU - label: extension + content: Create, configure, and manage GPUs on Kubernetes + label: Extension - icon: /images/features/deepseek.svg name: Deepseek - content: 基于 ollama 运行 deepseek-r1 模型,对外提供 API 服务 - label: extension + content: Run the DeepSeek-R1 model based on Ollama, providing API services externally + label: Extension - icon: /images/features/grafana.svg name: Grafana - content: 开放且可组合的观测和数据可视化平台 - label: extension + content: Open and composable observability and data visualization platform + label: Extension - icon: /images/features/loki.svg name: Loki - content: 可扩展、高可用、多租户日志聚合系统 - label: extension + content: Scalable, highly available, multi-tenant log aggregation system + label: Extension - icon: /images/features/higress.svg name: Higress - content: 基于 Istio 和 Envoy 的API 网关 - label: extension + content: API Gateway based on Istio and Envoy​ + label: Extension - icon: /images/features/ob-operator.svg name: OB-Operator - content: 管理 Kubernetes 集群中的 OceanBase 相关资源 - label: extension + content: Manage OceanBase-related resources in Kubernetes clusters + label: Extension - icon: /images/features/ob-operator.svg - name: Oceanbas Dashboard - content: OceanBase 交互式管理应用 - label: extension + name: OceanBase Dashboard + content: OceanBase interactive management application + label: Extension --- diff --git a/content/zh/_index.md b/content/zh/_index.md index c88f66e39..cf6b2a8ad 100644 --- a/content/zh/_index.md +++ b/content/zh/_index.md @@ -225,7 +225,7 @@ section8: icon: /images/home/devops.svg content: 提供端到端的工作流,集成主流 CI/CD 工具,整合 CI/CD 工具,简化交付流程,提升迭代效率 - - name: Gatekeeper - icon: /images/home/gatekeeper.svg - content: 基于 OPA 的安全策略管理工具,强化 Kubernetes 安全合规,基于 OPA 定义策略,防止违规资源配置 + - name: Kube Design + icon: /images/home/kube-design.svg + content: 为 KubeSphere 控制台开发的一套包含组件、Hooks、Icon 的 React 库,覆盖场景丰富可用于开发各种 React 应用 --- diff --git a/content/zh/features/_index.md b/content/zh/features/_index.md index bb6c3b7e5..fea640f23 100644 --- a/content/zh/features/_index.md +++ b/content/zh/features/_index.md @@ -19,9 +19,9 @@ section2: content: 跨集群、跨项目的资源逻辑隔离、网络隔离和细粒度的访问控制能力 - icon: /images/features/app-management.svg name: 应用管理 - content: 统一的应用生命周期管理能力,对 Helm、Oporator 等类型应用提供统一的抽象层 + content: 统一的应用生命周期管理能力,对 Helm、Operator 等类型应用提供统一的抽象层 - icon: /images/features/k8s-resource-management.svg - name: K8S资源管理 + name: K8s资源管理 content: 提供 Web 控制台对接 Kubernetes 原生 API 快速创建与管理 Kubernetes 资源 - icon: /images/features/extension-management.svg name: 扩展组件管理 @@ -63,14 +63,14 @@ section2: label: extension - icon: /images/features/higress.svg name: Higress - content: 基于 Istio 和 Envoy 的API 网关 + content: 基于 Istio 和 Envoy 的 API 网关 label: extension - icon: /images/features/ob-operator.svg name: OB-Operator content: 管理 Kubernetes 集群中的 OceanBase 相关资源 label: extension - icon: /images/features/ob-operator.svg - name: Oceanbas Dashboard + name: OceanBase Dashboard content: OceanBase 交互式管理应用 label: extension --- diff --git a/layouts/index.html b/layouts/index.html index 156cf1435..2565a98c5 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -427,18 +427,6 @@ }; - function preloadImages() { - const imageUrls = [ - '/images/home/4.png', - '/images/home/8.png' - ]; - - imageUrls.forEach(url => { - const img = new Image(); - img.src = url; - }); - } - $(document).ready(function () { if ($('.tab-div li.active').length === 0) { $('.tab-div li:first').addClass('active'); @@ -448,7 +436,6 @@ $('.content-section:first').addClass('active').show(); } - preloadImages(); tabCarousel(); }); diff --git a/static/images/home/arch-cn.svg b/static/images/home/arch-cn.svg index 77be85526..a3d045cf7 100644 --- a/static/images/home/arch-cn.svg +++ b/static/images/home/arch-cn.svg @@ -7,7 +7,7 @@ - + @@ -81,7 +81,7 @@ - + @@ -96,7 +96,7 @@ - + @@ -112,7 +112,7 @@ - + diff --git a/static/images/home/arch-en.svg b/static/images/home/arch-en.svg index 0abc97e20..be0ca0e00 100644 --- a/static/images/home/arch-en.svg +++ b/static/images/home/arch-en.svg @@ -81,8 +81,8 @@ - - + + diff --git a/static/images/home/kube-design.jpg b/static/images/home/kube-design.jpg index fb501cdc4e23882bc29743d16803b92adb2f34b1..cb5c99118b3521b3a975de8fd49f5ae68a201b28 100644 GIT binary patch delta 9954 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%0Au9UqgOUtW;VG81RxWW^<7*6NC0YSBq~5Iqfxy7 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 diff --git a/static/images/home/kube-design.svg b/static/images/home/kube-design.svg new file mode 100644 index 000000000..488187bb6 --- /dev/null +++ b/static/images/home/kube-design.svg @@ -0,0 +1,6 @@ + + + + + +