diff --git a/assets/scss/_styles_project.scss b/assets/scss/_styles_project.scss index a6cc8461ee..edcb68f258 100644 --- a/assets/scss/_styles_project.scss +++ b/assets/scss/_styles_project.scss @@ -37,6 +37,15 @@ // -------------------------------------------------- footer { min-height: auto; + + p { + margin-bottom: 0.4rem; + line-height: 1.0rem; + } + + small { + font-size: 0.7rem; + } } // -------------------------------------------------- @@ -104,6 +113,177 @@ footer { } } +// -------------------------------------------------- +// Home page +// -------------------------------------------------- +.td-home { + + .card-img-top { + object-fit: scale-down; + } + + .text-white { + font-weight: 400; + } + + .bg-primary-dark { + background-color: $dark; + + a { + border-bottom: 0.1em dotted paleturquoise; + + color: paleturquoise !important; + font-weight: 600; + padding: 0 0.2em 0.05em 0.2em; + text-decoration: none; + + &:hover { + border-bottom: 1px dotted #fff; + + color: #fff !important; + } + } + } + + .border-primary-dark { + border-color: $info !important; + } + + .section-head { + color: $primary; + font-weight: bold; + padding: 0 0 1.9rem 0; + } + + .image { + display: block; + } + + .image img { + display: block; + width: 100%; + height: auto; + } + + .image.left, .image.right { + max-width: 45%; + } + + .image.left::after, .image.right::after { + clear: both; + content: ""; + display: block; + } + + .image.left { + float: left; + margin: 0 1.5em 1.5em 0; + } + + .image.right { + float: right; + margin: 0 0 1.5em 1.5em; + } + + #overview, .components, #cncf, #community { + padding: 4rem 0 4rem 0 !important; + } + + #overview p, #community p { + font-size: 1.125em; + } + + #overview { + border-bottom: 0.1rem solid #b6d0ff; + text-align: center; + } + + #community { + border-top: 0.1rem solid #b6d0ff; + border-bottom: 0.1rem solid #b6d0ff; + text-align: center; + } + + #cncf { + margin-top: 1.5rem; + margin-bottom: 1.5rem; + text-align: center; + + .cncf-title { + color: #6b7281; + font-weight: bold; + padding-top: 1.6rem; + } + } + + #pageContent .lead { + margin: 0 1.5em 3em 1.5em; + } + + #pageContent .lead > .image { + padding: 0 1.5em; + max-width: 60%; + margin-bottom: 1.5em; + } + + #pageContent .lead > .text p { + font-size: 1em; + } + + @media screen and (min-width: 480px) { + #overview, #community { + font-size: 1.125em; + } + #pageContent .lead > .image { + max-width: 35%; + margin-bottom: 3em; + } + #pageContent .lead > .text p { + font-size: 1em; + } + } + + @media screen and (min-width: 769px) { + #pageContent .lead { + margin-top: 1em; + display: -ms-flexbox; + display: flex; + -ms-flex-direction: row; + flex-direction: row; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -ms-flex-pack: justify; + justify-content: space-between; + -ms-flex-align: stretch; + align-items: stretch; + } + #pageContent .lead > * { + -ms-flex: 0 1 auto; + flex: 0 1 auto; + } + #pageContent .lead > .image { + display: block; + margin: 0 auto; + max-width: 100%; + } + #pageContent .lead > .image > img { + max-width: 80%; + margin: 0 auto; + } + #pageContent .lead > .text { + -ms-flex-preferred-size: 70%; + flex-basis: 70%; + } + #pageContent .lead:nth-child(2n+0) > .image { + -ms-flex-order: 2; + order: 2; + } + #pageContent .lead:nth-child(2n+0) > .text { + -ms-flex-order: 1; + order: 1; + } + } +} // -------------------------------------------------- // 404 page diff --git a/assets/scss/_variables_project.scss b/assets/scss/_variables_project.scss index f9614eb5c1..2fb9ccbc17 100644 --- a/assets/scss/_variables_project.scss +++ b/assets/scss/_variables_project.scss @@ -20,132 +20,4 @@ $navbar-dark-hover-color: rgba($white, 0.75); $navbar-dark-active-color: $navbar-dark-color; // Fonts -$google_font_family: "Open+Sans:300,300i,400,400i,600,600i,700,700i&display=swap" !default; - -// Front page styling -.card-img-top { - object-fit: scale-down; -} - -.text-white { - font-weight: 400; -} - -.bg-primary-dark { - background-color: $dark; - - a { - border-bottom: 1px dotted paleturquoise; - - color: paleturquoise !important; - font-weight: 600; - padding: 0 2px 1px 2px; - text-decoration: none; - - &:hover { - border-bottom: 1px dotted #fff; - - color: #fff !important; - } - } -} - -.border-primary-dark { - border-color: $info !important; -} - -.section-head { - font-size: 1.25em; - color: $primary; - font-weight: bold; - padding: 0 0 1em 0; -} - -.contain { - margin: 0 auto; - max-width: 1200px; } - -.image { - display: block; } - .image img { - display: block; - width: 100%; - height: auto; } - .image.left, .image.right { - max-width: 45%; } - .image.left::after, .image.right::after { - clear: both; - content: ""; - display: block; } - .image.left { - float: left; - margin: 0 1.5em 1.5em 0; } - .image.right { - float: right; - margin: 0 0 1.5em 1.5em; } - -#overview, #community { - padding: 6em 1.5em 3em 1.5em; - text-align: center; - margin: 0; } - #overview p, #community p { - font-size: 1.125em;} - -#overview { - border-bottom: 2px solid #b6d0ff; -} - -#community { - border-top: 2px solid #b6d0ff; -} - -#pageContent .lead { - margin: 0 1.5em 3em 1.5em;} - #pageContent .lead > .image { - padding: 0 1.5em; - max-width: 60%; - margin-bottom: 1.5em; } - #pageContent .lead > .text p { - font-size: 1em; } - -@media screen and (min-width: 480px) { - #overview, #community { - font-size: 1.125em; } - #pageContent .lead > .image { - max-width: 35%; - margin-bottom: 3em; } - #pageContent .lead > .text p { - font-size: 1em; } } - -@media screen and (min-width: 769px) { - #pageContent .lead { - margin-top: 1em; - display: -ms-flexbox; - display: flex; - -ms-flex-direction: row; - flex-direction: row; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -ms-flex-pack: justify; - justify-content: space-between; - -ms-flex-align: stretch; - align-items: stretch; } - #pageContent .lead > * { - -ms-flex: 0 1 auto; - flex: 0 1 auto; } - #pageContent .lead > .image { - display: block; - margin: 0 auto; - max-width: 100%; } - #pageContent .lead > .image > img { - max-width: 80%; - margin: 0 auto; } - #pageContent .lead > .text { - -ms-flex-preferred-size: 70%; - flex-basis: 70%; } - #pageContent .lead:nth-child(2n+0) > .image { - -ms-flex-order: 2; - order: 2; } - #pageContent .lead:nth-child(2n+0) > .text { - -ms-flex-order: 1; - order: 1; } } +$google_font_family: "Open+Sans:300,300i,400,400i,600,600i,700,700i&display=swap" !default; \ No newline at end of file diff --git a/config.toml b/config.toml index db25bd29df..41b6aab32e 100644 --- a/config.toml +++ b/config.toml @@ -108,6 +108,7 @@ enable = true copyright = "The Kubeflow Authors." privacy_policy = "https://policies.google.com/privacy" + trademark = "https://www.linuxfoundation.org/trademark-usage/" # Google Custom Search Engine ID. gcs_engine_id = "007239566369470735695:624rglujm-w" diff --git a/content/en/_index.html b/content/en/_index.html index 128c6f56cf..02825315d4 100644 --- a/content/en/_index.html +++ b/content/en/_index.html @@ -25,75 +25,63 @@ {{}}
-
-

What is Kubeflow?

-

- The Kubeflow project is dedicated to making deployments of machine - learning (ML) workflows on Kubernetes simple, portable and scalable. Our - goal is not to recreate other services, but to provide a straightforward - way to deploy best-of-breed open-source systems for ML to diverse - infrastructures. Anywhere you are running Kubernetes, you should be able - to run Kubeflow. +

+

What is Kubeflow?

+

+ The Kubeflow project is dedicated to making deployments of machine learning (ML) workflows on Kubernetes simple, portable and scalable. + Our goal is not to recreate other services, but to provide a straightforward way to deploy best-of-breed open-source systems for ML to diverse infrastructures. +

+ Anywhere you are running Kubernetes, you should be able to run Kubeflow.

-
+
+

Kubeflow Components

Jupyter Logo
-
Notebooks
+
Pipelines

- Kubeflow includes services to create and manage interactive Jupyter - notebooks. You can customize your notebook deployment and your compute resources to - suit your data science needs. Experiment with your workflows locally, then - deploy them to a cloud when you're ready. + Kubeflow Pipelines (KFP) is a platform for building then deploying portable and scalable machine learning workflows using Kubernetes.

TensorFlow
-
- TensorFlow model training -
+
Notebooks

- Kubeflow provides a custom TensorFlow training job operator - that you can use to train your ML model. In particular, Kubeflow's job operator can handle distributed TensorFlow training jobs. - Configure the training controller to use CPUs or GPUs and to suit various cluster sizes. + Kubeflow Notebooks lets you run web-based development environments on your Kubernetes cluster by running them inside Pods.

Model serving image
-
Model serving
+
Dashboard

- Kubeflow supports a TensorFlow Serving container to export trained - TensorFlow models to Kubernetes. Kubeflow is also integrated with - Seldon Core, an open source platform for deploying machine learning - models on Kubernetes, NVIDIA Triton Inference Server for - maximized GPU utilization when deploying ML/DL models at scale, and MLRun Serving, an open-source serverless framework for deployment and monitoring of real-time ML/DL pipelines. + Kubeflow Central Dashboard is our hub which connects the authenticated web interfaces of Kubeflow and other ecosystem components.

@@ -102,83 +90,78 @@
Model serving
Pipelines Logo
-
Pipelines
+
AutoML

- Kubeflow Pipelines is a comprehensive solution for deploying - and managing end-to-end ML workflows. Use Kubeflow Pipelines for rapid and reliable experimentation. - You can schedule and compare runs, and examine detailed reports on each run. + Katib is a Kubernetes-native project for automated machine learning (AutoML) with support for hyperparameter tuning, early stopping and neural architecture search.

-
+
Multiple Framework Logos
-
Multi-framework
+
Model Training

- Our development plans extend beyond TensorFlow. We're working - hard to extend the support of - PyTorch, - Apache MXNet, - MPI, - XGBoost, - Chainer, and more. We - also integrate with - Istio and - Ambassador for ingress, - Nuclio as a - fast multi-purpose serverless framework, and Pachyderm for managing - your data science pipelines. + Kubeflow Training Operator is a unified interface for model training on Kubernetes. + It runs scalable and distributed training jobs for popular frameworks including PyTorch, TensorFlow, MPI, MXNet, PaddlePaddle, and XGBoost.

People Icon -
-
Community
+
+
Model Serving

- We are an open and welcoming community of software developers, data scientists, and organizations! - Join our Slack Workspace! + KServe (previously KFServing) solves production model serving on Kubernetes. + It delivers high-abstraction and performant interfaces for frameworks like Tensorflow, XGBoost, ScikitLearn, PyTorch, and ONNX.


- +
-
-

Join our community

-

+

+

Join our Community

+

+ We are an open and welcoming community of software developers, data scientists, and organizations! Check out the weekly community call, get involved in discussions on the mailing list or chat with others on the Slack Workspace!

- - - Join the community -
+ +
+
+
+ Cloud Native Computing Foundation Logo +
+
We are a Cloud Native Computing Foundation project.
+
+
\ No newline at end of file diff --git a/content/en/docs/images/logos/cncf.svg b/content/en/docs/images/logos/cncf.svg new file mode 100644 index 0000000000..b622238e7f --- /dev/null +++ b/content/en/docs/images/logos/cncf.svg @@ -0,0 +1 @@ +cncf-main-site-logo.svg \ No newline at end of file diff --git a/content/en/docs/images/logos/dashboard.png b/content/en/docs/images/logos/dashboard.png new file mode 100644 index 0000000000..6ec9dbdf1b Binary files /dev/null and b/content/en/docs/images/logos/dashboard.png differ diff --git a/content/en/docs/images/logos/jupyter-vscode-rlang.png b/content/en/docs/images/logos/jupyter-vscode-rlang.png new file mode 100644 index 0000000000..542e416d59 Binary files /dev/null and b/content/en/docs/images/logos/jupyter-vscode-rlang.png differ diff --git a/content/en/docs/images/logos/katib.png b/content/en/docs/images/logos/katib.png new file mode 100644 index 0000000000..2106fba972 Binary files /dev/null and b/content/en/docs/images/logos/katib.png differ diff --git a/content/en/docs/images/logos/kserve.png b/content/en/docs/images/logos/kserve.png new file mode 100644 index 0000000000..24187d7f1b Binary files /dev/null and b/content/en/docs/images/logos/kserve.png differ diff --git a/content/en/docs/images/logos/kubeflow.png b/content/en/docs/images/logos/kubeflow.png new file mode 100644 index 0000000000..f29aa94be9 Binary files /dev/null and b/content/en/docs/images/logos/kubeflow.png differ diff --git a/content/en/docs/images/logos/tensorflow-pytorch.png b/content/en/docs/images/logos/tensorflow-pytorch.png new file mode 100644 index 0000000000..7d2b6c5d3b Binary files /dev/null and b/content/en/docs/images/logos/tensorflow-pytorch.png differ diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 56ec47207e..8398a3eec2 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -1,8 +1,8 @@ {{ $links := .Site.Params.links }} -