Simplify open source hero copy

This commit is contained in:
shenlan 2025-11-10 07:53:00 +08:00
parent 3c543026fa
commit 3739dcb19f
3 changed files with 85 additions and 90 deletions

View File

@ -78,7 +78,8 @@ const HERO_COPY: Record<
title: string
description: string
focusAreas: string[]
products: { label: string; headline: string; description: string }[]
ctaLabel: string
products: { label: string; headline: string; description: string; href: string }[]
}
> = {
zh: {
@ -87,26 +88,25 @@ const HERO_COPY: Record<
description:
'通过统一治理、自动化与可观测能力,连接团队、工具与环境,让企业以更简洁的方式管理复杂的多云栈。',
focusAreas: ['跨云统一治理', '安全与合规自动化', '可观测与智能协同'],
ctaLabel: '了解产品详情',
products: [
{
label: 'XCloudFlow',
headline: '多云自动化与 GitOps 编排',
description: '以声明式 IaC 推动跨云交付,内置审批、审计与合规校验,帮助团队稳健演进。',
description: '声明式 IaC 引擎连接 Terraform、Pulumi 与 GitOps 流水线,帮助平台团队统一变更治理。',
href: 'https://www.svc.plus/xcloudflow',
},
{
label: 'XScoveHub',
label: 'XScopeHub',
headline: '可观测与智能协同',
description: '统一指标、日志、链路与事件流AI 助理协同诊断、响应与知识沉淀。',
description: '统一指标、日志与链路拓扑,并结合 AI 协作完成事件诊断、知识沉淀与跨团队协同。',
href: 'https://www.svc.plus/xscopehub',
},
{
label: 'XStream',
headline: '安全与合规自动化',
description: '策略即代码守护交付流水线,持续评估风险并生成可追溯的合规证据。',
},
{
label: 'XBoard',
headline: '平台体验与工作流',
description: '统一门户连接角色、权限、成本与协作,让平台团队交付一致体验。',
description: '策略即代码守护交付流水线,为全球团队提供网络加速、合规审计与安全基线。',
href: 'https://www.svc.plus/xstream',
},
],
},
@ -116,26 +116,25 @@ const HERO_COPY: Record<
description:
'Bring governance, automation, and observability together so every team can manage multi-cloud complexity with clarity.',
focusAreas: ['Unified multi-cloud governance', 'Automated security & compliance', 'Observability with intelligent workflows'],
ctaLabel: 'Explore product site',
products: [
{
label: 'XCloudFlow',
headline: 'Multi-cloud automation & GitOps orchestration',
description: 'Power declarative delivery with built-in approvals, audit history, and policy checks across environments.',
description: 'A declarative IaC engine that connects Terraform, Pulumi, and GitOps pipelines so platform teams govern change consistently.',
href: 'https://www.svc.plus/xcloudflow',
},
{
label: 'XScoveHub',
label: 'XScopeHub',
headline: 'Observability & intelligent collaboration',
description: 'Connect metrics, logs, traces, and events while AI copilots assist incident diagnosis and resolution.',
description: 'Unify metrics, logs, and traces with AI-guided incident response, knowledge sharing, and cross-team coordination.',
href: 'https://www.svc.plus/xscopehub',
},
{
label: 'XStream',
headline: 'Security & compliance automation',
description: 'Embed policy-as-code guardrails into every release to surface risk early and simplify evidence collection.',
},
{
label: 'XBoard',
headline: 'Platform experience & workflows',
description: 'Unify roles, permissions, costs, and collaboration inside a single workspace for platform teams.',
description: 'Policy-as-code guardrails with global acceleration that keep distributed releases fast, auditable, and compliant.',
href: 'https://www.svc.plus/xstream',
},
],
},
@ -357,14 +356,22 @@ export default function HomePage({ data }: PageProps<HomePageData>) {
</div>
<div class="grid gap-4">
{hero.products.map((product) => (
<article
<div
key={product.label}
class="flex flex-col gap-2 rounded-2xl border border-slate-200 bg-white p-6 shadow-sm transition duration-200 hover:border-sky-200 hover:shadow-md"
class="flex flex-col gap-3 rounded-2xl border border-slate-200 bg-white p-6 shadow-sm"
>
<span class="text-xs font-semibold uppercase tracking-[0.32em] text-slate-400">{product.label}</span>
<h2 class="text-lg font-semibold text-slate-900">{product.headline}</h2>
<p class="text-sm leading-relaxed text-slate-600">{product.description}</p>
</article>
<a
href={product.href}
target="_blank"
rel="noreferrer"
class="text-sm font-semibold text-sky-600 transition hover:text-sky-700"
>
{hero.ctaLabel}
</a>
</div>
))}
</div>
</div>

View File

@ -5,54 +5,35 @@ import { useLanguage } from '../i18n/LanguageProvider'
import { translations } from '../i18n/translations'
import { designTokens, type PageVariant } from '@theme/designTokens'
const introCopy = {
en: 'Explore our open-source suites with focused documentation sites. Each project extends Cloud-Neutral capabilities while staying easy to self-host.',
zh: '了解 Cloud-Neutral 的开源项目,我们提供专题站点介绍核心能力,便于自建与二次开发。',
}
const projects = [
{
name: 'XCloudFlow',
desc: {
en: 'Multi-cloud IaC engine built with Pulumi SDK and Go.',
zh: '基于 Pulumi SDK 和 Go 构建的多云 IaC 引擎。',
en: 'Multi-cloud IaC & GitOps automation with Terraform, Pulumi, and policy guardrails.',
zh: '连接 Terraform、Pulumi 与 GitOps 的多云 IaC 自动化引擎,内建策略守护。',
},
link: 'https://github.com/svc-design/XCloudFlow',
},
{
name: 'KubeGuard',
desc: {
en: 'Kubernetes cluster application and node-level backup system.',
zh: 'Kubernetes 集群应用与节点级备份系统。',
},
link: 'https://github.com/svc-design/KubeGuard',
},
{
name: 'XConfig',
desc: {
en: 'Lightweight task execution & configuration orchestration engine.',
zh: '轻量级任务执行与配置编排引擎。',
},
link: 'https://github.com/svc-design/XConfig',
link: 'https://www.svc.plus/xcloudflow',
},
{
name: 'XScopeHub',
desc: {
en: 'Observability suite: Vector/OTel → OpenObserve → nearline ETL → Postgres/Timescale + pgvector & Apache AGE for 10-min active call graph; includes DeepFlow, node_exporter, process-exporter, Vector agents.',
zh: '观测套件Vector/OTel → OpenObserve → 近线 ETL → Postgres/Timescale + pgvector 与 Apache AGE 实现 10 分钟活跃调用图;集成 DeepFlow、node_exporter、process-exporter、Vector 代理。',
en: 'Observability and AI-assisted collaboration that unifies metrics, logs, and traces.',
zh: '统一指标、日志与链路的可观测平台,并以 AI 协作支撑事件分析与知识沉淀。',
},
link: 'https://github.com/svc-design/XScopeHub',
},
{
name: 'Navi',
desc: {
en: 'Guiding your tasks, helping you get things done faster.',
zh: '引导你的任务,帮助你更快完成工作。',
},
link: 'https://github.com/svc-design/Navi',
link: 'https://www.svc.plus/xscopehub',
},
{
name: 'XStream',
desc: {
en: 'Cross-border developer proxy accelerator for global accessibility.',
zh: '跨境开发者代理加速器,全球访问更高效。',
en: 'Policy-as-code security automation with global delivery acceleration.',
zh: '策略即代码的安全自动化引擎,为全球团队提供网络加速与合规能力。',
},
link: 'https://github.com/svc-design/Xstream',
link: 'https://www.svc.plus/xstream',
},
]
@ -75,27 +56,28 @@ export default function OpenSource({ variant = 'homepage' }: OpenSourceProps) {
>
<div className={clsx(designTokens.layout.container, 'flex flex-col gap-12')}>
<h2 className="text-3xl font-bold text-center text-slate-900 sm:text-4xl">{t.openSourceTitle}</h2>
<div className="grid gap-6 md:grid-cols-2 lg:grid-cols-3">
<div className="mx-auto max-w-2xl text-center text-sm text-slate-600 sm:text-base">
<p>{introCopy[language]}</p>
</div>
<div className="grid gap-4 md:grid-cols-2 lg:grid-cols-3">
{projects.map((p) => (
<div
<a
key={p.name}
href={p.link}
target="_blank"
rel="noopener noreferrer"
className={clsx(
designTokens.cards.base,
designTokens.transitions[variant],
'flex flex-col gap-4 p-6'
'flex flex-col gap-3 p-6 text-left'
)}
>
<h3 className="text-xl font-semibold text-slate-900">{p.name}</h3>
<p className="text-sm text-slate-600 sm:text-base">{p.desc[language]}</p>
<a
href={p.link}
target="_blank"
rel="noopener noreferrer"
className="text-sm font-medium text-brand transition hover:text-brand-dark"
>
GitHub
</a>
</div>
<span className="text-xs font-semibold uppercase tracking-[0.32em] text-slate-400">{p.name}</span>
<span className="text-base font-semibold text-slate-900 sm:text-lg">{p.desc[language]}</span>
<span className="text-sm font-medium text-brand transition hover:text-brand-dark">
{language === 'zh' ? '访问专题站点' : 'Visit product site'}
</span>
</a>
))}
</div>
</div>

View File

@ -17,26 +17,25 @@ const heroContent = {
description:
'通过统一治理、自动化与可观测能力,连接团队、工具与环境,让企业以更简洁的方式管理复杂的多云栈。',
focusAreas: ['跨云统一治理', '安全与合规自动化', '可观测与智能协同'],
ctaLabel: '了解产品详情',
products: [
{
label: 'XCloudFlow',
headline: '多云自动化与 GitOps 编排',
description: '以声明式 IaC 驱动跨云交付流程,内建审批、审计与合规校验,保障变更可控。',
description: '声明式 IaC 引擎连接 Terraform、Pulumi 与 GitOps 流水线,帮助平台团队统一变更治理。',
href: 'https://www.svc.plus/xcloudflow',
},
{
label: 'XScoveHub',
label: 'XScopeHub',
headline: '可观测与智能协同',
description: '统一指标、日志、链路与事件流AI 助理联动诊断与响应,缩短故障恢复时间。',
description: '统一指标、日志与链路拓扑,并结合 AI 协作完成事件诊断、知识沉淀与跨团队协同。',
href: 'https://www.svc.plus/xscopehub',
},
{
label: 'XStream',
headline: '安全与合规自动化',
description: '策略即代码将安全基线嵌入流水线,持续评估风险并生成可追溯的合规报告。',
},
{
label: 'XBoard',
headline: '平台体验与工作流',
description: '统一门户连接角色、权限、成本与协作,帮助平台团队构建一致的交付体验。',
description: '策略即代码守护交付流水线,为全球团队提供网络加速、合规审计与安全基线。',
href: 'https://www.svc.plus/xstream',
},
],
},
@ -46,26 +45,25 @@ const heroContent = {
description:
'Unify governance, automation, and observability so teams can manage complex multi-cloud estates with clarity.',
focusAreas: ['Unified multi-cloud governance', 'Automated security & compliance', 'Observability with intelligent workflows'],
ctaLabel: 'Explore product site',
products: [
{
label: 'XCloudFlow',
headline: 'Multi-cloud automation & GitOps orchestration',
description: 'Drive declarative IaC workflows with approvals, audit trails, and guardrails built in from day one.',
description: 'A declarative IaC engine that connects Terraform, Pulumi, and GitOps pipelines so platform teams govern change consistently.',
href: 'https://www.svc.plus/xcloudflow',
},
{
label: 'XScoveHub',
label: 'XScopeHub',
headline: 'Observability & intelligent collaboration',
description: 'Correlate metrics, logs, traces, and events while AI copilots coordinate diagnosis and remediation.',
description: 'Unify metrics, logs, and traces with AI-guided incident response, knowledge sharing, and cross-team coordination.',
href: 'https://www.svc.plus/xscopehub',
},
{
label: 'XStream',
headline: 'Security & compliance automation',
description: 'Embed policy-as-code controls into every release to surface risks early and keep evidence auditable.',
},
{
label: 'XBoard',
headline: 'Platform experience & workflows',
description: 'Connect roles, permissions, costs, and collaboration in a unified workspace for platform teams.',
description: 'Policy-as-code guardrails with global acceleration that keep distributed releases fast, auditable, and compliant.',
href: 'https://www.svc.plus/xstream',
},
],
},
@ -103,14 +101,22 @@ export default function Homepage() {
</div>
<div className="grid gap-4">
{content.products.map((product) => (
<article
<div
key={product.label}
className="flex flex-col gap-2 rounded-2xl border border-slate-200 bg-white p-6 shadow-sm transition duration-200 hover:border-sky-200 hover:shadow-md"
className="flex flex-col gap-3 rounded-2xl border border-slate-200 bg-white p-6 shadow-sm"
>
<span className="text-xs font-semibold uppercase tracking-[0.32em] text-slate-400">{product.label}</span>
<h3 className="text-lg font-semibold text-slate-900">{product.headline}</h3>
<p className="text-sm leading-relaxed text-slate-600">{product.description}</p>
</article>
<a
href={product.href}
target="_blank"
rel="noreferrer"
className="text-sm font-semibold text-brand transition hover:text-brand-dark"
>
{content.ctaLabel}
</a>
</div>
))}
</div>
</div>