diff --git a/i18n/zh/code.json b/i18n/zh/code.json index bf5888d62ad..be851b53f81 100644 --- a/i18n/zh/code.json +++ b/i18n/zh/code.json @@ -218,6 +218,9 @@ "Natively supports multi-cluster/hybrid-cloud scenarios such as progressive rollout across test/staging/production environments, automatic canary, blue-green and continuous verification, rich placement strategy across clusters and clouds, along with automated cloud environments provision.": { "message": "原生支持丰富的多集群/混合环境持续交付策略,包括金丝雀、蓝绿、多环境差异化配置等,同样也支持跨环境交付。这些交付策略为你的分布式交付流程提供了充足的效率和安全保证。KubeVela 提供的中心化管控能力也减轻了到每一个集群(云)去排查问题的负担,针对不同的平台提供统一的体验,让你享受自动化交付的便利。" }, + "Integrated with all your tools": { + "message": "与云原生工具有效集成" + }, "KubeVela is a": { "message": "KubeVela 是一个" }, diff --git a/sidebars.js b/sidebars.js index dac0eb00fba..6f70dc8d02f 100644 --- a/sidebars.js +++ b/sidebars.js @@ -6,33 +6,36 @@ module.exports = { type: 'category', label: 'Getting Started', collapsed: false, - items: [{ - type: "doc", - id: 'getting-started/introduction' - }, { - type: "category", - collapsed: true, - label: "Installation", - link: { - type: "doc", - id: 'install' + items: [ + { + type: 'doc', + id: 'getting-started/introduction', }, - items: [ - { - type: "doc", - label: "Standalone", - id: 'installation/standalone' + { + type: 'category', + collapsed: true, + label: 'Installation', + link: { + type: 'doc', + id: 'install', }, - { - type: "doc", - label: "Kubernetes", - id: 'installation/kubernetes' - } - ] - }, { - type: "doc", - id: 'quick-start' - } + items: [ + { + type: 'doc', + label: 'Standalone', + id: 'installation/standalone', + }, + { + type: 'doc', + label: 'Kubernetes', + id: 'installation/kubernetes', + }, + ], + }, + { + type: 'doc', + id: 'quick-start', + }, ], }, { @@ -78,7 +81,7 @@ module.exports = { label: 'Terraform', collapsed: true, link: { - type: "doc", + type: 'doc', id: 'end-user/components/cloud-services/cloud-resource-scenarios', }, items: [ @@ -111,9 +114,24 @@ module.exports = { type: 'category', label: 'Multi Environment Delivery', collapsed: true, + items: ['case-studies/initialize-env', 'tutorials/multi-env'], + }, + { + type: 'category', + label: 'Application Workflow', + collapsed: true, + link: { + type: 'doc', + id: 'end-user/workflow/overview', + }, items: [ - 'case-studies/initialize-env', - 'tutorials/multi-env' + 'end-user/workflow/operations', + 'end-user/workflow/suspend', + 'end-user/workflow/step-group', + 'end-user/workflow/dependency', + 'end-user/workflow/inputs-outputs', + 'end-user/workflow/if-condition', + 'end-user/workflow/timeout', ], }, { @@ -121,33 +139,25 @@ module.exports = { label: 'GitOps', collapsed: true, link: { - type: "doc", + type: 'doc', id: 'case-studies/gitops', }, items: ['end-user/gitops/fluxcd'], }, - { - 'CD Policies': [ - 'end-user/policies/shared-resource', - 'end-user/policies/apply-once', - 'end-user/policies/gc', - ], - }, { type: 'category', label: 'CI Integration', collapsed: true, link: { - type: "doc", + type: 'doc', id: 'how-to/dashboard/trigger/overview', }, - items: [ - 'tutorials/jenkins', - 'tutorials/trigger', - ], + items: ['tutorials/jenkins', 'tutorials/trigger'], }, { 'Day-2 Operations': [ + 'end-user/workflow/component-dependency-parameter', + 'end-user/version-control', 'tutorials/dry-run', 'tutorials/access-application', 'tutorials/debug-app', @@ -155,24 +165,11 @@ module.exports = { 'tutorials/vela-top', ], }, - 'end-user/version-control', - 'end-user/workflow/component-dependency-parameter', { - type: 'category', - label: 'Application Workflow', - collapsed: true, - link: { - type: "doc", - id: 'end-user/workflow/overview', - }, - items: [ - 'end-user/workflow/operations', - 'end-user/workflow/suspend', - 'end-user/workflow/step-group', - 'end-user/workflow/dependency', - 'end-user/workflow/inputs-outputs', - 'end-user/workflow/if-condition', - 'end-user/workflow/timeout', + 'Application Policies': [ + 'end-user/policies/shared-resource', + 'end-user/policies/apply-once', + 'end-user/policies/gc', ], }, { @@ -180,8 +177,8 @@ module.exports = { label: 'Automated Observability', collapsed: true, link: { - type: "doc", - id: 'platform-engineers/operations/observability' + type: 'doc', + id: 'platform-engineers/operations/observability', }, items: [ 'platform-engineers/operations/o11y/metrics', @@ -212,13 +209,10 @@ module.exports = { label: 'User Management', collapsed: true, link: { - type: "doc", + type: 'doc', id: 'how-to/dashboard/user/user', }, - items: [ - 'tutorials/sso', - 'how-to/dashboard/config/dex-connectors', - ], + items: ['tutorials/sso', 'how-to/dashboard/config/dex-connectors'], }, { 'Registry Integration': [ @@ -257,7 +251,7 @@ module.exports = { label: 'Developer Guide', collapsed: true, link: { - type: "doc", + type: 'doc', id: 'contributor/overview', }, items: [ @@ -266,7 +260,7 @@ module.exports = { label: 'Addons', collapsed: true, link: { - type: "doc", + type: 'doc', id: 'platform-engineers/addon/intro', }, items: [ @@ -338,8 +332,8 @@ module.exports = { type: 'category', label: 'Community Verified Addons', link: { - type: "doc", - id: 'reference/addons/overview' + type: 'doc', + id: 'reference/addons/overview', }, items: [ 'reference/addons/velaux', diff --git a/src/components/FeatureList.js b/src/components/FeatureList.js index a72f722d034..df5d983352f 100644 --- a/src/components/FeatureList.js +++ b/src/components/FeatureList.js @@ -1,34 +1,44 @@ import React from 'react'; import HomePageFeatures from '../data/features'; +import Translate, { translate } from '@docusaurus/Translate'; const FeatureBlock = () => { - return ( -
-
-
-
- { - HomePageFeatures.map(({imgUrl, title, description, reverse}, index) => ( -
-
-
- {imgUrl && {title}} -
-
-
-
-

{title}

-
{description}
-
-
-
- )) - } + return ( +
+
+
+

+ Highlights +

+
+ {HomePageFeatures.map( + ({ imgUrl, title, description, reverse }, index) => ( +
+
+
+ {imgUrl && ( + {title} + )}
-
-
-
- ) -} +
+
+
+

{title}

+
{description}
+
+
+
+ ) + )} +
+ + + + ); +}; -export default FeatureBlock \ No newline at end of file +export default FeatureBlock; diff --git a/src/components/Integration.js b/src/components/Integration.js new file mode 100644 index 00000000000..bdff1b7b287 --- /dev/null +++ b/src/components/Integration.js @@ -0,0 +1,119 @@ +import React from 'react'; + +const Integration = () => { + const integrations = [ + { + title: 'Continuous Delivery', + logs: [ + { + title: 'Kubernetes', + logo: '/img/logs/k8s.svg', + }, + { + title: 'Helm', + logo: '/img/logs/helm.png', + }, + { + title: 'FluxCD', + logo: '/img/logs/fluxcd.svg', + }, + { + title: 'ArgoCD', + logo: '/img/logs/argo.svg', + }, + { + title: 'Git', + logo: '/img/logs/git.svg', + }, + { + title: 'Harbor', + logo: '/img/logs/harbor.png', + }, + { + title: 'Jfrog', + logo: '/img/logs/jfrog.png', + }, + { + title: 'Dex', + logo: '/img/logs/dex.svg', + }, + ], + }, + { + title: 'Observability & Infrastructure', + logs: [ + { + title: 'Prometheus', + logo: '/img/logs/prometheus-icon.svg', + }, + { + title: 'Loki', + logo: '/img/logs/loki.svg', + }, + { + title: 'Grafana', + logo: '/img/logs/grafana.png', + }, + { + title: 'Vector', + logo: '/img/logs/vector.svg', + }, + { + title: 'Terraform', + logo: '/img/logs/terraform.png', + }, + { + title: 'Crossplane', + logo: '/img/logs/crossplane.svg', + }, + { + title: 'Istio', + logo: '/img/logs/istio.svg', + }, + { + title: 'ClickHouse', + logo: '/img/logs/clickhouse.svg', + }, + ], + }, + ]; + + return ( +
+
+
+

Integrated with all your tools

+
+ +
+ {integrations.map((group) => { + return ( +
+ {group.logs.map((item) => { + return ( +
+
+ {item.title} +
+
+ ); + })} +
+ ); + })} +
+
+
+ ); +}; + +export default Integration; diff --git a/src/css/custom.scss b/src/css/custom.scss index ba82aebd2c1..6e12e0f0a0b 100644 --- a/src/css/custom.scss +++ b/src/css/custom.scss @@ -325,4 +325,45 @@ article { iframe { max-width: 100%; +} + +.section { + .title { + width: 100%; + text-align: center; + margin: 32px 16px; + font-size: 2rem; + line-height: 1.2; + font-weight: 600; + } +} + +.rotating-tools-wrapper { + width: 90%; + + .span3 { + width: calc(3 / 24 * 100%); + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 24px; + } + @media screen and (max-width: 768px) { + .span3 { + width: calc(1 / 4 * 100%); + } + } + .tool-circle-item { + display: flex; + width: 5rem; + height: 5rem; + justify-content: center; + -webkit-box-align: center; + align-items: center; + border-radius: 1000px; + box-shadow: 2px 2px 0 3px #e7f2fe; + img { + width: 65%; + } + } } \ No newline at end of file diff --git a/src/pages/index.js b/src/pages/index.js index 94aa035b814..88f21efcae1 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -5,9 +5,10 @@ import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; import ThemedImage from '@theme/ThemedImage'; import useBaseUrl from '@docusaurus/useBaseUrl'; import GitHubButton from 'react-github-btn'; -import FeatureList from '../components/FeatureList' -import Button from '../components/button' -import WhatIs from "../components/WhatIs"; +import FeatureList from '../components/FeatureList'; +import Button from '../components/button'; +import WhatIs from '../components/WhatIs'; +import Integration from '../components/Integration'; export default function Home() { const context = useDocusaurusContext(); @@ -33,16 +34,20 @@ export default function Home() { data-icon="octicon-star" data-size="large" data-show-count="true" - aria-label="Star facebook/metro on GitHub"> + aria-label="Star facebook/metro on GitHub" + > Star

Make shipping applications more enjoyable.

-
- - +
+ +
@@ -51,10 +56,16 @@ export default function Home() { + +

- KubeVela is a CNCF (Cloud Native Computing Foundation) project. + KubeVela is a{' '} + + CNCF (Cloud Native Computing Foundation) + {' '} + project.

diff --git a/static/img/logs/argo.svg b/static/img/logs/argo.svg new file mode 100644 index 00000000000..fb7bc6fe847 --- /dev/null +++ b/static/img/logs/argo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/logs/clickhouse.svg b/static/img/logs/clickhouse.svg new file mode 100644 index 00000000000..f2144b5d7ee --- /dev/null +++ b/static/img/logs/clickhouse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/logs/crossplane.svg b/static/img/logs/crossplane.svg new file mode 100644 index 00000000000..f1aaa1a76a1 --- /dev/null +++ b/static/img/logs/crossplane.svg @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/logs/dex.svg b/static/img/logs/dex.svg new file mode 100644 index 00000000000..86dc1c27726 --- /dev/null +++ b/static/img/logs/dex.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/static/img/logs/fluxcd.svg b/static/img/logs/fluxcd.svg new file mode 100644 index 00000000000..d80e048ee36 --- /dev/null +++ b/static/img/logs/fluxcd.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + diff --git a/static/img/logs/git.svg b/static/img/logs/git.svg new file mode 100644 index 00000000000..0a3c4acd1c8 --- /dev/null +++ b/static/img/logs/git.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/static/img/logs/grafana.png b/static/img/logs/grafana.png new file mode 100644 index 00000000000..9b4224255c1 Binary files /dev/null and b/static/img/logs/grafana.png differ diff --git a/static/img/logs/harbor.png b/static/img/logs/harbor.png new file mode 100644 index 00000000000..7a9eb3a723e Binary files /dev/null and b/static/img/logs/harbor.png differ diff --git a/static/img/logs/helm.png b/static/img/logs/helm.png new file mode 100644 index 00000000000..e94228d8f4c Binary files /dev/null and b/static/img/logs/helm.png differ diff --git a/static/img/logs/istio.svg b/static/img/logs/istio.svg new file mode 100644 index 00000000000..c53fdc7c4a2 --- /dev/null +++ b/static/img/logs/istio.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/logs/jfrog.png b/static/img/logs/jfrog.png new file mode 100644 index 00000000000..19333683047 Binary files /dev/null and b/static/img/logs/jfrog.png differ diff --git a/static/img/logs/k8s.svg b/static/img/logs/k8s.svg new file mode 100644 index 00000000000..9a61c190a09 --- /dev/null +++ b/static/img/logs/k8s.svg @@ -0,0 +1,91 @@ + + + + + Kubernetes logo with no border + + + + + + image/svg+xml + + Kubernetes logo with no border + "kubectl" is pronounced "kyoob kuttel" + + + + + + + + + + diff --git a/static/img/logs/loki.svg b/static/img/logs/loki.svg new file mode 100644 index 00000000000..8f75af8e9f4 --- /dev/null +++ b/static/img/logs/loki.svg @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/logs/prometheus-icon.svg b/static/img/logs/prometheus-icon.svg new file mode 100644 index 00000000000..b78f0b4da62 --- /dev/null +++ b/static/img/logs/prometheus-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/img/logs/terraform.png b/static/img/logs/terraform.png new file mode 100644 index 00000000000..01d16ca233c Binary files /dev/null and b/static/img/logs/terraform.png differ diff --git a/static/img/logs/vector.svg b/static/img/logs/vector.svg new file mode 100644 index 00000000000..969bc203b56 --- /dev/null +++ b/static/img/logs/vector.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/versioned_sidebars/version-v1.6-sidebars.json b/versioned_sidebars/version-v1.6-sidebars.json index d12aae07b01..3aa15fbc0c6 100644 --- a/versioned_sidebars/version-v1.6-sidebars.json +++ b/versioned_sidebars/version-v1.6-sidebars.json @@ -125,21 +125,32 @@ }, { "type": "category", - "label": "GitOps", + "label": "Application Workflow", "collapsed": true, "link": { "type": "doc", - "id": "case-studies/gitops" + "id": "end-user/workflow/overview" }, "items": [ - "end-user/gitops/fluxcd" + "end-user/workflow/operations", + "end-user/workflow/suspend", + "end-user/workflow/step-group", + "end-user/workflow/dependency", + "end-user/workflow/inputs-outputs", + "end-user/workflow/if-condition", + "end-user/workflow/timeout" ] }, { - "CD Policies": [ - "end-user/policies/shared-resource", - "end-user/policies/apply-once", - "end-user/policies/gc" + "type": "category", + "label": "GitOps", + "collapsed": true, + "link": { + "type": "doc", + "id": "case-studies/gitops" + }, + "items": [ + "end-user/gitops/fluxcd" ] }, { @@ -157,6 +168,8 @@ }, { "Day-2 Operations": [ + "end-user/workflow/component-dependency-parameter", + "end-user/version-control", "tutorials/dry-run", "tutorials/access-application", "tutorials/debug-app", @@ -164,24 +177,11 @@ "tutorials/vela-top" ] }, - "end-user/version-control", - "end-user/workflow/component-dependency-parameter", { - "type": "category", - "label": "Application Workflow", - "collapsed": true, - "link": { - "type": "doc", - "id": "end-user/workflow/overview" - }, - "items": [ - "end-user/workflow/operations", - "end-user/workflow/suspend", - "end-user/workflow/step-group", - "end-user/workflow/dependency", - "end-user/workflow/inputs-outputs", - "end-user/workflow/if-condition", - "end-user/workflow/timeout" + "Application Policies": [ + "end-user/policies/shared-resource", + "end-user/policies/apply-once", + "end-user/policies/gc" ] }, { diff --git a/versions.json b/versions.json index 896312f16c2..88d19fb92df 100644 --- a/versions.json +++ b/versions.json @@ -2,4 +2,4 @@ "v1.6", "v1.5", "v1.4" -] \ No newline at end of file +]