diff --git a/linkerd.io/assets/scss/_navbar.scss b/linkerd.io/assets/scss/_navbar.scss index d76ddcde26..f2e132eb12 100644 --- a/linkerd.io/assets/scss/_navbar.scss +++ b/linkerd.io/assets/scss/_navbar.scss @@ -1,26 +1,13 @@ .navbar-menu { position: relative; - &.is-active { - // text-align: center; - } } .navbar-item-helper { + font-size: 16px; + font-weight: 600; svg { margin-right: 5px; } - .button-spacer { - display: inline-block; - padding: 19px 21px; - height: 56px; - line-height: 16px; - border: 1px solid $white; - border-radius: 8px; - - .navbar-item:hover & { - border: 1px solid $primary-bright-blue; - } - } } .navbar.is-fixed-top { @@ -28,9 +15,9 @@ } .navbar { - transition: box-shadow 0.4s; + box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.05); img { - width: 210px; + width: 160px; max-height: none; } @@ -38,6 +25,7 @@ position: static; @include desktop { position: relative; + align-items: center; } } @@ -45,7 +33,7 @@ top: 0; width: 100%; height: 100%; - background-color: $navy-black; + background-color: white; @include desktop { top: 100%; width: auto; @@ -55,25 +43,24 @@ } .dropdown-item { - color: white; - @include desktop { - color: $navy-black; - } + background-color: transparent; + color: $deep-blue; } + .dropdown-item:hover { - background-color: $navy-black; + background-color: transparent; color: $primary-bright-blue; @include desktop { - background-color: white; color: $primary-bright-blue; } } - .dropdown button:not(.back), - .dropdown button:focus { + + .dropdown .dropdown-trigger button, + .dropdown .dropdown-trigger button:focus { outline: none; background: transparent; border: none; - font-size: 18px; + font-size: 16px; cursor: pointer; padding-right: 28px; @@ -86,39 +73,44 @@ top: 50%; right: 0; transform: translateY(-50%); - background: url("/images/icon-chevron-down.svg"); + background: url("/images/icon-chevron-down-blue.svg"); } } - button.back { + .dropdown.is-active .dropdown-trigger button:after { + transform: translateY(-50%) rotate(180deg); + } + + .dropdown-menu button.back { color: $primary-bright-blue; background-color: transparent; border: none; + font-size: 16px; + font-weight: 600; + cursor: pointer; @include desktop { display: none; } } - .dropdown.is-active button:after { - transform: translateY(-50%) rotate(180deg); - } - .dropdown-content { - background-color: $navy-black; + box-shadow: none; + background-color: white; @include desktop { - border-radius: 16px; - border: 2px solid $primary-bright-blue; - background-color: white; + box-shadow: $dropdown-shadow; } } - .navbar-menu { + + .navbar-start { box-shadow: none; .navbar-item { line-height: 1.5!important; + padding-left: 1rem; + padding-right: 1rem; + color: $deep-blue; &.is-active, &:hover { background: none; - color: $deep-blue; } &:hover { .navbar-item-helper { @@ -127,10 +119,16 @@ } &.is-active { .navbar-item-helper { - border-color: $primary-bright-blue; + color: $primary-bright-blue; } } } } } +.github-stars { + span { + display: block; + height: 28px; + } +} \ No newline at end of file diff --git a/linkerd.io/assets/scss/bulma.scss b/linkerd.io/assets/scss/bulma.scss index b49c5d40ad..f7c8339488 100644 --- a/linkerd.io/assets/scss/bulma.scss +++ b/linkerd.io/assets/scss/bulma.scss @@ -1,48 +1,42 @@ @charset "utf-8"; -@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,600|Roboto:300,400,500,600"); +@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,500,600,700"); // brand colors $sky-blue: #c8f1ff; $primary-bright-blue: #0185fd; $secondary-bright-blue: #005efd; $light-blue: #E3F2FE; -$deep-blue: #001e64; +$deep-blue: #063359; $light-grey: #f4f4f4; $medium-grey: #ececec; $dark-grey: #818181; $proxima-font: "Proxima Soft W01 Medium"; $orange: #ff9b21; -$dark-green: #6FF9AB; +$dark-green: #64F9BF; $light-green: #3BECA9; $aqua-green: #e9fdf5; -$navy-black: #001443; - // update Bulma's global vars $box-padding:0; $box-radius: 4px; $size-1: 2.8rem; -$family-primary: "Roboto", "Open Sans", sans-serif; -$family-sans-serif: "Roboto", "Open Sans", sans-serif; +$family-primary: "Open Sans", sans-serif; +$family-sans-serif: "Open Sans", sans-serif; $text: $deep-blue; $grey-light: $light-grey; $notification-radius: 0; -$weight-semibold: 600; - $box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15); +$dropdown-shadow: 0 2px 3px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.1); -$navbar-height: 6.25rem; -$navbar-padding-vertical: 0; -$navbar-padding-horizontal: 2.625rem; +$navbar-height: 3.4rem; $navbar-z: 300; // rounded block is 200 $navbar-fixed-z: 300; - -$navbar-box-shadow-size: 0 4px 4px 0; -$navbar-box-shadow-color: rgba(0,0,0,0.2); - -$navbar-background-color: $navy-black; +$navbar-burger-color: $primary-bright-blue; +$navbar-box-shadow-size: 0; +//$navbar-box-shadow-color: rgba(0,0,0,0.2); +$navbar-background-color: white; $breadcrumb-item-separator-color: $dark-grey; @@ -56,7 +50,7 @@ $menu-list-border-left: none; $menu-item-color: $dark-grey; $menu-item-hover-color: $primary-bright-blue; $menu-item-hover-background-color: inherit; -$menu-item-active-color: $navy-black; +$menu-item-active-color: $deep-blue; $menu-item-active-background-color: white; $modal-z: 100001; @@ -82,12 +76,12 @@ $tablet-enabled: false; } .has-background-navy-black { - background: $navy-black; + background: $deep-blue; } .has-text-navy-black, .has-text-color { - color: $navy-black; + color: $deep-blue; } .has-text-dark-grey { @@ -98,7 +92,6 @@ $tablet-enabled: false; color: $light-green !important; } - .has-background-aqua-green { background: $aqua-green; @@ -110,73 +103,62 @@ $tablet-enabled: false; } body { - font: 300 18px/28px "Roboto" !important; - letter-spacing: 0.3px; + font: 400 18px/28px "Open Sans" !important; } h1, .is-size-1, h1.is-size-1 { - font: 300 40px/48px "Roboto" !important; - letter-spacing: 0.25px; + font: 400 40px/48px "Open Sans" !important; } h2, .is-size-2, h2.is-size-2 { - font: bold 28px/36px "Roboto" !important; - letter-spacing: 0.25px; + font: 700 28px/36px "Open Sans" !important; } h3, .is-size-3 h3.is-size-3 { - font: 500 26px/34px "Roboto" !important; - letter-spacing: 0.25px; + font: 600 26px/34px "Open Sans" !important; } h4, .is-size-4, h4.is-size-4 { - font: 300 26px/32px "Roboto" !important; - letter-spacing: 0.5px; + font: 400 26px/32px "Open Sans" !important; } h5, .is-size-5, h5.is-size-5 { - font: normal 20px/28px "Roboto" !important; - letter-spacing: 0.1px; + font: 400 20px/28px "Open Sans" !important; } h6, .is-size-6, h6.is-size-6 { - font: 500 16px/22px "Roboto" !important; - letter-spacing: 0.1px; - + font: 500 16px/22px "Open Sans" !important; &.has-text-weight-light { - font-weight: 300 !important; + font-weight: 400 !important; } } a { - font: normal 18px/22px "Roboto" !important; + font: 400 18px/22px "Open Sans" !important; color: $primary-bright-blue; - letter-spacing: 0.1px; &:hover { color: $secondary-bright-blue; } } - .button { border: 1px solid $dark-green; border-radius: 4px; color: $dark-green; background-color: transparent; - font: 500 17px/24px "Roboto" !important; - letter-spacing: 0.9px; + font: 600 18px/22px "Open Sans" !important; &:hover, &:active, &:focus { @@ -184,28 +166,30 @@ a { color: $light-green; } &.is-primary { - color: $navy-black; + color: $deep-blue; border-color: transparent; background-color: $dark-green; border: 1px solid $dark-green; &:hover, &:focus { - color: $navy-black; + color: $deep-blue; background-color: $light-green; } &:active { - color: $navy-black; + color: $deep-blue; background-color: $light-green; box-shadow: inset 0px 4px 4px rgba(0, 0, 0, 0.1); } } + &.is-link { + background-color: $primary-bright-blue; + } &.is-large { min-height: 56px; min-width: 200px; - font-size: 16px; } } .text-nowrap { white-space: nowrap !important; -} \ No newline at end of file +} diff --git a/linkerd.io/assets/scss/styles.scss b/linkerd.io/assets/scss/styles.scss index 0f2e362b59..89e0eb028a 100644 --- a/linkerd.io/assets/scss/styles.scss +++ b/linkerd.io/assets/scss/styles.scss @@ -10,12 +10,7 @@ } } -.github-stat-buttons { - margin: 25px 0; -} - .wrapper { - &.tweets, &.features, &.mid-message, &.benefits { @@ -61,28 +56,226 @@ } } -.foundation-member { - padding: 40px 0 40px; +.homepage-top-hero { + background-image: none; + background-repeat: no-repeat; + background-size: auto 100%; + background-position: right; + .notification { + max-width: 980px; + padding-top: 60px; + padding-bottom: 60px; + } + h1 { + font-weight: 700 !important; + line-height: 1 !important; + letter-spacing: -1.5px; + background-image: -webkit-linear-gradient(0deg, $deep-blue, $primary-bright-blue); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + } + .linky { + display: none; + position: absolute; + bottom: -40px; + right: 20%; + z-index: 1; + } + @media screen and (min-width: 768px) { + background-image: url(/images/homepage-top-hero-pattern.png); + .notification { + padding-top: 80px; + padding-bottom: 80px; + } + h1 { + font-size: 60px !important; + } + .linky { + display: block; + } + } + @media screen and (min-width: 1440px) { + .notification { + padding-top: 120px; + padding-bottom: 120px; + } + h1 { + font-size: 80px !important; + } + .linky { + right: 25%; + } + } } -.homepage-top-hero .bg-texture { - position: relative; +.case-studies, +.about-linkerd, +.feature-list, +.featured-articles, +.tweets { + .title { + font-weight: 600 !important; + font-size: 48px !important; + line-height: 52px !important; + } + .card-link, + .card { + height: 100%; + } + .card { + .content { + min-height: unset;// Unset value set in theme/styles-base.scss + } + } } -.homepage-top-hero .bg-texture:before { - content: ''; - display: block; - width: 120%; - height: 100%; - position: absolute; - top: 0; - left: 50%; - -webkit-transform: translateX(-50%); - -ms-transform: translateX(-50%); - transform: translateX(-50%); - background: url('/images/pattern_home_hero.svg'); + +.case-studies, +.companies, +.about-linkerd, +.feature-list, +.featured-articles, +.foundation-member, +.tweets { + padding-top: 48px; + padding-bottom: 48px; +} +.tweets { + padding-bottom: 96px; +} + +.case-studies { + img { + width: 150px; + height: auto; + } +} + +.feature.case-studies { + padding-top: 0; + padding-bottom: 96px; + background-image: linear-gradient($light-blue, white); + background-size: 100% 170px; background-repeat: no-repeat; - background-position: center center; - background-size: cover; +} + +.companies { + background-image: linear-gradient(white, $aqua-green, $aqua-green, white); + .created-by { + img { + width: 160px; + height: auto; + } + } +} +@keyframes logos-1-keyframes { + from { + left: 0%; + } + to { + left: -3600px; + } +} +@keyframes logos-2-keyframes { + from { + left: 3600px; + } + to { + left: 0%; + } +} +.logos-mask { + width: 100%; + position: relative; + overflow: hidden; + .adopters { + position: relative; + z-index: 2; + } + .logos { + width: 3600px; + position: relative; + height: 80px; + } + .logos-1, + .logos-2 { + width: 100%; + position: absolute; + display: flex; + } + .logos-1 { + animation: logos-1-keyframes 60s linear infinite; + } + .logos-2 { + animation: logos-2-keyframes 60s linear infinite; + } + figure { + padding: 0; + margin: 0; + } + img { + width: 150px; + height: auto; + margin-left: 50px; + } + &::before, + &::after { + content: ""; + position: absolute; + top: 35px; + width: 50px; + height: 75px; + z-index: 1; + } + &::before { + background-image: linear-gradient(90deg, $aqua-green, rgba($aqua-green, 0)); + left: 0; + z-index: 1; + } + &::after { + content: ""; + background-image: linear-gradient(-90deg, $aqua-green, rgba($aqua-green, 0)); + right: 0; + } + @media screen and (min-width: 768px) { + &::before, + &::after { + width: 100px; + } + } + @media screen and (min-width: 1024px) { + &::before, + &::after { + width: 200px; + } + } +} + +.tweets { + header { + a { + display: block; + &:hover { + span { + color: $secondary-bright-blue !important; + } + } + } + } +} + +.foundation-member { + .foundation-member-banner { + padding: 40px 0 30px 0; + border-radius: 2px; + } + .title { + font-weight: 600 !important; + font-size: 24px !important; + } + img { + width: 200px; + height: auto; + } } .community-top-hero { @@ -142,8 +335,15 @@ } } +.stats-list { + background-image: linear-gradient($light-blue, white); +} + .stats-list-item { padding: 50px 0; + .is-size-1 { + font-weight: 700 !important; + } } .links-list-container { @@ -245,17 +445,16 @@ .container.blog-content-container { font-family: $family-sans-serif; - color: $navy-black; + color: $deep-blue; padding: 30px 0; p, div { font-size: 18px; - font-weight: 300; + font-weight: 400; line-height: 28px; - letter-spacing: 0.3px; } strong { - color: $navy-black; + color: $deep-blue; } hr { margin: 0; @@ -294,7 +493,7 @@ .related-card { .card { - color: $navy-black; + color: $deep-blue; border-radius: 4px; -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.15); box-shadow: 0 4px 4px rgba(0, 0, 0, 0.15); @@ -318,7 +517,7 @@ } .title { - color: $navy-black; + color: $deep-blue; } } @@ -366,14 +565,14 @@ &:hover { .navbar-link { - color: $navy-black; + color: $deep-blue; background: inherit; border-bottom: 0; margin-bottom: 1px; } } .navbar-link { - color: $navy-black; + color: $deep-blue; width: 100%; margin-right: 24px; border-bottom: 1px solid $dark-grey; @@ -399,7 +598,7 @@ background: white; .navbar-item:not(a) { - font: 300 18px/22px roboto !important; + font: 300 18px/22px "Open Sans" !important; color: $dark-grey; } a.navbar-item { @@ -463,7 +662,7 @@ } .breadcrumb { - font: 18px/22px roboto; + font: 18px/22px "Open Sans"; } .toc { @@ -488,7 +687,7 @@ :not(pre) > code[class*='language-'], pre[class*='language-'] { - background: $navy-black; + background: $deep-blue; } :not(pre) > code[class*='language-'] { @@ -563,7 +762,7 @@ blockquote { list-style-type: none; padding-bottom: 1rem; strong { - color: $navy-black; + color: $deep-blue; } } } diff --git a/linkerd.io/config.toml b/linkerd.io/config.toml index 0162a4c839..2f30b9d5eb 100644 --- a/linkerd.io/config.toml +++ b/linkerd.io/config.toml @@ -92,19 +92,10 @@ identifier = "faq" name = "FAQ" url = "/faq/" weight = 4 -[[menu.top]] -identifier = "github" -name = "GitHub" -pre = "" -url = "https://github.com/linkerd/linkerd2" -weight = 5 -[[menu.top]] -identifier = "start" -name = "GET STARTED" -post = "" -pre = "" -url = "/getting-started/" -weight = 6 +[[menu.cta]] +identifier = "join-forum" +name = "Join Forum" +url = "https://linkerd.buoyant.io" [outputFormats.REDIRECTS] baseName = "_redirects" mediaType = "text/netlify" @@ -120,7 +111,7 @@ images = [""] latest_release_date = "2022-05-31" latest_release_version = "1.7.5" latest_linkerd2_stable_version = "2.14" -logo = "/images/identity/png/Linkerd-Linky-flatter-larger-light.png" +logo = "/images/identity/png/transparent_background/1x/linkerd_primary_color_black_transparent.png" [permalinks] blog = "/:year/:month/:day/:slug/" [privacy.twitter] diff --git a/linkerd.io/content/_index.md b/linkerd.io/content/_index.md index e7141cc8e5..001ebe17a8 100644 --- a/linkerd.io/content/_index.md +++ b/linkerd.io/content/_index.md @@ -1,104 +1,149 @@ --- title: The world's lightest, fastest service mesh. date: 2019-02-04T13:12:35.000+00:00 +description: Linkerd adds critical security, observability, and reliability to your + Kubernetes stack, without any code changes. +keywords: +- cloud native applications +outputs: +- html +announcement_banner: + description: "2023-08-23 **[Announcing Linkerd 2.14 with enterprise multi-cluster and Gateway API conformance! ![Read now](/uploads/announcement-banner-learn-more.svg)](/2023/08/23/announcing-linkerd-2.14/)**" top_hero: title: The world's most advanced service mesh description: Enterprise power *without* enterprise complexity. Linkerd adds security, observability, and reliability to any Kubernetes cluster. CNCF graduated and 100% open source. - image: "/uploads/image-15.png" buttons: - caption: Get Started url: "/getting-started/" + classname: "is-link" - caption: Get Involved url: "/community/get-involved/" - image_on_the_right: false -benefits: -- title: "Focus on simplicity" - image: "/uploads/lego.svg" -- title: "Fast and efficient" - image: "/uploads/fast.svg" -- title: "Best-in-breed security" - image: "/uploads/secure.svg" -announcement_banner: - description: "2023-08-23 **[Announcing Linkerd 2.14 with enterprise multi-cluster and Gateway API conformance! Read now »](/2023/08/23/announcing-linkerd-2.14/)**" -description: Linkerd adds critical security, observability, and reliability to your - Kubernetes stack, without any code changes. -keywords: -- cloud native applications -outputs: -- html -tweets: - title: Engineers Love Linkerd - tweets: - - '1538086745732001793' - - '1550395663489409024' - - '1384463767459844097' - - '1381614377170825216' - tweets_md: '' -event_pictures: [] -features_list: - items: - - title: Instant platform health metrics - description: Instantly track success rates, latencies, and request volumes for every meshed workload, without changes or config. - - title: Simpler than any other mesh - description: Minimalist, Kubernetes-native design. No hidden magic, as little YAML and as few CRDs as possible. - - title: Zero-config mutual TLS and zero-trust policy - description: Transparently add mutual TLS to any on-cluster TCP communication with no configuration. - - title: Designed by engineers, for engineers - description: Self-contained control plane, incrementally deployable data plane, and lots and lots of diagnostics and debugging tools. - - title: Latency-aware load balancing and cross-cluster failover - description: Instantly add latency-aware load balancing, request retries, timeouts, and blue-green deploys to keep your applications resilient. - - title: State-of-the-art ultralight Rust dataplane - description: Incredibly small and blazing fast Linkerd2-proxy _micro-proxy_ written in Rust for security and performance. -buttons: - - caption: Get Started - url: https://linkerd.io/choose-your-platform/ -companies_title: + classname: "is-primary" +stats: + - property: Years in production + value: 7+ + - property: Slack channel members + value: 9,000+ + - property: GitHub stars + value: 15,000+ + - property: Contributors + value: 500+ +case_studies: + title: Real-world users companies: - image: "/uploads/logos/blue/expedia.png" - link: https://www.expedia.com + url: https://www.expedia.com - image: "/uploads/logos/blue/offerup.png" - link: https://offerup.com/ + url: https://offerup.com/ - image: "/uploads/logos/blue/tradeshift.png" - link: https://tradeshift.com/ + url: https://tradeshift.com/ - image: "/uploads/logos/blue/adidas.png" - link: https://www.adidas.com/ + url: https://www.adidas.com/ - image: "/uploads/logos/blue/cisco-webex.png" - link: https://www.webex.com/ + url: https://www.webex.com/ - image: "/uploads/logos/blue/clover-health.png" - link: https://www.cloverhealth.com/ + url: https://www.cloverhealth.com/ - image: "/uploads/logos/blue/docker.png" - link: https://www.docker.com/ + url: https://www.docker.com/ - image: "/uploads/logos/blue/heb.png" - link: https://www.heb.com/ -- image: "/uploads/logos/blue/walmart.svg" - link: https://www.walmart.com/ + url: https://www.heb.com/ +- image: "/uploads/logos/blue/walmart.png" + url: https://www.walmart.com/ - image: "/uploads/logos/blue/planet.png" - link: https://www.planet.com/ + url: https://www.planet.com/ - image: "/uploads/logos/blue/strava.png" - link: https://www.strava.com/ + url: https://www.strava.com/ - image: "/uploads/logos/blue/elkjop.png" - link: https://www.elkjopnordic.com/ + url: https://www.elkjopnordic.com/ - image: "/uploads/logos/blue/chase.png" - link: https://www.chase.com/ + url: https://www.chase.com/ - image: "/uploads/logos/blue/mercedez.png" - link: https://www.mercedes-benz.io/ + url: https://www.mercedes-benz.io/ - image: "/uploads/logos/blue/xbox.png" - link: https://www.xbox.com/ + url: https://www.xbox.com/ - image: "/uploads/logos/blue/wiz.png" - link: https://www.wiz.io/ + url: https://www.wiz.io/ - image: "/uploads/logos/blue/plaid.png" - link: https://plaid.com/ + url: https://plaid.com/ - image: "/uploads/logos/blue/timescale.png" - link: https://www.timescale.com/ + url: https://www.timescale.com/ +features_list: + items: + - title: Instant platform health metrics + description: Instantly track success rates, latencies, and request volumes for every meshed workload, without changes or config. + image: "/uploads/features/bar-chart.svg" + url: "/2.14/features/telemetry/" + #url: "/features/instant-platform-health-metrics/" + - title: Simpler than any other mesh + description: Minimalist, Kubernetes-native design. No hidden magic, as little YAML and as few CRDs as possible. + image: "/uploads/features/mesh.svg" + url: "/design-principles/" + #url: "/features/simpler-than-any-other-mesh/" + - title: Zero-config mutual TLS and zero-trust policy + description: Transparently add mutual TLS to any on-cluster TCP communication with no configuration. + image: "/uploads/features/settings.svg" + url: "/2.14/features/server-policy/" + #url: "/features/zero-config-mutual-tls-and-zero-trust-policy/" + - title: Designed by engineers, for engineers + description: Self-contained control plane, incrementally deployable data plane, and lots and lots of diagnostics and debugging tools. + image: "/uploads/features/startup.svg" + url: "/2.14/tasks/debugging-502s/" + #url: "/features/designed-by-engineers-for-engineers/" + - title: Latency-aware load balancing and cross-cluster failover + description: Instantly add latency-aware load balancing, request retries, timeouts, and blue-green deploys to keep your applications resilient. + image: "/uploads/features/balance.svg" + url: "/2.14/features/load-balancing/" + #url: "/features/latency-aware-load-balancing-and-cross-cluster-failover/" + - title: State-of-the-art ultralight Rust dataplane + description: Incredibly small and blazing fast Linkerd2-proxy _micro-proxy_ written in Rust for security and performance. + image: "/uploads/features/stats.svg" + url: "/2020/12/03/why-linkerd-doesnt-use-envoy/" + #url: "/features/state-of-the-art-ultralight-rust-dataplane/" +featured_articles: + title: Why Linkerd? + articles: + - title: Smaller and faster than any other mesh + description: Benchmarks show that Linkerd continues to be dramatically faster than Istio while consuming just a fraction of the system resources. + image: "/uploads/featured-articles/article-1.png" + url: "/2021/11/29/linkerd-vs-istio-benchmarks-2021/index.html" + - title: Designed for simplicity and security + description: Linkerd's unique design provides fundamental visibility, + reliability, and security capabilities without the complexity of other + approaches. + image: "/uploads/featured-articles/article-2.png" + url: "/design-principles/" + - title: Built in Rust, the language of the future + description: Linkerd is the only service mesh written in Rust, allowing us + to confidently write secure code without the CVEs and buffer overflow + exploits endemic to other languages. + image: "/uploads/featured-articles/article-3.png" + url: "/2020/12/03/why-linkerd-doesnt-use-envoy/" foundation_member_banner: - title: Linkerd is a CNCF graduated project - image: "/uploads/CNCF_Alternate_Pantone.png" -cta_buoyant: - image: "/uploads/buoyant-logo-blue.png" - textcreated: "Linkerd was created by" - caption: "Learn more about Buoyant" - url: "https://buoyant.io/" - + title: The first service mesh to ever achieve CNCF graduation status! + image: "/uploads/cncf.svg" +tweets: + title: Engineers 💙 Linkerd + tweets: + - name: Vito Botta + handle: vitobotta + photo: "/uploads/tweets/1wBibgRE_400x400.jpg" + tweet: "I absolutely love [@Linkerd](https://twitter.com/linkerd) - among other things it makes load balancing of grpc service trivial. [#Kubernetes](https://twitter.com/hashtag/kubernetes)." + url: "https://twitter.com/vitobotta/status/1538086745732001793" + - name: Kharf + handle: kharf_ + photo: "/uploads/tweets/YR6dexO__400x400.png" + tweet: "A year ago I switched from Istio to [@Linkerd](https://twitter.com/linkerd). Ever since then I never had this \"...oh maybe that issue is caused by our service mesh\" feeling again." + url: "https://twitter.com/kharf_/status/1550395663489409024" + - name: Anaïs Urlichs + handle: urlichsanais + photo: "/uploads/tweets/VtAPzwMo_400x400.jpg" + tweet: "Who can relate? 👀 [@Linkerd](https://twitter.com/linkerd) has the best getting-started guide I have seen 🙌✨ ![Image](/uploads/tweets/EzaaLrxWYAMSaP3.jpg)" + url: "https://twitter.com/urlichsanais/status/1384463767459844097" + - name: Siddique Ahmad + handle: siddiqueESL + photo: "/uploads/tweets/jNiVoT2a_400x400.jpg" + tweet: "In few hours we are able to tap in our production and staging applications logs thanks to [@Linkerd](https://twitter.com/linkerd), wonderful slack support also available, solved one issue came in while injecting [@Linkerd](https://twitter.com/linkerd), it will help our team to see it before client share with us" + url: "https://twitter.com/siddiqueESL/status/1381614377170825216" --- diff --git a/linkerd.io/data/case_studies.yaml b/linkerd.io/data/case_studies.yaml new file mode 100644 index 0000000000..8313ec0a27 --- /dev/null +++ b/linkerd.io/data/case_studies.yaml @@ -0,0 +1,13 @@ +cases: +- title: Adidas + image: "/uploads/logos/blue/adidas.png" + description: "\"All our observability gaps were closed, ...we saw a reduction in failed requests, and experienced cost reduction due to better performance.\"" + url: "https://buoyant.io/case-studies/adidas/" +- title: Xbox + image: "/uploads/logos/blue/xbox.png" + description: "\"We have offloaded the time and effort needed to develop and maintain the in-house mTLS solution, saving valuable engineering hours...\"" + url: "https://buoyant.io/case-studies/xbox/" +- title: DB Schenker + image: "/uploads/logos/blue/db-schenker.png" + description: "\"Linkerd started as our cloud migration tool and ended up being our service mesh of choice.\"" + url: "https://buoyant.io/case-studies/schenker/" diff --git a/linkerd.io/layouts/_default/baseof.html b/linkerd.io/layouts/_default/baseof.html index b3ee25f7a3..944dcc075d 100644 --- a/linkerd.io/layouts/_default/baseof.html +++ b/linkerd.io/layouts/_default/baseof.html @@ -15,11 +15,6 @@ {{ end }} {{ partial "header.html" . }} - {{ if eq .URL `/` }} -
-

{{ .Site.Home.Params.announcement_banner.description | markdownify }}

-
- {{ end }}
{{ block "main" . }} diff --git a/linkerd.io/layouts/index.html b/linkerd.io/layouts/index.html index 1d19554e6b..0d8ad9e37b 100644 --- a/linkerd.io/layouts/index.html +++ b/linkerd.io/layouts/index.html @@ -1,15 +1,12 @@ -{{ define "head" }} - -{{ end }} - {{ define "main" }} +{{ partial "homepage/homepage-notification.html" .Params.announcement_banner }} {{ partial "homepage/top-hero.html" .Params.top_hero }} -{{ partial "homepage/cta-buoyant.html" .Params.cta_buoyant}} +{{ partial "homepage/stats-list.html" .Params.stats }} +{{ partial "homepage/featured-articles.html" .Params.featured_articles }} +{{ partial "homepage/companies.html" .Params.companies }} +{{ partial "homepage/case-studies.html" .Params.case_studies }} +{{ partial "homepage/about-linkerd.html" . }} {{ partial "homepage/features-list.html" .Params.features_list }} -{{ partial "homepage/stats-list.html" . }} -{{ partial "homepage/image-list.html" (dict "mentions" .Params.companies "title" .Params.companies_title "backgroundColor" "has-background-light-blue") }} -{{ partial "homepage/featured-blogs.html" . }} {{ partial "homepage/foundation-member-banner.html" .Params.foundation_member_banner }} -{{ partial "homepage/tweets.html" ( dict "Tweets" .Params.tweets "Page" . ) }} - +{{ partial "homepage/tweets.html" .Params.tweets }} {{ end }} diff --git a/linkerd.io/layouts/partials/case-studies.html b/linkerd.io/layouts/partials/case-studies.html new file mode 100644 index 0000000000..22739bd872 --- /dev/null +++ b/linkerd.io/layouts/partials/case-studies.html @@ -0,0 +1,18 @@ +{{ range site.Data.case_studies.cases }} + +{{ end }} \ No newline at end of file diff --git a/linkerd.io/layouts/partials/footer.html b/linkerd.io/layouts/partials/footer.html index 9277a66b4e..9547c374fd 100644 --- a/linkerd.io/layouts/partials/footer.html +++ b/linkerd.io/layouts/partials/footer.html @@ -1,5 +1,5 @@