From 8c9594c86eadd69450795db0f9b1c76a07b211a5 Mon Sep 17 00:00:00 2001 From: Kimberley Mackenzie Date: Wed, 12 Nov 2025 15:57:42 -0800 Subject: [PATCH 1/3] Align colors with Console color tokens --- layouts/case-studies/list.html | 129 ++-- layouts/case-studies/single.html | 163 ++-- layouts/index.html | 8 +- layouts/page/about.html | 465 +++++------ layouts/page/ai-arch.html | 122 +-- layouts/page/automation.html | 720 +++++++++--------- layouts/page/cloud-engineering.html | 403 +++++----- layouts/page/crosscode.html | 108 +-- layouts/page/crossguard.html | 484 ++++++------ layouts/page/home-b.html | 674 ++++++++-------- layouts/page/leadership.html | 104 +-- layouts/page/microsoft-build.html | 223 +++--- layouts/page/pricing.html | 498 ++++++------ layouts/page/product-packages.html | 248 +++--- layouts/page/pulumi-up-2022.html | 486 ++++++------ layouts/page/pulumi-up.html | 173 ++--- layouts/page/reinvent.html | 447 ++++++----- layouts/page/solutions-use-case.html | 177 ++--- layouts/page/solutions.html | 339 +++++---- .../partials/blog/series-list-sidebar.html | 65 +- layouts/partials/blog/series-sidebar.html | 176 ++--- layouts/partials/blog/sidebar.html | 58 +- layouts/partials/content-tile.html | 17 +- layouts/partials/event-schedule.html | 46 +- layouts/partials/events/event-card.html | 26 +- layouts/partials/events/summary.html | 25 +- layouts/partials/header.html | 2 +- layouts/partials/home/console.html | 30 +- layouts/partials/how-pulumi-works.html | 127 ++- layouts/partials/learnmore-ai.html | 11 +- layouts/partials/templates/left-nav.html | 16 +- layouts/partials/virtual-communities.html | 29 +- layouts/partner/aws.html | 6 +- layouts/product/infrastructure-as-code.html | 447 +++++------ layouts/product/private-previews.html | 103 +-- layouts/product/pulumi-cloud.html | 271 +++---- layouts/product/self-hosted.html | 286 +++---- layouts/shortcodes/github-buttons.html | 46 +- layouts/taxonomy/tag.html | 194 ++--- layouts/taxonomy/taxonomy.html | 66 +- layouts/tutorials/module.html | 176 ++--- .../cloud-engineering-days-replay.html | 276 +++---- .../cloud-engineering-summit-replay.html | 289 +++---- layouts/webinars/single.html | 124 +-- layouts/what-is/single.html | 16 +- theme/src/scss/_algolia.scss | 18 +- theme/src/scss/_api-nodejs.scss | 13 +- theme/src/scss/_buttons.scss | 6 +- theme/src/scss/_colors.scss | 221 +++--- theme/src/scss/_header.scss | 69 +- theme/src/scss/_hero.scss | 21 +- theme/src/scss/_hubspot.scss | 2 +- theme/src/scss/_icons.scss | 135 ++-- theme/src/scss/_lists.scss | 13 +- theme/src/scss/_marketing.scss | 25 +- theme/src/scss/_mixins.scss | 8 +- theme/src/scss/_search.scss | 10 +- theme/src/scss/components/_audio.scss | 5 +- theme/src/scss/components/_convert.scss | 8 +- theme/src/scss/docs/_packages.scss | 20 +- theme/src/scss/main.scss | 31 +- theme/src/scss/marketing/_pricing.scss | 27 +- theme/src/scss/marketing/_product.scss | 14 +- .../scss/marketing/_shape-backgrounds.scss | 71 +- theme/src/ts/pulumi-cloud.ts | 8 +- 65 files changed, 4953 insertions(+), 4671 deletions(-) diff --git a/layouts/case-studies/list.html b/layouts/case-studies/list.html index 13bbd46a0324..a64be5ff2f4d 100644 --- a/layouts/case-studies/list.html +++ b/layouts/case-studies/list.html @@ -1,76 +1,79 @@ {{ define "hero" }} - {{ partial "hero.html" (dict "title" .Title "subtitle" .Description) }} +{{ partial "hero.html" (dict "title" .Title "subtitle" .Description) }} {{ end }} {{ define "main" }} -
- {{ partial "stacked-carousel.html" (dict "logos" .Params.customer_logos.logos "static" true ) }} -
+
+ {{ partial "stacked-carousel.html" (dict "logos" .Params.customer_logos.logos "static" true ) }} +
-
-

Customer Stories

-
+
+

Customer Stories

+
-
-
-
-
-
- {{ partial "customer-logo.html" (dict "logo" .Params.featured_customer.name) }} -
-

- {{ .Params.featured_customer.quote }} -

+
+
+
+
+
+ {{ partial "customer-logo.html" (dict "logo" .Params.featured_customer.name) }}
+

+ {{ .Params.featured_customer.quote }} +

-
-
- {{ if .Params.featured_customer.headline_stat }} -
{{ .Params.featured_customer.headline_stat }}
- {{ end }} - {{ if .Params.featured_customer.headline }} -
{{ .Params.featured_customer.headline }}
- {{ end }} - - Read the Story - -
+
+
+
+ {{ if .Params.featured_customer.headline_stat }} +
{{ .Params.featured_customer.headline_stat + }}
+ {{ end }} + {{ if .Params.featured_customer.headline }} +
{{ .Params.featured_customer.headline }}
+ {{ end }} + + Read the Story +
+
-
-
    - {{ $items := where (where .Site.Pages "Type" "case-studies") "Kind" "eq" "page" }} - {{ range $index, $item := sort $items ".Params.customer_name" }} -
  • - -
  • - {{ end }} -
-
+
+
    + {{ $items := where (where .Site.Pages "Type" "case-studies") "Kind" "eq" "page" }} + {{ range $index, $item := sort $items ".Params.customer_name" }} +
  • + +
  • + {{ end }} +
+
- {{ partial "learnmore-contactus.html" . }} -{{ end }} +{{ partial "learnmore-contactus.html" . }} +{{ end }} \ No newline at end of file diff --git a/layouts/case-studies/single.html b/layouts/case-studies/single.html index 5ad9089a68a7..5e4c73451a54 100644 --- a/layouts/case-studies/single.html +++ b/layouts/case-studies/single.html @@ -1,92 +1,99 @@ {{ define "hero" }} - {{ partial "hero.html" (dict "title" .Title) }} +{{ partial "hero.html" (dict "title" .Title) }} {{ end }} {{ define "main" }} - {{ if .Params.quote_block }} -
-
-
-
-
- .Params.customer_name -
- {{ if .Params.quote_block.quote }} -

- {{ .Params.quote_block.quote }} -

- {{ end }} -
-
-
-
- {{ if .Params.quote_block.headline_stat }} -
{{ .Params.quote_block.headline_stat }}
- {{ end }} - {{ if .Params.quote_block.headline }} -
{{ .Params.quote_block.headline }}
- {{ end }} -
+{{ if .Params.quote_block }} +
+
+
+
+
+ .Params.customer_name
+ {{ if .Params.quote_block.quote }} +

+ {{ .Params.quote_block.quote }} +

+ {{ end }}
- {{ end }} - - - - {{ if .Params.exec_summary }} -
-
-

Executive Summary

-

- {{ .Params.exec_summary | markdownify }} -

-
- {{ end }} +
+
+
+{{ end }} -
-
- {{ if .Params.customer_logo }} - {{ $image_classes := "inline-block md:float-right max-w-xs md:pl-8 pb-2"}} - {{ if or (eq .Params.customer_name "Starburst Data") (eq .Params.customer_name "Panther Labs") }} - {{ $image_classes = "inline-block md:float-right max-w-xs w-48 pb-2 md:pb-0 " }} - {{ end }} - {{ $image_title := print (or .Params.customer_name "Customer") " logo" }} - {{ if .Params.customer_url }} - - {{ $image_title }} - - {{ else }} - {{ $image_title }} - {{ end }} +
+ +
+ - {{ if not .Params.hide_pulumi_footer }} -
-
-

Pulumi Corporation

-

- Pulumi's cloud engineering platform brings infrastructure, developer, and security teams together through a unified software engineering process that tames cloud - complexity and accelerates innovation. Using the Pulumi platform, teams can build, deploy, and manage modern cloud applications faster and with more confidence, - using any language, any architecture and any cloud. Pulumi lets teams build Universal Infrastructure as Code using popular programming languages (Python, - JavaScript, TypeScript, Go, .NET/C#, Java) and markup languages (YAML, JSON, CUE). It enables deploying infrastructure and applications together through a unified - delivery process. Finally, teams can manage cloud applications with Policy as Code, better visibility, and controls. -

-
-
- {{ end }} +{{ if .Params.exec_summary }} +
+
+

Executive Summary

+

+ {{ .Params.exec_summary | markdownify }} +

+
+
+{{ end }} - {{ partial "learnmore-contactus.html" . }} +
+
+ {{ if .Params.customer_logo }} + {{ $image_classes := "inline-block md:float-right max-w-xs md:pl-8 pb-2"}} + {{ if or (eq .Params.customer_name "Starburst Data") (eq .Params.customer_name "Panther Labs") }} + {{ $image_classes = "inline-block md:float-right max-w-xs w-48 pb-2 md:pb-0 " }} + {{ end }} + {{ $image_title := print (or .Params.customer_name "Customer") " logo" }} + {{ if .Params.customer_url }} + + {{ $image_title }} + + {{ else }} + {{ $image_title }} + {{ end }} + {{ end }} + {{ .Content }} +
+
+ +{{ if not .Params.hide_pulumi_footer }} +
+
+

Pulumi Corporation

+

+ Pulumi's cloud engineering platform brings infrastructure, developer, and security teams together through a + unified software engineering process that tames cloud + complexity and accelerates innovation. Using the Pulumi platform, teams can build, deploy, and manage modern + cloud applications faster and with more confidence, + using any language, any architecture and any cloud. Pulumi lets teams build Universal Infrastructure as Code + using popular programming languages (Python, + JavaScript, TypeScript, Go, .NET/C#, Java) and markup languages (YAML, JSON, CUE). It enables deploying + infrastructure and applications together through a unified + delivery process. Finally, teams can manage cloud applications with Policy as Code, better visibility, and + controls. +

+
+
{{ end }} + +{{ partial "learnmore-contactus.html" . }} +{{ end }} \ No newline at end of file diff --git a/layouts/index.html b/layouts/index.html index 1608e7afef31..f8c7012a909e 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -236,7 +236,7 @@

{{ .Params.idp.title }}

-
+

Open source. Built by engineers for engineers.

diff --git a/layouts/page/about.html b/layouts/page/about.html index d596da7190e4..08c5159304d5 100644 --- a/layouts/page/about.html +++ b/layouts/page/about.html @@ -1,258 +1,273 @@ {{ define "hero" }} -
-
- Pulumi team photo -
+
+
+ Pulumi team photo
+
{{ end }} {{ define "main" }} -
-
-
-
-
-
-

We are Pulumi

-
-
-
- -
+
+
+
+
+
+
+

We are Pulumi

+
+
+
+
-
+
+
-
-

Our purpose

-

To democratize the cloud for every engineer.

-

We help engineers ship infrastructure faster with Infrastructure as Code in general-purpose languages.

- Meet our leaders -
+
+

Our purpose

+

To democratize the cloud for every engineer.

+

We help engineers ship infrastructure faster with Infrastructure as Code in + general-purpose languages.

+ Meet our leaders +
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-

Our Values

- -
+
+
+

Our Values

+ -
-

Like what we stand for? Join us.

-

We are looking for new teammates who want to build the future of cloud infrastructure together.

+
+ {{ range $value := .Params.values }} +
+ +

{{ $value.title }}

+

{{ $value.content }}

+
+ {{ end }}
-
- -
-
+
+

Like what we stand for? Join us. +

+

We are looking for new teammates who want to build the future of cloud infrastructure together.

+
+
-
-

Pulumi is about community

-

- Pulumi's Infrastructure as Code SDK is an open source project and our community inspires everything we do. We're constantly improving the developer experience of - building on the cloud because of our community's feedback and contributions. Also, we're backed by venture capitalists who believe in our open source values and the - business. Here are some ways that we recognize our community: -

-
-
- Pulumipus wearing a medal with two hands raised -
The Puluminaries
-

A group for stellar Pulumi community members who have made "above and beyond" contributions to the community.

- Meet our Puluminaries -
-
- Pulumipus wearing a medal with two hands raised -
The Pulumiverse
-

A place for the Pulumi community to interact and collaborate on Pulumi-based learning resources.

- Explore Pulumiverse -
-
- Pulumipus wearing a Pulumi hoodie -
Pulumi users
-

Engineers love Pulumi! Don’t believe us? Check out what our users have to say.

- Read user quotes -
-
-
+
+
+
-
-
+
+

Pulumi is about community

+

+ Pulumi's Infrastructure as Code SDK is an open source project and our community inspires everything we do. We're + constantly improving the developer experience of + building on the cloud because of our community's feedback and contributions. Also, we're backed by venture + capitalists who believe in our open source values and the + business. Here are some ways that we recognize our community: +

+
+
+ Pulumipus wearing a medal with two hands raised +
The Puluminaries
+

A group for stellar Pulumi community members who have made "above and beyond" + contributions to the community.

+ Meet our Puluminaries +
+
+ Pulumipus wearing a medal with two hands raised +
The Pulumiverse
+

A place for the Pulumi community to interact and collaborate on Pulumi-based + learning resources.

+ Explore Pulumiverse +
+
+ Pulumipus wearing a Pulumi hoodie +
Pulumi users
+

Engineers love Pulumi! Don’t believe us? Check out what our users have to + say.

+ Read user quotes +
+
+ +
+
+
-
-

Our journey

-
-

Pulumi was created to make the cloud vastly simpler (and more fun) to use for developers and engineers.

+
+

Our journey

+
+

Pulumi was created to make the cloud vastly simpler + (and more fun) to use for developers and engineers.

+
+ +
+
+
2017
+
Mar
+
$5M Seed fundraise
+
Founding
+
Nov
+
First customer
-
+
+
2022
+
May
+
Universal IaC Launch
+
Nov
+
Pulumi Deployments launch
+
+
+
2023
+
Apr
+
Pulumi Insights launch
+
Oct
+
Pulumi ESC launch
+
Pulumi for Platform Teams launch
+
$41M Series C fundraise
+
+
+
-
-
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+

Our awards & recognition

+
    + {{ range first 4 (where $.Site.Data.awards.awards "featured" true) }} +
  • + + + +
  • + {{ end }} +
+
+
-
-
-
-
-
-
-
-
+
+
+
+ +
+
+
+

Press Releases

+
    + {{ range first 2 $.Site.Data.newsroom.releases }} +
  • +
    {{ .date }}
    +
    {{ .title }}
    + Read more → +
  • + {{ end }} +
+ View all press releases
-
-

Our awards & recognition

-
- -
-
+
-
-
-
-

Press Releases

-
    - {{ range first 2 $.Site.Data.newsroom.releases }} -
  • -
    {{ .date }}
    -
    {{ .title }}
    - Read more → -
  • - {{ end }} -
- View all press releases -
-
-

Recent News

-
    - {{ range first 2 $.Site.Data.newsroom.coverage }} -
  • -
    {{ .date }}
    - -
    {{ .title }}
    - Read more → -
  • - {{ end }} -
- View all recent news -
-
-
- -
-
-
+
+
+
-
-

Join our team

-

We are fully remote and hiring!

-

Our team is a diverse and talented group of individuals from all walks of life.

- Browse open positions -
-{{ end }} +
+

Join our team

+

We are fully remote and hiring!

+

Our team is a diverse and talented group of individuals from all walks of life.

+ Browse open positions +
+{{ end }} \ No newline at end of file diff --git a/layouts/page/ai-arch.html b/layouts/page/ai-arch.html index fcbde8981160..17181f78de5a 100644 --- a/layouts/page/ai-arch.html +++ b/layouts/page/ai-arch.html @@ -1,79 +1,81 @@ {{ define "hero" }} - {{ partial "hero.html" (dict "title" .Params.title) }} +{{ partial "hero.html" (dict "title" .Params.title) }} {{ end }} {{ define "main" }} - -
-
-
-

{{ .Params.overview.title }}

-

{{ .Params.overview.description | markdownify }}

- -
-
- Reference Architecture + +
+
+
+

{{ .Params.overview.title }}

+

{{ .Params.overview.description | markdownify }}

+
-
+
+ Reference Architecture +
+
+
- -
-

{{ .Params.diagrams.title }}

-

{{ .Params.diagrams.description | markdownify }}

+ +
+

{{ .Params.diagrams.title }}

+

{{ .Params.diagrams.description | markdownify }}

- {{ range $diagram := .Params.diagrams.items }} -
-
- -
+ {{ range $diagram := .Params.diagrams.items }} +
+
+ +
+ +
+

{{ $diagram.title }}

+

{{ $diagram.content | markdownify }}

+
+
+ {{ end }} +
-
-

{{ $diagram.title }}

-

{{ $diagram.content | markdownify }}

-
+ +
+

{{ .Params.benefits.title }}

+
+ {{ range $benefit := .Params.benefits.benefits.items }} +
+
+ {{ partial "color-icon.html" (dict "icon" $benefit.icon "icon_color" $benefit.icon_color) }} +
{{ $benefit.title }}
+

{{ $benefit.description | markdownify }}

- {{ end }} -
- - -
-

{{ .Params.benefits.title }}

-
- {{ range $benefit := .Params.benefits.benefits.items }} -
-
- {{ partial "color-icon.html" (dict "icon" $benefit.icon "icon_color" $benefit.icon_color) }} -
{{ $benefit.title }}
-

{{ $benefit.description | markdownify }}

-
-
- {{ end }}
-
+ {{ end }} +
+
- + -
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-

{{ .Params.get_started.get_started.title }}

-

{{ .Params.get_started.get_started.description }}

- {{ .Params.get_started.get_started.cta_text }} -
+
+
+
+

{{ .Params.get_started.get_started.title }}

+

{{ .Params.get_started.get_started.description }}

+ {{ + .Params.get_started.get_started.cta_text }}
-
-{{ end }} +
+
+{{ end }} \ No newline at end of file diff --git a/layouts/page/automation.html b/layouts/page/automation.html index 700a6077046b..6d5ff5db123b 100644 --- a/layouts/page/automation.html +++ b/layouts/page/automation.html @@ -1,438 +1,436 @@ {{ define "hero" }} - {{ partial "hero" (dict "title" "Automation API") }} +{{ partial "hero" (dict "title" "Automation API") }} {{ end }} {{ define "main" }} -
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
- + -
-

Harness the full power of Infrastructure as Code

-

- Pulumi Automation API exposes the full power of infrastructure as code through a programmatic interface, instead of through CLI commands. Automation API lets - you use the Pulumi engine as an SDK, enabling you to create software that can create, update, configure, and destroy infrastructure dynamically. This enables - you to build custom cloud interfaces that are tailored to your team, organization, or customers. -

- +
+
+

Harness the full power of Infrastructure as Code

+

+ Pulumi Automation API exposes the full power of infrastructure as code through a programmatic interface, + instead of through CLI commands. Automation API lets + you use the Pulumi engine as an SDK, enabling you to create software that can create, update, configure, + and destroy infrastructure dynamically. This enables + you to build custom cloud interfaces that are tailored to your team, organization, or customers. +

+
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-

The benefits of using Automation API

-
-
-
-
{{ partial "color-icon.html" (dict "icon" "code" "icon_color" "blue") }}
-
Programmatic Infrastructure as Code
-

- Use the Pulumi engine as a strongly typed SDK in your application code, enabling it to call functions that can provision and configure infrastructure on - any cloud. -

+
+

The benefits of using Automation API

+
+
+
+
{{ partial "color-icon.html" (dict "icon" "code" "icon_color" "blue") }}
+
Programmatic Infrastructure as Code
+

+ Use the Pulumi engine as a strongly typed SDK in your application code, enabling it to call + functions that can provision and configure infrastructure on + any cloud. +

+
-
-
-
{{ partial "color-icon.html" (dict "icon" "guage" "icon_color" "yellow") }}
-
Scale the distribution of best practices
-

- Codify best practices for cloud infrastructure within custom applications or tools that allow your organization’s developers to easily provision and use - approved infrastructure. -

+
+
+
{{ partial "color-icon.html" (dict "icon" "guage" "icon_color" "yellow") }}
+
Scale the distribution of best practices
+

+ Codify best practices for cloud infrastructure within custom applications or tools that allow + your organization’s developers to easily provision and use + approved infrastructure. +

+
-
-
-
{{ partial "color-icon.html" (dict "icon" "puzzle" "icon_color" "salmon") }}
-
Build abstractions and custom interfaces
-

- Automation API enables you to build custom cloud interfaces for your technical end users. For example, build self-service developer portals, CLIs, - frameworks, and CI/CD workflows. -

-
+
+
+
{{ partial "color-icon.html" (dict "icon" "puzzle" "icon_color" "salmon") + }}
+
Build abstractions and custom interfaces
+

+ Automation API enables you to build custom cloud interfaces for your technical end users. For + example, build self-service developer portals, CLIs, + frameworks, and CI/CD workflows. +

+
-
-
-
{{ partial "color-icon.html" (dict "icon" "cloud-with-nodes" "icon_color" "purple") }}
-
Manage single-tenant deployments at scale
-

- Easily build high-scale, SaaS applications that serve customers with single-tenant instances. Automate creating and managing infrastructure for - thousands of unique customers. -

-
+
+
+
{{ partial "color-icon.html" (dict "icon" "cloud-with-nodes" "icon_color" + "purple") }}
+
Manage single-tenant deployments at scale
+

+ Easily build high-scale, SaaS applications that serve customers with single-tenant instances. + Automate creating and managing infrastructure for + thousands of unique customers. +

-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+ +
+

Use Cases

-
-

Use Cases

+ + -
  • -

    Custom Infrastructure Tooling

    -
    -
    -
    -
    Overview
    +
  • +

    Custom Infrastructure Tooling

    +
    +
    +
    +
    Overview
    +

    + Build user-friendly infrastructure tooling such as CLIs, higher-level frameworks, + CI/CD workflows, and even desktop apps. Infrastructure + teams can use Automation API to build self-service tools for building, deploying, + and managing infrastructure and offer the right levels of + complexity and customization for the tool’s target audience. +

    + +
    Examples
    +
    +

    Ploy, a CLI in Go

    - Build user-friendly infrastructure tooling such as CLIs, higher-level frameworks, CI/CD workflows, and even desktop apps. Infrastructure - teams can use Automation API to build self-service tools for building, deploying, and managing infrastructure and offer the right levels of - complexity and customization for the tool’s target audience. + Ploy is a Heroku-like interface for deploying Docker images to a Kubernetes + cluster. Ploy combines Pulumi with a Go CLI using Promptui. + It is + open source on GitHub.

    - -
    Examples
    -
    -

    Ploy, a CLI in Go

    -

    - Ploy is a Heroku-like interface for deploying Docker images to a Kubernetes cluster. Ploy combines Pulumi with a Go CLI using Promptui. - It is - open source on GitHub. -

    -
    - -
    -

    Pulumi GitHub Action for CI/CD

    -

    - Pulumi’s GitHub Action is powered by Automation API and it gives you complete control over Pulumi in your CI/CD workflows. - Learn how it was created - or see the - code on GitHub. -

    -
    -
    -
    -
    - + +
    +

    Pulumi GitHub Action for CI/CD

    - Automation API powers custom infrastructure platforms for organizations like Mercedes-Benz Research & Development North America. These - platforms empower their teams to stand up the cloud infrastructure that they need and when they need it. + Pulumi’s GitHub Action is powered by Automation API and it gives you complete + control over Pulumi in your CI/CD workflows. + Learn how it was created + or see the + code on GitHub.

    - -
    -
  • - -
    -
    -
    +
    +
    + +

    + Automation API powers custom infrastructure platforms for organizations like + Mercedes-Benz Research & Development North America. These + platforms empower their teams to stand up the cloud infrastructure that they need + and when they need it. +

    - -
    - -
    {{ .Params.customer_logos.title }}
    - - {{ range $logoBunch := .Params.customer_logos.logos }} - -
    - {{ range $logo := $logoBunch.items }} -
    - {{ partial "customer-logo.html" (dict "logo" $logo "hoverable" true) }} +
    - {{ end }} +
    - - {{ end }} - -
    + + +
    +
    + -
    -
    -
    -
    -

    More Examples

    -

    Visit our GitHub repository to see more end-to-end examples of how you can use Automation API.

    - View on GitHub + +
    + +
    {{ .Params.customer_logos.title }}
    + + {{ range $logoBunch := .Params.customer_logos.logos }} + +
    + {{ range $logo := $logoBunch.items }} +
    + {{ partial "customer-logo.html" (dict "logo" $logo "hoverable" true) }}
    + {{ end }}
    +
    + {{ end }} +
    +
    -
    -
    -

    Workshop

    -

    Watch as we build a self-service infrastructure platform with Python and Flask with the Automation API

    - Join now -
    +
    +
    +
    +
    +

    More Examples

    +

    Visit our GitHub repository to see more end-to-end examples of how you can use + Automation API.

    + View on GitHub
    -
    -

    Get started today

    -

    To get started with Pulumi Automation API, visit the user guide in our documentation.

    -
    - View the Guide +
    +
    +

    Workshop

    +

    Watch as we build a self-service infrastructure platform with Python and Flask + with the Automation API

    + Join + now
    -
    -{{ end }} +
    + +
    +

    Get started today

    +

    To get started with Pulumi Automation API, visit the user guide in our documentation.

    + +
    +
    +{{ end }} \ No newline at end of file diff --git a/layouts/page/cloud-engineering.html b/layouts/page/cloud-engineering.html index b6f4777589aa..84581bba6aac 100644 --- a/layouts/page/cloud-engineering.html +++ b/layouts/page/cloud-engineering.html @@ -1,251 +1,254 @@ {{ define "hero" }} - {{ partial "hero" (dict "title" .Params.title ) }} +{{ partial "hero" (dict "title" .Params.title ) }} {{ end }} {{ define "main" }} -
    -
    -

    {{ .Params.overview.title }}

    -

    {{ .Params.overview.description }}

    -
    - -
    - -
    -
    -

    {{ .Params.best_practices.title }}

    -

    {{ .Params.best_practices.description | markdownify }}

    -
    -
    -
    - -
    -
    -
    -
    -
    -
    +
    +
    +

    {{ .Params.overview.title }}

    +

    {{ .Params.overview.description }}

    +
    + +
    + +
    +
    +

    {{ .Params.best_practices.title }}

    +

    {{ .Params.best_practices.description | markdownify }}

    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    {{ .Params.build.title }}

    -

    {{ .Params.build.description }}

    -
    +
    +

    {{ .Params.build.title }}

    +

    {{ .Params.build.description }}

    +
    -
    - {{ range $item := .Params.build.items }} -
    {{ $item.title }}
    -

    {{ $item.description }}

    - {{ end }} -
    +
    + {{ range $item := .Params.build.items }} +
    {{ $item.title }}
    +

    {{ $item.description }}

    + {{ end }}
    -
    +
    +
    -
    -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    +
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -

    {{ .Params.deploy.title }}

    -

    {{ .Params.deploy.description }}

    +
    +
    +
    +
    +
    +
    -
    - {{ range $item := .Params.deploy.items }} -
    {{ $item.title }}
    -

    {{ $item.description }}

    - {{ end }} +
    +

    {{ .Params.deploy.title }}

    +

    {{ .Params.deploy.description }}

    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    + {{ range $item := .Params.deploy.items }} +
    {{ $item.title }}
    +

    {{ $item.description }}

    + {{ end }}
    +
    +
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    +
    +
    +
    -
    -

    {{ .Params.manage.title }}

    -

    {{ .Params.manage.description }}

    +
    +
    +
    +
    +
    +
    -
    - {{ range $item := .Params.manage.items }} -
    {{ $item.title }}
    -

    {{ $item.description }}

    - {{ end }} +
    +

    {{ .Params.manage.title }}

    +

    {{ .Params.manage.description }}

    -
    -
    -
    -
    -
    -
    -
    +
    + {{ range $item := .Params.manage.items }} +
    {{ $item.title }}
    +

    {{ $item.description }}

    + {{ end }}
    +
    +
    -
    -

    {{ .Params.benefits.title | markdownify }}

    -
    - {{ range $item := .Params.benefits.items }} -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} -
    -
    -
    {{ $item.title }}
    -
    -
    -

    {{ $item.description }}

    -
    -
    - {{ end }} -
    +
    +
    +
    +
    +
    -
    +
    -
    -
    -
    -
    +
    +

    {{ .Params.benefits.title | markdownify }}

    +
    + {{ range $item := .Params.benefits.items }} +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} +
    +
    +
    {{ $item.title }}
    +
    +
    +

    {{ $item.description }}

    +
    + {{ end }}
    +
    +
    -
    -

    {{ .Params.use_cases.title }}

    -
    - {{ range $item := .Params.use_cases.items }} -
    -
    {{ $item | markdownify }}
    -
    - {{ end }} -
    -

    {{ .Params.use_cases.description }}

    - See Solutions +
    +
    +
    +
    -
    +
    - -
    -

    {{ .Params.case_studies.title }}

    -
    - - {{ range $item := .Params.case_studies.items }} - -
    -
    -

    {{ $item.quote | markdownify }}

    -
    -
    -

    {{ $item.name }}

    -

    {{ $item.title }}

    -
    -
    - {{ partial "customer-logo.html" (dict "logo" $item.company) }} -
    -
    -
    -
    -
    - {{ end }} -
    -
    -
    -
    -
    -
    -
    -
    -
    + - -
    -
    -
    - -

    {{ .Params.get_started.title }}

    -

    {{ .Params.get_started.description }}

    - +
    +
    +
    +
    +
    +
    +
    + +
    +

    {{ .Params.case_studies.title }}

    + + {{ range $item := .Params.case_studies.items }} + +
    +
    +

    {{ $item.quote }}

    +
    +
    +

    {{ $item.name }}

    +

    {{ $item.title }}

    +
    +
    + {{ partial "customer-logo.html" (dict "logo" $item.company) }} +
    +
    +
    -
    -
    -
    -
    -{{ end }} + + {{ end }} + +
    + + +
    +
    +
    + +

    {{ .Params.get_started.title }}

    +

    {{ .Params.get_started.description }}

    + +
    +
    +
    +
    +{{ end }} \ No newline at end of file diff --git a/layouts/page/crosscode.html b/layouts/page/crosscode.html index dbbace404644..9fa3e358ff14 100644 --- a/layouts/page/crosscode.html +++ b/layouts/page/crosscode.html @@ -1,70 +1,70 @@ {{ define "hero" }} - {{ partial "hero" (dict "title" .Params.title) }} +{{ partial "hero" (dict "title" .Params.title) }} {{ end }} {{ define "main" }} - {{ $pageContext := . }} +{{ $pageContext := . }} -
    -
    -
    -
    -
    +
    +
    +
    +
    -
    -
    -

    {{ .Params.description | markdownify }}

    -
    -
    - Pulumi Cloud Engineering Platform -
    +
    +
    +
    +

    {{ .Params.description | markdownify }}

    +
    +
    + Pulumi Cloud Engineering Platform
    -
    +
    +
    -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    -
    - {{ with .Params.capabilities }} -

    {{ .title }}

    -
    - {{ range $item := .items }} -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} -
    -
    {{ $item.title }}
    -

    - {{ $item.description | markdownify }} - {{ if $item.more }} -

    {{ $item.more.label }} →

    - {{ end }} -

    -
    -
    +
    +
    + {{ with .Params.capabilities }} +

    {{ .title }}

    +
    + {{ range $item := .items }} +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} +
    +
    {{ $item.title }}
    +

    + {{ $item.description | markdownify }} + {{ if $item.more }} +

    {{ $item.more.label }} →

    {{ end }} +

    +
    {{ end }}
    -
    + {{ end }} +
    +
    -
    - {{ with .Params.questions }} -
    -
    -

    {{ .title }}

    -

    {{ .description }}

    - -
    +
    + {{ with .Params.questions }} +
    +
    +

    {{ .title }}

    +

    {{ .description }}

    + - {{ end }} -
    -{{ end }} +
    +
    + {{ end }} + +{{ end }} \ No newline at end of file diff --git a/layouts/page/crossguard.html b/layouts/page/crossguard.html index 64196751f44c..4cbc7442b708 100644 --- a/layouts/page/crossguard.html +++ b/layouts/page/crossguard.html @@ -1,299 +1,317 @@ {{ define "hero" }} - {{ partial "hero" (dict "title" "Policy as Code") }} +{{ partial "hero" (dict "title" "Policy as Code") }} {{ end }} {{ define "main" }} -
    -
    -

    Pulumi CrossGuard

    -

    Enforce your organization's cloud governance — security, compliance, cost controls, and more.

    - +
    +
    +

    Pulumi CrossGuard

    +

    Enforce your organization's cloud governance — security, compliance, cost controls, and more.

    + -
    +
    +
    -
    -
    -

    Features

    -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" "shield" "icon_color" "violet") }} -
    Any Policy
    -

    - Use off-the-shelf rules or define your own for security, cost, compliance, reliability best practices — just about anything. Use package managers - to share and reuse rules. -

    -
    +
    +
    +

    Features

    +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" "shield" "icon_color" "violet") }} +
    Any Policy
    +

    + Use off-the-shelf rules or define your own for security, cost, compliance, reliability best + practices — just about anything. Use package managers + to share and reuse rules. +

    -
    -
    - {{ partial "color-icon.html" (dict "icon" "clouds" "icon_color" "yellow") }} -
    Any Cloud
    -

    - Govern infrastructure resources on any cloud whether they are managed by Pulumi IaC, managed by another IaC tool, or unmanaged. -

    -
    +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" "clouds" "icon_color" "yellow") }} +
    Any Cloud
    +

    + Govern infrastructure resources on any cloud whether they are managed by Pulumi IaC, managed by + another IaC tool, or unmanaged. +

    -
    -
    - {{ partial "color-icon.html" (dict "icon" "rocketship" "icon_color" "salmon") }} -
    Familiar and Powerful
    -

    - Define custom policies using familiar languages like JavaScript and Python. Use great editors, test frameworks, libraries, and tools for productivity - and correctness. -

    -
    +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" "rocketship" "icon_color" "salmon") }} +
    Familiar and Powerful
    +

    + Define custom policies using familiar languages like JavaScript and Python. Use great editors, + test frameworks, libraries, and tools for productivity + and correctness. +

    +
    +
    +
    +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" "exchange" "icon_color" "blue") }} +
    Flexible Enforcement
    +

    + Apply policies using coarse- or fine-grained controls. Target individual projects, manage + organization-wide policies, or group projects for differences + in environments and regions. +

    +
    +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" "gear" "icon_color" "purple") }} +
    Configurable
    +

    Define policies that can be configured at the point of application, including enforcement level, + letting you vary behavior based on project needs.

    -
    +
    +
    + {{ partial "color-icon.html" (dict "icon" "cycle" "icon_color" "violet") }} +
    Automate and Integrate
    +

    + Automate governance using programmable libraries and REST APIs, easily integrating with external + services such as web services, asset tracking + databases, pricing lists, and more. +

    +
    +
    +
    +
    +
    + +
    +
    +
    +

    Enterprise Compliance Enforcement

    +
    + Business Critical customers can enforce compliance and remediate non-compliance using Pulumi provided + policies across your organization. +
    +
    - {{ partial "color-icon.html" (dict "icon" "exchange" "icon_color" "blue") }} -
    Flexible Enforcement
    + {{ partial "color-icon.html" (dict "icon" "shield" "icon_color" "violet") }} +
    Compliance-ready Policies

    - Apply policies using coarse- or fine-grained controls. Target individual projects, manage organization-wide policies, or group projects for differences - in environments and regions. + Choose from hundreds of policies for AWS, Azure, Google Cloud, and Kubernetes. Support for + PCI DSS, ISO 27001, SOC 2, and CIS Benchmarks.

    - {{ partial "color-icon.html" (dict "icon" "gear" "icon_color" "purple") }} -
    Configurable
    -

    Define policies that can be configured at the point of application, including enforcement level, letting you vary behavior based on project needs.

    + {{ partial "color-icon.html" (dict "icon" "shield" "icon_color" "violet") }} +
    Server-side Enforcement
    +

    + Set policy packs that block prohibited deployments across your entire organization, + preventing issues. +

    - {{ partial "color-icon.html" (dict "icon" "cycle" "icon_color" "violet") }} -
    Automate and Integrate
    + {{ partial "color-icon.html" (dict "icon" "shield" "icon_color" "violet") }} +
    Remediation Policies

    - Automate governance using programmable libraries and REST APIs, easily integrating with external services such as web services, asset tracking - databases, pricing lists, and more. + Codify reactive solutions to compliance requirements by transforming non-compliant resources + into compliant ones.

    -
    -
    - -
    -
    -
    -

    Enterprise Compliance Enforcement

    -
    - Business Critical customers can enforce compliance and remediate non-compliance using Pulumi provided policies across your organization. -
    -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" "shield" "icon_color" "violet") }} -
    Compliance-ready Policies
    -

    - Choose from hundreds of policies for AWS, Azure, Google Cloud, and Kubernetes. Support for PCI DSS, ISO 27001, SOC 2, and CIS Benchmarks. -

    -
    -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" "shield" "icon_color" "violet") }} -
    Server-side Enforcement
    -

    - Set policy packs that block prohibited deployments across your entire organization, preventing issues. -

    -
    -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" "shield" "icon_color" "violet") }} -
    Remediation Policies
    -

    - Codify reactive solutions to compliance requirements by transforming non-compliant resources into compliant ones. -

    -
    -
    -
    - +
    -
    +
    +
    -
    -
    -

    Policy as Code Scenarios

    -

    Accelerate your organization's delivery while still staying compliant

    -
    -
    -
    -

    Security

    -

    Maintain security across all cloud infrastructure assets.

    -
    -{{ $code := `new PolicyPack("acmecorp-security", { - policies: [{ - name: "prohibited-public-internet", - description: "Reject public internet access.", - enforcementLevel: "mandatory", - validateResource: validateResourceOfType( - aws.ec2.SecurityGroup, - (sg, args, reportViolation) => { +
    +
    +

    Policy as Code Scenarios

    +

    Accelerate your organization's delivery while still staying compliant

    +
    +
    +
    +

    Security

    +

    Maintain security across all cloud infrastructure assets.

    +
    + {{ $code := `new PolicyPack("acmecorp-security", { + policies: [{ + name: "prohibited-public-internet", + description: "Reject public internet access.", + enforcementLevel: "mandatory", + validateResource: validateResourceOfType( + aws.ec2.SecurityGroup, + (sg, args, reportViolation) => { const hasInternetAccess = sg.ingress.find( - rule => rule.cidrBlocks.includes("0.0.0.0/0") + rule => rule.cidrBlocks.includes("0.0.0.0/0") ); if (hasInternetAccess) { - reportViolation("Illegal internet access"); + reportViolation("Illegal internet access"); } - }, - ), - }], -);` -}} + }, + ), + }], + );` + }} - {{ partial "code" (dict "code" $code "lang" "js") }} -
    -

    Prohibiting network access from the Internet.

    + {{ partial "code" (dict "code" $code "lang" "js") }}
    -
    -

    Compliance

    -

    Meet, and stay meeting, compliance standards.

    -
    -{{ $code := `new PolicyPack("acmecorp-compliance", { - policies: [{ - name: "required-storage-region", - description: "Data must be stored in the US.", - enforcementLevel: "mandatory", - validateResource: validateResourceOfType( - aws.s3.Bucket, (bucket, args, reportViolation) => { +

    Prohibiting network access from the Internet.

    +
    +
    +

    Compliance

    +

    Meet, and stay meeting, compliance standards.

    +
    + {{ $code := `new PolicyPack("acmecorp-compliance", { + policies: [{ + name: "required-storage-region", + description: "Data must be stored in the US.", + enforcementLevel: "mandatory", + validateResource: validateResourceOfType( + aws.s3.Bucket, (bucket, args, reportViolation) => { if (!bucket.region.startsWith("us-")) { - reportViolation("Non-US bucket detected"); + reportViolation("Non-US bucket detected"); } - }, - ), - }], -);` -}} + }, + ), + }], + );` + }} - {{ partial "code" (dict "code" $code "lang" "js") }} -
    -

    Disallowing storage outside of specific regions.

    + {{ partial "code" (dict "code" $code "lang" "js") }}
    +

    Disallowing storage outside of specific regions.

    -
    -
    -

    Cost Controls

    -

    Ensure cost conscious deployments.

    -
    -{{ $code := `new PolicyPack("acmecorp-cost", { - policies: [{ - name: "required-cost-tags", - description: "Cost tags are required.", - enforcementLevel: "mandatory", - validateResource: (args, reportViolation) => { - if (isTaggable(args.type) && +
    +
    +
    +

    Cost Controls

    +

    Ensure cost conscious deployments.

    +
    + {{ $code := `new PolicyPack("acmecorp-cost", { + policies: [{ + name: "required-cost-tags", + description: "Cost tags are required.", + enforcementLevel: "mandatory", + validateResource: (args, reportViolation) => { + if (isTaggable(args.type) && !args.resource["tags"]["Cost Center"]) { reportViolation("Resource missing tags"); - } - ), - }], -);` -}} + } + ), + }], + );` + }} - {{ partial "code" (dict "code" $code "lang" "js") }} -
    -

    Requiring specific cost allocation tags.

    -
    -
    -

    Continuous Delivery

    -

    Catch policy violations before they escape using CI/CD.

    - Policy as Code in CI/CD -

    A live dashboard of organizational violations in Pulumi Cloud.

    + {{ partial "code" (dict "code" $code "lang" "js") }}
    +

    Requiring specific cost allocation tags.

    -
    +
    +

    Continuous Delivery

    +

    Catch policy violations before they escape using CI/CD.

    + Policy as Code in CI/CD +

    A live dashboard of organizational violations in Pulumi Cloud.

    +
    +
    +
    -
    -
    -
    -
    -
    -

    - Pulumi supercharged our whole organization by letting us create reusable building blocks that developers can leverage to provision new resources and - enforce organizational policies for logging, permissions, resource tagging and security. This has empowered our developer teams to self-provision - resources and ship new capabilities faster without having to wait for the infrastructure team to deploy new resources on their behalf. -

    -
    -
    -

    Igor Shapiro

    -

    Principal Engineer

    -
    -
    - {{ partial "customer-logo.html" (dict "logo" "lemonade") }} -
    +
    +
    +
    +
    +
    +

    + Pulumi supercharged our whole organization by letting us create reusable building blocks that + developers can leverage to provision new resources and + enforce organizational policies for logging, permissions, resource tagging and security. This + has empowered our developer teams to self-provision + resources and ship new capabilities faster without having to wait for the infrastructure team to + deploy new resources on their behalf. +

    +
    +
    +

    Igor Shapiro

    +

    Principal Engineer

    -
    - Learn More +
    + {{ partial "customer-logo.html" (dict "logo" "lemonade") }}
    +
    +
    -
    -
    -

    - CrossGuard gives us the ability to prevent undesired and insecure resources from being deployed to any environment. It also allows us to block the deployment of certain resource SKUs that may incur unnecessary expense. -

    -
    -
    -

    Dennis Sauvé

    -

    DevOps Engineer

    -
    -
    - {{ partial "customer-logo.html" (dict "logo" "washington-trust") }} -
    +
    +
    +

    + CrossGuard gives us the ability to prevent undesired and insecure resources from being deployed + to any environment. It also allows us to block the deployment of certain resource SKUs that may + incur unnecessary expense. +

    +
    +
    +

    Dennis Sauvé

    +

    DevOps Engineer

    -
    - Learn More +
    + {{ partial "customer-logo.html" (dict "logo" "washington-trust") }}
    +
    +
    -
    -
    -

    - With Pulumi CrossGuard we can provide reusable infrastructure components to our application teams and ensure that their implementations adhere to - company standards. -

    -
    -
    -

    Fernando Carlietti

    -

    Lead DevOps Engineer

    -
    -
    - {{ partial "customer-logo.html" (dict "logo" "credijusto") }} -
    +
    +
    +

    + With Pulumi CrossGuard we can provide reusable infrastructure components to our application + teams and ensure that their implementations adhere to + company standards. +

    +
    +
    +

    Fernando Carlietti

    +

    Lead DevOps Engineer

    -
    - Learn More +
    + {{ partial "customer-logo.html" (dict "logo" "credijusto") }}
    +
    -
    +
    +
    -
    -
    -
    - -

    Getting Started with Policy as Code

    - +
    +
    +
    + +

    Getting Started with Policy as Code

    +
    -
    -{{ end }} +
    +
    +{{ end }} \ No newline at end of file diff --git a/layouts/page/home-b.html b/layouts/page/home-b.html index a2392299aaf1..a2ed6d6e3f29 100644 --- a/layouts/page/home-b.html +++ b/layouts/page/home-b.html @@ -1,382 +1,380 @@ {{ define "hero" }} -
    -
    -
    -
    -

    - {{ index (.Params.hero.title) 0 }} - {{ index (.Params.hero.title) 1 }} -

    - -

    {{ .Params.hero.description | markdownify }}

    - - +
    +
    +
    +
    +

    + {{ index + (.Params.hero.title) 0 }} + {{ index (.Params.hero.title) 1 }} +

    + +

    {{ .Params.hero.description | markdownify }}

    + + +
    - -
    -
    +
    +
    {{ end }} {{ define "main" }} - {{ $pageContext := . }} - - -
    -

    {{ .Params.customer_logos.title }}

    - - - -
    - - {{ range $logo := .Params.customer_logos.logos }} - -
    - {{ if $logo.link }} - - {{ partial "customer-logo.html" (dict "logo" $logo.name) }} - - {{ else }} - {{ partial "customer-logo.html" (dict "logo" $logo.name) }} - {{ end }} -
    -
    - {{ end }} -
    -
    -
    - - -
    -
    -
    -
    - -
    -
    -
    -

    {{ .Params.code_faster.title }}

    -

    {{ .Params.code_faster.description | markdownify }}

    - {{ range $item := .Params.code_faster.items }} -
    {{ $item.title }}
    -

    {{ $item.description | markdownify }}

    +{{ $pageContext := . }} + + +
    +

    {{ .Params.customer_logos.title }}

    + +
    + + +
    +
    +
    +
    + +
    +
    +
    +

    {{ .Params.code_faster.title }}

    +

    {{ .Params.code_faster.description | markdownify }}

    + {{ range $item := .Params.code_faster.items }} +
    {{ $item.title }}
    +

    {{ $item.description | markdownify }}

    + {{ end }}
    -
    -
    - - -
    - {{ partial "home/quote.html" (dict "quote" .Params.customer_quotes.panther) }} -
    - - -
    -
    -
    -
    - -
    -
    -
    -

    {{ .Params.secrets.title }}

    -

    {{ .Params.secrets.description | markdownify }}

    -
    - Learn more: - Pulumi ESC -
    -
    - -
    - {{ .Params.secrets.alt }} +
    +
    + + + Pulumi code being written in TypeScript showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in Python showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in GO showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in C# showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in Java showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in YAML showing autocomplete for creating a new S3 bucket + +
    -
    - - -
    - {{ partial "home/quote.html" (dict "quote" .Params.customer_quotes.starburst) }} -
    - - -
    -
    -
    -
    - -
    -
    -
    -

    {{ .Params.embed.title }}

    -
    {{ .Params.embed.description | markdownify }}
    -
    - Learn more: - Pulumi For Platform Teams -
    +
    +
    + + +
    + {{ partial "home/quote.html" (dict "quote" .Params.customer_quotes.panther) }} +
    + + +
    +
    +
    +
    + +
    +
    +
    +

    {{ .Params.secrets.title }}

    +

    {{ .Params.secrets.description | markdownify }}

    +
    + Learn more: + Pulumi ESC
    +
    -
    -
    - {{ .Params.embed.alt }} -
    -
    +
    + {{ .Params.secrets.alt }}
    -
    - - -
    - {{ partial "home/quote.html" (dict "quote" .Params.customer_quotes.snowflake) }} -
    - -
    -
    -
    -
    -

    {{ .Params.security.title }}

    -

    {{ .Params.security.description | markdownify }}

    -
    - Learn more: - Pulumi Insights -
    +
    +
    + + +
    + {{ partial "home/quote.html" (dict "quote" .Params.customer_quotes.starburst) }} +
    + + +
    +
    +
    +
    + +
    +
    +
    +

    {{ .Params.embed.title }}

    +
    {{ .Params.embed.description | markdownify }}
    +
    + Learn more: + Pulumi For Platform + Teams
    +
    -
    - +
    +
    + {{ .Params.embed.alt }}
    -
    +
    +
    + + +
    + {{ partial "home/quote.html" (dict "quote" .Params.customer_quotes.snowflake) }} +
    + +
    +
    +
    +
    +

    {{ .Params.security.title }}

    +

    {{ .Params.security.description | markdownify }}

    +
    + Learn more: + Pulumi Insights +
    +
    - -
    -
    -
    +
    + +
    - -
    -
    -
    -

    {{ .Params.ai.title }}

    -

    {{ .Params.ai.description | markdownify }}

    -
    - Try it out: - Pulumi AI -
    +
    +
    + + +
    +
    +
    +
    + +
    +
    +
    +

    {{ .Params.ai.title }}

    +

    {{ .Params.ai.description | markdownify }}

    +
    + Try it out: + Pulumi AI
    +
    -
    -
    - - - AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in TypeScript - - - - AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in Python - - - - AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in GO - - - - AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in C# - - - - AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in Java - - - - AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in YAML - - -
    +
    +
    + + + AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in TypeScript + + + + AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in Python + + + + AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in GO + + + + AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in C# + + + + AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in Java + + + + AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in YAML + +
    -
    - - -
    -
    -
    -

    Built by engineers for engineers. Open source.

    -
    - Join our community, - -

    and let’s build together.

    -
    +
    +
    + + +
    +
    +
    +

    Built by engineers for engineers. Open source.

    +
    + Join our community, + +

    and let’s build together.

    +
    -
    - - {{ range $tweet := .Params.get_started.tweets }} - -
    -
    -

    {{ $tweet.text }}

    -
    -
    - -
    -

    {{ $tweet.username }}

    -
    - Twitter -
    -
    +
    + + {{ range $tweet := .Params.get_started.tweets }} + +
    +
    +

    {{ $tweet.text }}

    +
    +
    +
    -
    - - {{ end }} - -
    - +
    +
    + {{ end }} +
    -
    - - -
    -
    -
    -
    -
    -

    Ready to try Pulumi?

    -
    -
    - Get Started -

    Follow the step-by-step guide

    -
    -
    - Download Open Source -

    Download our open source SDK

    + +
    +
    + + +
    +
    +
    +
    +
    +

    Ready to try Pulumi?

    +
    +
    + Get Started +

    Follow the step-by-step guide

    +
    +
    + Download Open + Source +

    Download our open source SDK

    +
    +
    -
    -{{ end }} +
    +
    +{{ end }} \ No newline at end of file diff --git a/layouts/page/leadership.html b/layouts/page/leadership.html index 395e75267c96..95963c1d18fb 100644 --- a/layouts/page/leadership.html +++ b/layouts/page/leadership.html @@ -1,57 +1,59 @@ {{ define "hero" }} - {{ partial "hero" (dict "title" .Params.title ) }} +{{ partial "hero" (dict "title" .Params.title ) }} {{ end }} {{ define "main" }} -
    - +
    + -
    -
    -

    Our Leaders

    -
      - {{ range (sort $.Site.Data.team.leadership "weight") }} -
    • -
      - {{ .name }} -
      -
      {{ .name }}
      -
      {{ .title }}
      -
      - -
      -
    • - {{ end }} -
    -
    -
    +
    +
    +

    Our Leaders

    +
      + {{ range (sort $.Site.Data.team.leadership "weight") }} +
    • +
      + {{ .name }} +
      +
      {{ .name }}
      +
      {{ .title }}
      +
      + +
      +
    • + {{ end }} +
    +
    +
    -
    -
    -

    Our Board of Directors

    -
      - {{ range (sort $.Site.Data.team.board "weight") }} -
    • -
      - {{ .name }} -
      -
      {{ .name }}
      -
      {{ .title }}
      -
      {{ .investor }}
      -
      - -
      -
    • - {{ end }} -
    -
    -
    -
    -{{ end }} +
    +
    +

    Our Board of Directors

    +
      + {{ range (sort $.Site.Data.team.board "weight") }} +
    • +
      + {{ .name }} +
      +
      {{ .name }}
      +
      {{ .title }}
      +
      {{ .investor }}
      +
      + +
      +
    • + {{ end }} +
    +
    +
    +
    +{{ end }} \ No newline at end of file diff --git a/layouts/page/microsoft-build.html b/layouts/page/microsoft-build.html index 0cb4e22982b9..ec43e0c17b65 100644 --- a/layouts/page/microsoft-build.html +++ b/layouts/page/microsoft-build.html @@ -1,133 +1,142 @@ {{ define "hero" }} -
    -
    - -
    -
    -

    - {{ .Params.display_title | markdownify }} -

    -
    -
    +
    +
    + +
    +
    +

    + {{ .Params.display_title | + markdownify }} +

    +
    +
    {{ end }} {{ define "main" }} -
    - -
    Meet us at Microsoft Build, Booth FP61
    -
    Join us to find out how Pulumi’s Infrastructure as Code reduces cloud complexity, accelerates development velocity and helps companies scale and innovate.
    -
    +
    + +
    Meet us at Microsoft Build, Booth FP61
    +
    Join us to find out how Pulumi’s Infrastructure as Code reduces cloud complexity, accelerates development + velocity and helps companies scale and innovate.
    +
    - -
    -
    -

    Workshops

    +
    +
    +

    Workshops

    -
    - {{ range .Params.workshops.items }} -
    -
    -
    {{ .title }}
    - - - {{ .date }} - -

    {{ .description }}

    - -
    +
    + {{ range .Params.workshops.items }} +
    +
    +
    {{ .title }}
    + + + {{ .date }} + +

    {{ .description }}

    + - {{ end }} +
    + {{ end }}
    -
    - -
    -
    -
    -
    -
    +
    +
    -
    - Pulumi UP -
    Virtual Conference | September 18, 2024
    - - Register for PulumiUP -
    - +
    +
    +
    +
    +
    -
    -
    -

    Pulumi Templates for Common Use Cases

    +
    + Pulumi UP +
    Virtual Conference | September 18, 2024
    + -
    -
    - {{ range $item := .Params.templates.items }} -
    -
    - -
    -
    {{ $item.heading }}
    -

    {{ $item.description }}

    - -
    + Register for PulumiUP +
    +
    + +
    +
    +

    Pulumi Templates for Common Use Cases

    +

    + Pulumi templates are the fastest way to deploy infrastructure. Templates come with predefined infrastructure + as code so you can get started instantly. Find some of + our templates below, and Happy Templating! +

    +
    +
    +
    + {{ range $item := .Params.templates.items }} +
    +
    + +
    +
    {{ $item.heading }}
    +

    {{ $item.description }}

    +
    - {{ end }} +
    + {{ end }}
    -
    +
    + -
    -
    -

    Build Your Knowledge on Best Practices

    -

    There are new trends in the rapidly evolving cloud native ecosystem. Be in the know, select a webinar below.

    -
    -
    -
    - {{ range $item := .Params.knowledge.items }} - - {{ end }} -
    +
    +
    +

    Build Your Knowledge on Best Practices

    +

    There are new trends in the rapidly evolving cloud native ecosystem. Be in the know, select a webinar below. +

    +
    +
    +
    + {{ range $item := .Params.knowledge.items }} + + {{ end }}
    -
    +
    +
    - {{ partial "virtual-communities" . }} +{{ partial "virtual-communities" . }} - {{ partial "help-links" . }} -{{ end }} +{{ partial "help-links" . }} +{{ end }} \ No newline at end of file diff --git a/layouts/page/pricing.html b/layouts/page/pricing.html index 1a6ec94e9af0..a1d97e5ab644 100644 --- a/layouts/page/pricing.html +++ b/layouts/page/pricing.html @@ -1,278 +1,292 @@ {{ define "main" }} -

    Plans for teams of all sizes

    -
    -

    - Start for free. Stay free forever for open source and individuals, or scale with advanced editions for your team. -

    -
    +

    Plans for teams of all sizes

    +
    +

    + Start for free. Stay free forever for open source and individuals, or scale with advanced editions for your + team. +

    +
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    +
    +
    -
    -
    -
    +
    +
    -
    -
    -
    -
    -
    -
    -

    Pulumi for startups

    -
    -
    -

    - Are you a scaling startup? - Apply now to receive $10,000 - in free credits. -

    -
    +
    +
    +
    +
    +

    Pulumi for startups

    +
    +
    +

    + Are you a scaling startup? + Apply now to receive $10,000 + in free credits. +

    -
    +
    +
    -
    -

    Compare Editions

    - {{ range .Params.comparison_table.sections }} -

    {{ .header }}

    -
    + -
    -

    Frequently asked questions

    +
    +

    Frequently asked questions

    - - - + + + - + - {{ range $index, $category := .Params.faq }} -

    {{ $category.category }}

    - {{ $listClass := "list-none p-0 mx-5 xl:ml-12" }} - {{ if not (eq $index 0) }} - {{ $listClass = "list-none p-0 mx-5 xl:ml-12 lg:hidden" }} - {{ end }} -
      - {{ range $question := $category.items }} -
    • - {{ partial "accordian-header" (dict "text" $question.question "large_header" true) }} + {{ range $index, $category := .Params.faq }} +

      {{ $category.category }}

      + {{ $listClass := "list-none p-0 mx-5 xl:ml-12" }} + {{ if not (eq $index 0) }} + {{ $listClass = "list-none p-0 mx-5 xl:ml-12 lg:hidden" }} + {{ end }} +
        + {{ range $question := $category.items }} +
      • + {{ partial "accordian-header" (dict "text" $question.question "large_header" true) }} -
        -

        {{ $question.answer | markdownify }}

        -
        -
      • - {{ end }} -
      +
      +

      {{ $question.answer | markdownify }}

      +
      +
    • {{ end }} -
    + + {{ end }} +
    -
    -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    -
    -
    - -
    -
    -
    -
    -
    -

    Ready to try Pulumi Cloud?

    -
    -
    - Start trial -

    14-day trial. No credit card needed.

    -
    -
    - Talk to a human -

    Contact us for a demo & quote.

    -
    +
    +
    +
    +
    +

    Ready to try Pulumi Cloud?

    +
    +
    + Start trial +

    14-day trial. No credit card needed.

    +
    +
    + Talk to a human +

    Contact us for a demo & quote.

    -
    -{{ end }} +
    +
    +{{ end }} \ No newline at end of file diff --git a/layouts/page/product-packages.html b/layouts/page/product-packages.html index 062da7c3d22b..ee19b54dac9c 100644 --- a/layouts/page/product-packages.html +++ b/layouts/page/product-packages.html @@ -1,160 +1,160 @@ {{ define "hero" }} - {{ partial "hero" (dict "title" .Params.title ) }} +{{ partial "hero" (dict "title" .Params.title ) }} {{ end }} {{ define "main" }} -
    -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    +
    -
    -

    {{ .Params.overview.title }}

    -
    -
    -

    {{ .Params.overview.description }}

    -
    +
    +

    {{ .Params.overview.title }}

    +
    +
    +

    {{ .Params.overview.description }}

    -
    +
    +
    -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    -
    -

    {{ .Params.details.title }}

    -

    {{ .Params.details.providers.title }}

    -
    -
    -
    -

    {{ .Params.details.providers.description }}

    -
    -
    -
    - - {{ range $item := .Params.details.providers.ide }} - - {{ partial "code" (dict "lang" $item.language "code" $item.code "mode" "light") }} - - {{ end }} - +
    +

    {{ .Params.details.title }}

    +

    {{ .Params.details.providers.title }}

    +
    +
    +
    +

    {{ .Params.details.providers.description }}

    +
    + + {{ range $item := .Params.details.providers.ide }} + + {{ partial "code" (dict "lang" $item.language "code" $item.code "mode" "light") }} + + {{ end }} + +
    -
    +
    +
    -
    -
    -

    {{ .Params.details.components.title }}

    +
    +
    +

    {{ .Params.details.components.title }}

    -
    -
    -
    -

    {{ .Params.details.components.description }}

    -
    -
    -
    - - {{ range $item := .Params.details.components.ide }} - - {{ partial "code" (dict "lang" $item.language "code" $item.code "mode" "light") }} - - {{ end }} - +
    +
    +
    +

    {{ .Params.details.components.description }}

    +
    + + {{ range $item := .Params.details.components.ide }} + + {{ partial "code" (dict "lang" $item.language "code" $item.code "mode" "light") }} + + {{ end }} + +
    -
    +
    +
    -
    -

    {{ .Params.benefits.title }}

    -
    -
    -
    -
    -
    -
    +
    +

    {{ .Params.benefits.title }}

    +
    +
    +
    +
    +
    -
    - {{ range $item := .Params.benefits.items }} -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} -
    -
    -
    {{ $item.title }}
    -
    -
    -

    {{ $item.description }}

    -
    -
    +
    +
    + {{ range $item := .Params.benefits.items }} +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }}
    - {{ end }} +
    +
    {{ $item.title }}
    +
    +
    +

    {{ $item.description }}

    +
    +
    + {{ end }}
    -
    - -
    -
    -

    {{ .Params.case_studies.title }}

    -
    - {{ range $item := .Params.case_studies.items }} -
    -
    -

    {{ $item.quote }}

    -
    -
    -

    {{ $item.name }}

    -

    {{ $item.name_title }}

    -
    -
    - {{ partial "customer-logo.html" (dict "logo" $item.company) }} -
    -
    +
    +
    - +
    +
    +

    {{ .Params.case_studies.title }}

    +
    + {{ range $item := .Params.case_studies.items }} +
    +
    +

    {{ $item.quote }}

    +
    +
    +

    {{ $item.name }}

    +

    {{ $item.name_title }}

    +
    + {{ partial "customer-logo.html" (dict "logo" $item.company) }} +
    +
    + + - {{ end }} +
    + {{ end }}
    -
    +
    +
    -
    -
    -

    {{ .Params.get_started.title }}

    +
    +
    +

    {{ .Params.get_started.title }}

    -
    -
    -
    -

    {{ .Params.get_started.browse.title }}

    -

    {{ .Params.get_started.browse.description }}

    - {{ .Params.get_started.browse.cta_text }} -
    +
    +
    +
    +

    {{ .Params.get_started.browse.title }}

    +

    {{ .Params.get_started.browse.description }}

    + {{ .Params.get_started.browse.cta_text }}
    +
    -
    -
    -

    {{ .Params.get_started.publish.title }}

    -

    {{ .Params.get_started.publish.description }}

    - {{ .Params.get_started.publish.cta_text }} -
    +
    +
    +

    {{ .Params.get_started.publish.title }}

    +

    {{ .Params.get_started.publish.description }}

    + {{ + .Params.get_started.publish.cta_text }}
    -
    -{{ end }} +
    +
    +{{ end }} \ No newline at end of file diff --git a/layouts/page/pulumi-up-2022.html b/layouts/page/pulumi-up-2022.html index e15c20dd324f..12c2d1aeec85 100644 --- a/layouts/page/pulumi-up-2022.html +++ b/layouts/page/pulumi-up-2022.html @@ -1,277 +1,287 @@ {{ define "main" }} - {{ $pageContext := . }} +{{ $pageContext := . }} -
    -
    -
    -

    Pulumi

    -
    The Cloud Awakens
    -

    Up

    -
    +
    +
    +
    +

    Pulumi

    +
    The Cloud Awakens
    +

    Up

    +
    -
    -
    -
    -

    PulumiUP

    -

    The Cloud Awakens

    -
    - -

    - Frustration brought on by vast complexity has engulfed the cloud community. With hundreds of cloud providers, thousands of services, and almost unlimited ways to - interact with those services, Cloud Engineers are faced with an almost impossible task. -

    - -

    - While Tech Twitter endlessly debates the correct approach to ease complexity, Pulumi has secretly dispatched a platypus, the guardian of simplicity and productivity - in the cloud, to settle the debate.... -

    +
    +
    +
    +

    PulumiUP

    +

    The Cloud Awakens

    -
    -
    -
    -
    -

    MAY 4 - 5, 2022 | ONLINE

    -
    +

    + Frustration brought on by vast complexity has engulfed the cloud community. With hundreds of cloud + providers, thousands of services, and almost unlimited ways to + interact with those services, Cloud Engineers are faced with an almost impossible task. +

    + +

    + While Tech Twitter endlessly debates the correct approach to ease complexity, Pulumi has secretly dispatched + a platypus, the guardian of simplicity and productivity + in the cloud, to settle the debate.... +

    +
    +
    + +
    +
    +
    +

    MAY 4 - 5, 2022 | ONLINE

    - -
    -

    May the fourth be with the cloud community.

    - -

    PulumiUP is a free, virtual conference open to all interested in cloud engineering, cloud infrastructure, software development, modern applications, or Pulumi.

    - -

    - Whether you're a seasoned cloud engineer or just curious to learn about cloud engineering, at PulumiUP you can hear industry leaders and attend guest sessions, - demos, and panel sessions. -

    +
    + +
    +

    May the fourth be with the cloud community.

    + +

    PulumiUP is a free, virtual conference open to all interested in cloud engineering, cloud infrastructure, + software development, modern applications, or Pulumi.

    + +

    + Whether you're a seasoned cloud engineer or just curious to learn about cloud engineering, at PulumiUP you + can hear industry leaders and attend guest sessions, + demos, and panel sessions. +

    +
    + +
    + Watch now +
    + +
    +
    +
    + Pulumi + + +
    +
    +
    -
    - Watch now -
    +
    +
    +

    Innovation & Future-Forward Thoughts on Cloud

    -
    -
    -
    - Pulumi - - -
    -
    -
    -
    - -
    -
    -

    Innovation & Future-Forward Thoughts on Cloud

    - -
    - {{ $registrationData := .Params.registration.main }} - {{ $people := .Site.Data.team.team }} - {{ range .Params.sessions }} -
    -
    -
    -
    -
    -
    - {{ range $presenter := .presenters }} - {{ $presenterData := index $people $presenter }} -
    - {{ $presenterData.name }} -
    - {{ $presenterData.name }} -
    -
    - {{ end }} +
    + {{ $registrationData := .Params.registration.main }} + {{ $people := .Site.Data.team.team }} + {{ range .Params.sessions }} +
    +
    +
    +
    +
    +
    + {{ range $presenter := .presenters }} + {{ $presenterData := index $people $presenter }} +
    + {{ $presenterData.name }} +
    + {{ $presenterData.name }}
    -
    - -
    -
    - {{ .title }} -
    -

    - {{ .description }} -

    -
    - Watch now -
    + {{ end }}
    -
    - {{ end }} -
    -
    -
    - -
    -

    Workshops

    -
    - {{ range .Params.workshops }} -
    -
    -

    {{ .title }}

    -

    {{ .description }}

    -
    - - Register Now → - +
    +
    + {{ .title }} +
    +

    + {{ .description }} +

    +
    + Watch now +
    +
    {{ end }}
    -
    - -
    -

    Why Attend

    -

    Get ready to be inspired, challenged, and transformed. Learn from experts and success stories about early adopters.

    - -
    -
    - {{ partial "color-icon.html" (dict "icon" "lightning" "icon_color" "yellow") }} -

    - Learn from cloud engineering experts about how they manage and solve frustrations with handling cloud complexity all the way from cloud native applications to - structuring engineering orgs to be productive with the cloud. -

    -
    - -
    - {{ partial "color-icon.html" (dict "icon" "lock" "icon_color" "purple") }} -

    - Unlock the power of the cloud with thought-provoking presentations that are designed to help you transform your organization, your business, and yourself. - Access open source code on Github and get involved with the community. -

    -
    - -
    - {{ partial "color-icon.html" (dict "icon" "rocketship" "icon_color" "salmon") }} -

    - You will learn how top-performing cloud engineering teams and organizations are leveraging the cloud to drive remarkable success and how to implement their - techniques within your own organization or team. -

    +
    +
    + +
    +

    Workshops

    + +
    + {{ range .Params.workshops }} +
    +
    +

    {{ .title }}

    +

    {{ .description }}

    +
    + {{ end }} +
    +
    + +
    +

    Why Attend

    +

    Get ready to be inspired, challenged, and transformed. Learn from experts and success stories about early + adopters.

    + +
    +
    + {{ partial "color-icon.html" (dict "icon" "lightning" "icon_color" "yellow") }} +

    + Learn from cloud engineering experts about how they manage and solve frustrations with handling cloud + complexity all the way from cloud native applications to + structuring engineering orgs to be productive with the cloud. +

    +
    -
    - Watch now +
    + {{ partial "color-icon.html" (dict "icon" "lock" "icon_color" "purple") }} +

    + Unlock the power of the cloud with thought-provoking presentations that are designed to help you + transform your organization, your business, and yourself. + Access open source code on Github and get involved with the community. +

    -
    -
    -

    Who Should Attend

    -

    Business leaders, engineering managers, developers, and anyone who is interested in learning more about the cloud and cloud engineering.

    - -
      -
    • Infrastructure and platform engineers
    • -
    • Software engineers and developers
    • -
    • Solutions architects
    • -
    • Technical leaders (CIOs, CTOs, VPs, Directors)
    • -
    • Everyone else interested in cloud engineering
    • -
    -
    +
    + {{ partial "color-icon.html" (dict "icon" "rocketship" "icon_color" "salmon") }} +

    + You will learn how top-performing cloud engineering teams and organizations are leveraging the cloud to + drive remarkable success and how to implement their + techniques within your own organization or team. +

    -
    - -
    -
    - -
    {{ .Params.customer_logos.title }}
    -
    - {{ range $logo := .Params.customer_logos.logos }} -
    - {{ $imgClass := "w-full" }} - {{ if eq $logo "aws-logo.svg" }} - {{ $imgClass = "w-2/3 mx-auto" }} - {{ end }} - - - -
    - {{ end }} -
    +
    + +
    + Watch now +
    + +
    +
    +

    Who Should Attend

    +

    Business leaders, engineering managers, developers, and anyone who is interested in learning more about + the cloud and cloud engineering.

    + +
      +
    • Infrastructure and platform engineers
    • +
    • Software engineers and developers
    • +
    • Solutions architects
    • +
    • Technical leaders (CIOs, CTOs, VPs, Directors)
    • +
    • Everyone else interested in cloud engineering
    • +
    -
    - -
    -

    Schedule At A Glance

    -

    Time not work for you? Register and we'll share the on-demand version when its available.

    - - {{ range .Params.schedule_overview }} -
    -
    -

    {{ .day }}

    -

    {{ .time }}

    -

    -
    +
    +
    + +
    +
    + +
    {{ .Params.customer_logos.title }}
    +
    + {{ range $logo := .Params.customer_logos.logos }} +
    + {{ $imgClass := "w-full" }} + {{ if eq $logo "aws-logo.svg" }} + {{ $imgClass = "w-2/3 mx-auto" }} + {{ end }} -
    -

    {{ .title }}

    -

    - {{ .description | markdownify }} -

    -
    -
    - {{ end }} -
    -
    -
    -

    About Pulumi

    + +
    + {{ end }} +
    + +
    + +
    +

    Schedule At A Glance

    +

    Time not work for you? Register and we'll share the on-demand version when its available.

    + + {{ range .Params.schedule_overview }} +
    +
    +

    {{ .day }}

    +

    {{ .time }}

    +

    +
    +
    +

    {{ .title }}

    - Pulumi's cloud engineering platform brings infrastructure, developer, and security teams together through a unified software engineering process that tames cloud - complexity and accelerates innovation. Using the Pulumi platform, teams can build, deploy, and manage modern cloud applications faster and with more confidence, - using any language, any architecture and any cloud. Pulumi lets teams build Universal Infrastructure as Code using popular programming languages (Python, - JavaScript, TypeScript, Go, .NET/C#, Java) and markup languages (YAML, JSON, CUE). It enables deploying infrastructure and applications together through a unified - delivery process. Finally, teams can manage cloud applications with Policy as Code, better visibility, and controls. + {{ .description | markdownify }}

    - -
    - Watch now -
    -
    - -
    -
    -
    -
    -

    Connect with Peers on GitHub

    -

    Pulumi open source code is available to all. Explore what we are working on and interact with the community.

    - github.com/pulumi -
    +
    + {{ end }} +
    + +
    +
    +

    About Pulumi

    + +

    + Pulumi's cloud engineering platform brings infrastructure, developer, and security teams together through a + unified software engineering process that tames cloud + complexity and accelerates innovation. Using the Pulumi platform, teams can build, deploy, and manage modern + cloud applications faster and with more confidence, + using any language, any architecture and any cloud. Pulumi lets teams build Universal Infrastructure as Code + using popular programming languages (Python, + JavaScript, TypeScript, Go, .NET/C#, Java) and markup languages (YAML, JSON, CUE). It enables deploying + infrastructure and applications together through a unified + delivery process. Finally, teams can manage cloud applications with Policy as Code, better visibility, and + controls. +

    + +
    + Watch now +
    +
    +
    + +
    +
    +
    +
    +

    Connect with Peers on GitHub

    +

    Pulumi open source code is available to all. Explore what we are working on and interact + with the community.

    + github.com/pulumi
    +
    -
    -
    -

    Live Q&A with Pulumi DAs

    -

    Ask questions when then conference is happening, get answers, and join discussions.

    - #PulumiUP -
    +
    +
    +

    Live Q&A with Pulumi DAs

    +

    Ask questions when then conference is happening, get answers, and join discussions.

    + #PulumiUP
    -
    -{{ end }} + + +{{ end }} \ No newline at end of file diff --git a/layouts/page/pulumi-up.html b/layouts/page/pulumi-up.html index 24b46776c007..6dcae8e0658a 100644 --- a/layouts/page/pulumi-up.html +++ b/layouts/page/pulumi-up.html @@ -1,107 +1,108 @@ {{ define "main" }} -
    -
    - -
    -
    -

    - Pulumi - UP -

    -
    - +
    +
    + +
    +
    +

    + Pulumi + UP +

    +
    +
    -
    -
    -
    -
    -

    Watch The Announcements

    -
    - -
    +
    +
    +
    +
    +
    +

    Watch The Announcements

    +
    +
    -
    -

    About

    -

    {{ .Params.event_description | markdownify }}

    +
    +
    +

    About

    +

    {{ .Params.event_description | markdownify }}

    -

    Speakers

    -
    - {{ range $id := .Params.speakers }} - {{ $authorPage := $.Site.GetPage (printf "/authors/%s" ($id | urlize)) }} - {{ $authorData := index $.Site.Data.team.team $id }} +

    Speakers

    +
    + {{ range $id := .Params.speakers }} + {{ $authorPage := $.Site.GetPage (printf "/authors/%s" ($id | urlize)) }} + {{ $authorData := index $.Site.Data.team.team $id }} -
    -
    - {{ $authorData.name }} -
    -
    -
    {{ $authorData.name }}
    -

    {{ $authorData.title }}, {{ $authorData.company }}

    -
    -
    - {{ end }} +
    +
    + {{ $authorData.name }} +
    +
    +
    {{ $authorData.name }}
    +

    {{ $authorData.title }}, {{ $authorData.company }}

    +
    + {{ end }}
    -
    -
    +
    +
    +
    -
    -

    Supported by our friends at

    -
      -
    • - Amazon Web Services -
    • +
      +

      Supported by our friends at

      +
        +
      • + Amazon Web Services +
      • -
      • - Fenergo -
      • +
      • + Fenergo +
      • -
      • - Github -
      • +
      • + Github +
      • -
      • - Honeycomb -
      • +
      • + Honeycomb +
      • -
      • - JFrog -
      • +
      • + JFrog +
      • -
      • - Snowflake -
      • -
      -
      +
    • + Snowflake +
    • +
    +
    -
    -
    -
    - -

    Get started with Cloud Engineering

    -

    - Pulumi is a cloud engineering platform that brings infrastructure, application development, and compliance teams together through a unified software engineering - process to deliver and manage modern cloud applications. -

    - +
    +
    +
    + +

    Get started with Cloud Engineering

    +

    + Pulumi is a cloud engineering platform that brings infrastructure, application development, and + compliance teams together through a unified software engineering + process to deliver and manage modern cloud applications. +

    +
    -
    +
    +
    - -{{ end }} + +{{ end }} \ No newline at end of file diff --git a/layouts/page/reinvent.html b/layouts/page/reinvent.html index 993cdbebfcea..f56fef4645c2 100644 --- a/layouts/page/reinvent.html +++ b/layouts/page/reinvent.html @@ -1,21 +1,23 @@ {{ define "hero" }} -
    -
    - - -
    + {{ end }} {{ define "main" }} -
    -

    Plan your re:Invent with Pulumi

    -
    -
    -
    -
    - Code -
    -
    -
    Book Your Tailored AWS Demo
    -
    -
    -

    Skip the line at booth 1127 for a one-on-one Pulumi demo tailored to your AWS use case. Get your questions answered, - explore best practices, and see how Pulumi can accelerate your cloud journey with a solution tailored to you.

    -
    - +
    +

    Plan your re:Invent with Pulumi

    +
    +
    +
    +
    + Code +
    +
    +
    Book Your Tailored AWS Demo
    +
    +
    +

    Skip the line at booth 1127 for a one-on-one Pulumi demo tailored to your AWS use case. Get your + questions answered, + explore best practices, and see how Pulumi can accelerate your cloud journey with a solution + tailored to you.

    +
    +
    -
    -
    -
    - Drink -
    -
    -
    1923 Happy Hour
    -
    -
    -

    Don't miss one of the most anticipated nights of re:Invent. Join Pulumi, Buildkite, Honeycomb, and Oso at 1923 +

    +
    +
    +
    + Drink +
    +
    +
    1923 Happy Hour
    +
    +
    +

    Don't miss one of the most anticipated nights of re:Invent. Join Pulumi, Buildkite, Honeycomb, + and Oso at 1923 Prohibition Bar for craft cocktails, community, and conversations that go late into the night. -

    -

    Date: December 3, at 7:00 - 10:00 pm PT

    -

    Location: 1923 Bar - The Venetian

    -
    -
    - RSVP now -
    +

    +

    Date: December 3, at 7:00 - 10:00 pm PT

    +

    Location: 1923 Bar - The Venetian

    +
    +
    -
    -
    -
    - Restaurant -
    -
    -
    Restaurant Reception with Datadog
    -
    -
    -

    Join Pulumi and Datadog for an exclusive re:Invent evening at one of Las Vegas's top restaurants. Enjoy exceptional +

    +
    +
    +
    + Restaurant +
    +
    +
    Restaurant Reception with Datadog
    +
    +
    +

    Join Pulumi and Datadog for an exclusive re:Invent evening at one of Las Vegas's top restaurants. + Enjoy exceptional food, drinks, and conversations in a private setting. -

    -

    Date: December 1, 6:00 - 8:00 pm PT

    -

    Location: Gjelina - The Venetian

    +

    +

    Date: December 1, 6:00 - 8:00 pm PT

    +

    Location: Gjelina - The Venetian

    -
    - +
    +
    -
    -
    -
    - Workshop -
    -
    -

    ONLINE WORKSHOP

    -
    Day 2 Autonomous Infrastructure Management
    -
    -
    -

    Learn how to simplify and automate maintenance of growing infrastructure inventory with monitoring, remediation, and +

    +
    +
    +
    + Workshop +
    +
    +

    ONLINE WORKSHOP

    +
    Day 2 Autonomous Infrastructure Management
    +
    +
    +

    Learn how to simplify and automate maintenance of growing infrastructure inventory with + monitoring, remediation, and optimization workflows. -

    -

    Date: December 10, 9:00 - 10:00 pm PT

    -
    - +

    +

    Date: December 10, 9:00 - 10:00 pm PT

    +
    +
    -
    +
    +
    -
    -
    -
    -

    Deploy AWS Infrastructure at the Speed of AI

    -

    Discover why AWS + Pulumi are better together

    -

    Deploy faster, secure better, and manage everything with confidence using real programming languages.

    -
    - The AWS Official Partnership +
    +
    +
    +

    Deploy AWS Infrastructure at the Speed of AI

    +

    Discover why AWS + Pulumi are better together

    +

    Deploy faster, secure better, and manage everything with confidence + using real programming languages.

    -
    + The AWS Official Partnership +
    +
    -
    -

    Pulumi + AWS at booth 1127

    -

    Discover how Pulumi empowers teams to build, secure, and scale modern cloud applications on AWS.

    -
    -
    -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" "coding" "icon_color" "orange") }} -
    -
    -
    -
    Product Demos
    -
    -
    -

    Drop in for live sessions every hour: 15-minute demos. Learn how to turn AWS best practices into reusable components, - automate governance, and accelerate delivery. Learn how teams ship AWS services 5x faster while reducing infrastructure - costs by up to 70%

    +
    +

    Pulumi + AWS at booth 1127

    +

    Discover how Pulumi empowers teams to build, secure, and scale modern cloud applications on AWS.

    +
    +
    +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" "coding" "icon_color" "orange") }}
    +
    +
    Product Demos
    +
    +
    +

    Drop in for live sessions every hour: 15-minute demos. Learn how to turn AWS best practices into + reusable components, + automate governance, and accelerate delivery. Learn how teams ship AWS services 5x faster while + reducing infrastructure + costs by up to 70%

    +
    -
    -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" "neo" "icon_color" "blue") }} -
    -
    -
    -
    Meet Neo
    +
    +
    +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" "neo" "icon_color" "blue") }}
    -
    -

    Pulumi Neo is the first AI agent engineered to orchestrate, secure, and optimize complex cloud automation at enterprise - scale. It maps dependencies, applies guardrails, and streamlines infrastructure delivery across large, regulated +

    +
    +
    Meet Neo
    +
    +
    +

    Pulumi Neo is the first AI agent engineered to orchestrate, secure, and optimize complex cloud + automation at enterprise + scale. It maps dependencies, applies guardrails, and streamlines infrastructure delivery across + large, regulated environments.

    -
    -
    -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" "interests" "icon_color" "purple") }} -
    -
    -
    -
    Limited-edition Swag
    +
    +
    +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" "interests" "icon_color" "purple") }}
    -
    -

    Pick up exclusive Pulumi merch as you explore how Pulumi and Neo use AI to streamline infrastructure and security +

    +
    +
    Limited-edition Swag
    +
    +
    +

    Pick up exclusive Pulumi merch as you explore how Pulumi and Neo use AI to streamline + infrastructure and security lifecycle management across the cloud.

    -
    +
    -
    +
    - -
    -
    -
    -

    AI-Driven Infrastructure Automation on AWS

    -

    Discover how agentic AI automates AWS operations within your governance guardrails. Real examples of config +

    +
    +
    +

    AI-Driven Infrastructure Automation on AWS

    +

    Discover how agentic AI automates AWS operations within your governance + guardrails. Real examples of config remediation, Lambda updates, and security response.

    -
    - Request a Demo
    -
    + Request a Demo +
    +

    Meet the Pulumi Experts

    -

    At booth 1127, meet the team shaping Pulumi's future. Product leaders, engineers, and enterprise experts will be there - to answer your questions and share insights tailored to your cloud and platform engineering journey.

    - +

    At booth 1127, meet the team shaping Pulumi's future. Product leaders, engineers, and enterprise experts will be + there + to answer your questions and share insights tailored to your cloud and platform engineering journey.

    +
    -
    +
    - ENGINEERING + ENGINEERING

    Meagan Cojocar

    Vice President and GM, IaC

    - +
    -

    Meet the leader guiding Pulumi engineering and roadmap, ensuring customer success shapes how Infrastructure as Code and - Pulumi evolves.

    +

    Meet the leader guiding Pulumi engineering and + roadmap, ensuring customer success shapes how Infrastructure as Code and + Pulumi evolves.

    - +
    - -
    -
    - ENGINEERING -
    -

    Komal Ali

    -

    Director of Engineering, IaC and AI

    -
    - + +
    +
    + ENGINEERING +
    +

    Komal Ali

    +

    Director of Engineering, IaC and AI

    +
    + -
    -

    Meet the engineering leader guiding IaC Cloud, Deployments, IDP, and ESC, shaping how Pulumi brings platform engineering - together in one unified experience.

    -
    - - -
    -
    -
    -
    +
    +

    Meet the engineering leader guiding IaC Cloud, + Deployments, IDP, and ESC, shaping how Pulumi brings platform engineering + together in one unified experience.

    +
    + + +
    +
    +
    +
    -
    +
    - ENTERPRISE SERVICES + ENTERPRISE + SERVICES

    Craig Dillon

    Head of Professional Services

    - +
    -

    Meet Craig to learn how Pulumi’s Professional Services team accelerates enterprise transformation. - His team helps organizations migrate from legacy tools, bootstrap internal developer platforms, and set the right - foundation for long-term success.

    - - +

    Meet Craig to learn how Pulumi’s Professional + Services team accelerates enterprise transformation. + His team helps organizations migrate from legacy tools, bootstrap internal developer platforms, + and set the right + foundation for long-term success.

    + +
    - +
    @@ -284,20 +327,25 @@

    Craig Dillon

    -
    +
    - SOLUTIONS + SOLUTIONS

    Mitch Gerdisch

    Principal Solutions Architect

    - +
    -

    Meet the expert who has guided enterprise customers to success, with deep skills in security, cloud computing, - orchestration, and API integrations.

    +

    Meet the expert who has guided enterprise + customers to success, with deep skills in security, cloud computing, + orchestration, and API integrations.

    - +
    @@ -305,20 +353,25 @@

    Mitch Gerdisch

    -
    +
    - SOLUTIONS + SOLUTIONS

    James Connell

    Senior Solutions Architect

    - +
    -

    Meet the architect specializing in application modernization and cloud migration, guiding enterprises to streamline - DevOps and scale with modern practices.

    +

    Meet the architect specializing in application + modernization and cloud migration, guiding enterprises to streamline + DevOps and scale with modern practices.

    - +
    @@ -327,19 +380,21 @@

    James Connell

    -
    +
    -

    Interested in learning more about Neo + Amazon Bedrock AgentCore?

    +

    Interested in learning more about Neo + Amazon Bedrock + AgentCore?

    Watch it in action guided by our expert engineering team

    Request a Demo
    -{{ end }} +{{ end }} \ No newline at end of file diff --git a/layouts/page/solutions-use-case.html b/layouts/page/solutions-use-case.html index e1ffd9faa7cb..f8a032b3bcaf 100644 --- a/layouts/page/solutions-use-case.html +++ b/layouts/page/solutions-use-case.html @@ -1,113 +1,114 @@ {{ define "hero" }} - {{ partial "hero.html" (dict "title" .Params.title) }} +{{ partial "hero.html" (dict "title" .Params.title) }} {{ end }} {{ define "main" }} - -
    -
    -
    -

    {{ .Params.overview.title }}

    -

    {{ .Params.overview.description | markdownify }}

    -
    -
    - Reference Architecture -
    + +
    +
    +
    +

    {{ .Params.overview.title }}

    +

    {{ .Params.overview.description | markdownify }}

    -
    +
    + Reference Architecture +
    +
    +
    - -
    -

    {{ .Params.benefits.title }}

    + +
    +

    {{ .Params.benefits.title }}

    -

    {{ .Params.benefits.benefits.title }}

    +

    {{ .Params.benefits.benefits.title }}

    -
    - {{ range $benefit := .Params.benefits.benefits.items }} -
    -
    - {{ partial "color-icon.html" (dict "icon" $benefit.icon "icon_color" $benefit.icon_color) }} -
    {{ $benefit.title }}
    -

    {{ $benefit.description | markdownify }}

    -
    -
    - {{ end }} +
    + {{ range $benefit := .Params.benefits.benefits.items }} +
    +
    + {{ partial "color-icon.html" (dict "icon" $benefit.icon "icon_color" $benefit.icon_color) }} +
    {{ $benefit.title }}
    +

    {{ $benefit.description | markdownify }}

    +
    + {{ end }} +
    -

    {{ .Params.benefits.help.title }}

    +

    {{ .Params.benefits.help.title }}

    -
    - {{ $rowWidth := "w-1/2" }} - {{ if eq (len .Params.benefits.help.items) 3 }} - {{ $rowWidth = "w-1/3" }} - {{ end }} - {{ range $benefit := .Params.benefits.help.items }} -
    -
    - {{ partial "color-icon.html" (dict "icon" $benefit.icon "icon_color" "salmon") }} -
    {{ $benefit.title }}
    -

    {{ $benefit.description | markdownify }}

    -
    -
    - {{ end }} +
    + {{ $rowWidth := "w-1/2" }} + {{ if eq (len .Params.benefits.help.items) 3 }} + {{ $rowWidth = "w-1/3" }} + {{ end }} + {{ range $benefit := .Params.benefits.help.items }} +
    +
    + {{ partial "color-icon.html" (dict "icon" $benefit.icon "icon_color" "salmon") }} +
    {{ $benefit.title }}
    +

    {{ $benefit.description | markdownify }}

    +
    -
    + {{ end }} +
    + - -
    -

    {{ .Params.diagrams.title }}

    -

    {{ .Params.diagrams.description | markdownify }}

    + +
    +

    {{ .Params.diagrams.title }}

    +

    {{ .Params.diagrams.description | markdownify }}

    - {{ range $diagram := .Params.diagrams.items }} -
    -
    - -
    + {{ range $diagram := .Params.diagrams.items }} +
    +
    + +
    -
    -

    {{ $diagram.title }}

    -

    {{ $diagram.content | markdownify }}

    -
    -
    - {{ end }} -
    +
    +

    {{ $diagram.title }}

    +

    {{ $diagram.content | markdownify }}

    +
    +
    + {{ end }} + - -
    - {{ $pageContext := . }} + +
    + {{ $pageContext := . }} - -
    {{ .Params.customer_logos.title }}
    -
    - {{ range $logo := .Params.customer_logos.logos }} - - {{ end }} + +
    {{ .Params.customer_logos.title }}
    +
    + {{ range $logo := .Params.customer_logos.logos }} + -
    + {{ end }} +
    + -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    -
    -

    {{ .Params.get_started.title }}

    +
    +

    {{ .Params.get_started.title }}

    -
    -
    -

    {{ .Params.get_started.get_started.title }}

    -

    {{ .Params.get_started.get_started.description }}

    - {{ .Params.get_started.get_started.cta_text }} -
    +
    +
    +

    {{ .Params.get_started.get_started.title }}

    +

    {{ .Params.get_started.get_started.description }}

    + {{ + .Params.get_started.get_started.cta_text }}
    -
    -{{ end }} +
    +
    +{{ end }} \ No newline at end of file diff --git a/layouts/page/solutions.html b/layouts/page/solutions.html index d7b29103cb61..5869a0d30ccc 100644 --- a/layouts/page/solutions.html +++ b/layouts/page/solutions.html @@ -1,192 +1,193 @@ {{ define "hero" }} - {{ partial "hero" (dict "title" .Params.title ) }} +{{ partial "hero" (dict "title" .Params.title ) }} {{ end }} {{ define "main" }} -
    -

    {{ .Params.overview.title }}

    -

    {{ .Params.overview.description }}

    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +

    {{ .Params.overview.title }}

    +

    {{ .Params.overview.description }}

    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    -
    -
    -

    {{ .Params.use_cases.title }}

    +
    +
    +

    {{ .Params.use_cases.title }}

    -
      - {{ $listLength := len .Params.use_cases.items }} - {{ range $index, $item := .Params.use_cases.items }} - {{ $itemClass := "border-t-2" }} - {{ if eq (add $index 1) $listLength }} - {{ $itemClass = "border-t-2 border-b-2" }} - {{ end }} +
        + {{ $listLength := len .Params.use_cases.items }} + {{ range $index, $item := .Params.use_cases.items }} + {{ $itemClass := "border-t-2" }} + {{ if eq (add $index 1) $listLength }} + {{ $itemClass = "border-t-2 border-b-2" }} + {{ end }} -
      • - {{ partial "accordian-header" (dict "text" $item.name) }} +
      • + {{ partial "accordian-header" (dict "text" $item.name) }} -
        -

        {{ $item.description | markdownify }}

        +
        +

        {{ $item.description | markdownify }}

        - {{ if $item.case_studies }} - - {{ end }} -
        -
      • - {{ end }} -
      -
    -
    - -
    -

    {{ .Params.architectures.title }}

    - -
    - {{ range $item := .Params.architectures.items }} -
    -
    -

    {{ $item.name }}

    -

    {{ $item.description }}

    -

    Relevant Case Studies

    -
    - {{ range $cs := $item.case_studies }} - - {{ end }} -
    - -
    + {{ if $item.case_studies }} + + {{ end }}
    + {{ end }} -
    -
    -
    + +
    + -
    - - -
    - {{ range $item := .Params.personas.developers.items }} -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} -
    -
    -
    {{ $item.title }}
    -
    -
    -

    {{ $item.description | markdownify }}

    -
    +
    +

    {{ .Params.architectures.title }}

    + +
    + {{ range $item := .Params.architectures.items }} +
    +
    +

    {{ $item.name }}

    +

    {{ $item.description }}

    +

    Relevant Case Studies

    +
    + {{ range $cs := $item.case_studies }} + - {{ end }} + {{ end }} +
    +
    - - - -
    - {{ range $item := .Params.personas.devops.items }} -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} -
    -
    -
    {{ $item.title }}
    -
    -
    -

    {{ $item.description | markdownify }}

    -
    -
    - {{ end }} +
    + {{ end }} +
    +
    +
    + +
    + + +
    + {{ range $item := .Params.personas.developers.items }} +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} +
    +
    +
    {{ $item.title }}
    +
    +
    +

    {{ $item.description | markdownify }}

    +
    - - - -
    - {{ range $item := .Params.personas.security.items }} -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} -
    -
    -
    {{ $item.title }}
    -
    -
    -

    {{ $item.description | markdownify }}

    -
    -
    - {{ end }} + {{ end }} +
    +
    + + +
    + {{ range $item := .Params.personas.devops.items }} +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} +
    +
    +
    {{ $item.title }}
    +
    +
    +

    {{ $item.description | markdownify }}

    +
    - - - -
    - {{ range $item := .Params.personas.leader.items }} -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} -
    -
    -
    {{ $item.title }}
    -
    -
    -

    {{ $item.description | markdownify }}

    -
    -
    - {{ end }} + {{ end }} +
    +
    + + +
    + {{ range $item := .Params.personas.security.items }} +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} +
    +
    +
    {{ $item.title }}
    +
    +
    +

    {{ $item.description | markdownify }}

    +
    - - -
    -

    - - {{ .Params.personas.title }} - - - - for Developers - - - for DevOps & Infra Teams - - - for Security Engineers - - - for Engineering Leaders - - -

    -
    -
    - -
    -
    -

    {{ .Params.get_started.title }}

    -

    {{ .Params.get_started.description }}

    - + + + +
    + {{ range $item := .Params.personas.leader.items }} +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} +
    +
    +
    {{ $item.title }}
    +
    +
    +

    {{ $item.description | markdownify }}

    +
    +
    + {{ end }}
    +
    + +
    +

    + + {{ .Params.personas.title }} + + + + for Developers + + + for DevOps & Infra Teams + + + for Security Engineers + + + for Engineering Leaders + + +

    +
    +
    + +
    +
    +

    {{ .Params.get_started.title }}

    +

    {{ .Params.get_started.description }}

    + -
    -{{ end }} +
    +
    +{{ end }} \ No newline at end of file diff --git a/layouts/partials/blog/series-list-sidebar.html b/layouts/partials/blog/series-list-sidebar.html index 64f635283c0a..1e39f143c8e2 100644 --- a/layouts/partials/blog/series-list-sidebar.html +++ b/layouts/partials/blog/series-list-sidebar.html @@ -8,22 +8,23 @@ {{ $currentTag = .Data.Term }} {{ with .Site.Data.blog_series }} - {{ range .series }} - {{ if eq .slug $currentTag }} - {{ $isSeriesTag = true }} - {{ end }} - {{ end }} +{{ range .series }} +{{ if eq .slug $currentTag }} +{{ $isSeriesTag = true }} +{{ end }} +{{ end }} {{ end }} {{ if $isSeriesTag }}
    {{ else }} - {{ partial "blog/sidebar.html" . }} -{{ end }} +{{ partial "blog/sidebar.html" . }} +{{ end }} \ No newline at end of file diff --git a/layouts/partials/blog/series-sidebar.html b/layouts/partials/blog/series-sidebar.html index a7b4434e5072..41e9b1dd164d 100644 --- a/layouts/partials/blog/series-sidebar.html +++ b/layouts/partials/blog/series-sidebar.html @@ -4,11 +4,12 @@
    {{ end }}
    @@ -121,4 +123,4 @@
    In This Series
    - + \ No newline at end of file diff --git a/layouts/partials/blog/sidebar.html b/layouts/partials/blog/sidebar.html index f44a93c1962d..f063b5b490d2 100644 --- a/layouts/partials/blog/sidebar.html +++ b/layouts/partials/blog/sidebar.html @@ -4,17 +4,18 @@

    - {{/* Only show the top N blog tags. This lists releases first, then features, then most popular descendingly. */}} + {{/* Only show the top N blog tags. This lists releases first, then features, then most popular descendingly. + */}} {{ $allTags := .Site.Taxonomies.tags.ByCount }} {{ $releases := where $allTags "Name" "pulumi-releases" }} @@ -57,25 +59,23 @@
    Recent Posts
    - All blog tags → + All blog tags → {{ end }}
    - + \ No newline at end of file diff --git a/layouts/partials/content-tile.html b/layouts/partials/content-tile.html index bc4888463b92..a9d1bd286fc9 100644 --- a/layouts/partials/content-tile.html +++ b/layouts/partials/content-tile.html @@ -1,15 +1,16 @@ -
  • +
  • {{ $href := .link }} {{ $relref := "noopener noreferrer" }} {{ $target := "_blank" }} {{ if eq .external false }} - {{ if not (isset . "multiple") }} - {{ $href = (relref .pageContext .link) }} - {{ end }} + {{ if not (isset . "multiple") }} + {{ $href = (relref .pageContext .link) }} + {{ end }} - {{ $relref = "" }} - {{ $target = "" }} + {{ $relref = "" }} + {{ $target = "" }} {{ end }}
    @@ -17,7 +18,7 @@
    - +
    @@ -38,4 +39,4 @@
    -
  • + \ No newline at end of file diff --git a/layouts/partials/event-schedule.html b/layouts/partials/event-schedule.html index 53d794a3cc0b..4161bad1f38f 100644 --- a/layouts/partials/event-schedule.html +++ b/layouts/partials/event-schedule.html @@ -20,29 +20,31 @@

    {{ .schedule.heading }}

    {{ .schedule.subheading }}

    {{ range $index, $item := .schedule.items }} -
    -
    {{ $item.time }}
    - {{ if $item.time2 }} -
    {{ $item.time2 }}
    - {{ end }} - {{ if $item.description }} -
    - - -
    - {{ $item.description | markdownify }} -
    -
    - {{ else if $item.title }} -
    {{ $item.title }}
    - {{ else }} -
    - {{ end }} +
    +
    {{ $item.time }}
    + {{ if $item.time2 }} +
    {{ $item.time2 }}
    + {{ end }} + {{ if $item.description }} +
    + + +
    + {{ $item.description | markdownify }} +
    + {{ else if $item.title }} +
    {{ $item.title }}
    + {{ else }} +
    + {{ end }} +
    {{ end }}
    - + \ No newline at end of file diff --git a/layouts/partials/events/event-card.html b/layouts/partials/events/event-card.html index c75845464836..8b503ede0011 100644 --- a/layouts/partials/events/event-card.html +++ b/layouts/partials/events/event-card.html @@ -1,14 +1,15 @@ {{ $dataMonth := (lower (.datetime | time.Format "Jan-06")) }} -
  • +
  • {{ $href := .link }} {{ $relref := "noopener noreferrer" }} {{ $target := "_blank" }} {{ if eq .external false }} - {{ $href = (relref .pageContext .link) }} + {{ $href = (relref .pageContext .link) }} - {{ $relref = "" }} - {{ $target = "" }} + {{ $relref = "" }} + {{ $target = "" }} {{ end }}
    @@ -20,16 +21,17 @@ {{ .data.Params.main.event_type | upper }} {{ if .data.Params.main.youtube_url }} - ON-DEMAND + ON-DEMAND {{ else }} - {{ .data.Params.main.location | upper }} + {{ .data.Params.main.location | upper }} {{ end }}
    {{ .data.Params.title }} {{ if .external }}{{ end }}
    - +
    {{ .datetime | time.Format "2" }}
    @@ -47,18 +49,18 @@
    {{ if .data.Params.main.tags }} - {{ partial "events/tags.html" (dict "tags" .data.Params.main.tags) }} + {{ partial "events/tags.html" (dict "tags" .data.Params.main.tags) }} {{ end }} - + {{ if .data.Params.main.youtube_url }} -
    Watch on-demand
    +
    Watch on-demand
    {{ else if .upcoming }} -
    Register
    +
    Register
    {{ end }}
    -
  • + \ No newline at end of file diff --git a/layouts/partials/events/summary.html b/layouts/partials/events/summary.html index f3b9621056a2..4e2f995521bb 100644 --- a/layouts/partials/events/summary.html +++ b/layouts/partials/events/summary.html @@ -1,20 +1,21 @@
    {{ if .show_cloud }} -
    - - This workshop is taught with Pulumi Cloud. Sign up for free to follow along. -
    +
    + + This workshop is taught with Pulumi Cloud. Sign up for free to follow along. +
    {{ end }}
    {{ .description | markdownify }}
    {{ if .learn }} -
    -
    You'll Learn:
    - {{ range $item := .learn }} -
    - - {{ $item }} -
    - {{ end }} +
    +
    You'll Learn:
    + {{ range $item := .learn }} +
    + + {{ $item }}
    + {{ end }} +
    {{ end }}
    \ No newline at end of file diff --git a/layouts/partials/header.html b/layouts/partials/header.html index 5cb3a1ebff9d..f7339a4a9ca5 100644 --- a/layouts/partials/header.html +++ b/layouts/partials/header.html @@ -522,7 +522,7 @@ {{ partial "top-nav-user-toggle" }}
    -
    + diff --git a/layouts/partials/home/console.html b/layouts/partials/home/console.html index 2c91633a00e4..bfca3b4d4090 100644 --- a/layouts/partials/home/console.html +++ b/layouts/partials/home/console.html @@ -7,16 +7,14 @@
    -
    +
    + fill="white" /> + fill="#EE985D" />
    @@ -51,19 +49,23 @@
    Changes:
    -
        Type                 Name                Status
    +   pulumi:pulumi:Stack  aws-typescript-dev  created
    + class="overflow-x-hidden bg-transparent border-none p-0 m-0 text-blue-500"> Type Name Status
    +   aws:s3:Bucket        my-bucket           created
    + class="overflow-x-hidden bg-transparent border-none p-0 m-0 text-white">+ pulumi:pulumi:Stack aws-typescript-dev created +
    +
    +
    +   aws:s3:Bucket        my-bucket           created
    Resources:
    -
      + 2 created
    +
    +
      + 2 created
    +
    Duration: 8s
    @@ -82,14 +84,14 @@
    -
    +
    pulumi:providers:aws
    default_0_18_27
    -
    +
    aws:s3:Bucket
    @@ -100,4 +102,4 @@
    -
    +
    \ No newline at end of file diff --git a/layouts/partials/how-pulumi-works.html b/layouts/partials/how-pulumi-works.html index d26e9be7011d..50ef89c3c6fa 100644 --- a/layouts/partials/how-pulumi-works.html +++ b/layouts/partials/how-pulumi-works.html @@ -6,28 +6,28 @@

    How Pulumi Works

    Build

    - + + fill="white" /> + fill="url(#paint0_linear)" /> + fill="url(#paint1_linear)" /> - + - + @@ -36,24 +36,23 @@

    Build

    + fill="#00ACD7" /> + fill="#00ACD7" /> - - + + + fill="#CB171E" /> + fill="black" />
    @@ -69,72 +68,57 @@

    Build

    Deploy

    - + - + - + + fill="#FF9900" /> + fill="#0089D6" /> + fill="#0089D6" /> + fill="#0089D6" /> + fill="#EA4335" /> + fill="#4285F4" /> + fill="#34A853" /> + fill="#FBBC05" /> + fill="#326DE6" /> + fill="white" />
    • Preview changes
    • -
    • Run pulumi up to deploy
    • +
    • Run pulumi up to deploy
    • Integrate with CI/CD
    @@ -147,53 +131,50 @@

    Manage

    + fill="black" /> + fill="#FC6D26" /> - + + fill="#E24329" /> - + + fill="#E24329" /> + fill="#2684FF" /> + fill="#2684FF" /> - + + fill="#0092D3" /> + fill="#0092D3" />
    @@ -208,7 +189,7 @@

    Manage

    - Get Started - Learn More + Get Started + Learn More
    - + \ No newline at end of file diff --git a/layouts/partials/learnmore-ai.html b/layouts/partials/learnmore-ai.html index d5d1be354072..650c6224d9fe 100644 --- a/layouts/partials/learnmore-ai.html +++ b/layouts/partials/learnmore-ai.html @@ -8,8 +8,9 @@

    Learn more

    -

    Discover the getting started guides and learn about Pulumi concepts.

    - Explore the docs → +

    Discover the getting started guides and learn about Pulumi concepts.

    + Explore the docs →
    @@ -20,9 +21,9 @@

    Learn more

    Pulumi AI

    -

    Generate Pulumi infrastructure-as-code programs in any language.

    - Try Pulumi AI → +

    Generate Pulumi infrastructure-as-code programs in any language.

    + Try Pulumi AI →
    - + \ No newline at end of file diff --git a/layouts/partials/templates/left-nav.html b/layouts/partials/templates/left-nav.html index dd326fccfd3c..4ac27ad3f007 100644 --- a/layouts/partials/templates/left-nav.html +++ b/layouts/partials/templates/left-nav.html @@ -2,16 +2,16 @@
    - Pulumi Templates + Pulumi Templates
    - \ No newline at end of file diff --git a/layouts/partials/virtual-communities.html b/layouts/partials/virtual-communities.html index f4ca749ed23f..47678dad93a3 100644 --- a/layouts/partials/virtual-communities.html +++ b/layouts/partials/virtual-communities.html @@ -1,7 +1,8 @@ -
    +

    Virtual Developer Communities

    -

    Connect with us. Ask questions, find answers, and share your knowledge and grow with us.

    +

    Connect with us. Ask questions, find answers, and share your knowledge and grow with us. +

    @@ -35,15 +36,20 @@
    Contribute to Pulumiverse
    @@ -51,18 +57,23 @@
    Contribute to Pulumiverse
    -
    +
    \ No newline at end of file diff --git a/layouts/partner/aws.html b/layouts/partner/aws.html index 1acc0aee2b2e..a8b4f9252b18 100644 --- a/layouts/partner/aws.html +++ b/layouts/partner/aws.html @@ -4,7 +4,7 @@ style="background: linear-gradient(90deg, white 0%, #ddd6fe 50%, white 100%);">
    -
    Official AWS Partnership
    +
    Official AWS Partnership

    Deploy AWS Infrastructure at the Speed of AI

    Built on 8 years of infrastructure-as-code expertise and enhanced with @@ -192,7 +192,7 @@

    One Platform for All AWS Workloads
    -
    +

    Agentic AI with Built-In Governance

    @@ -345,7 +345,7 @@
    Unified Solution For All Services
    -
    +

    Interested in learning more about Neo + Amazon Bedrock diff --git a/layouts/product/infrastructure-as-code.html b/layouts/product/infrastructure-as-code.html index d7525d426f6f..69e70d26e80b 100644 --- a/layouts/product/infrastructure-as-code.html +++ b/layouts/product/infrastructure-as-code.html @@ -1,246 +1,255 @@ {{ define "hero" }} - {{ partial "hero" (dict "title" .Params.heading "subtitle" .Params.overview.title) }} +{{ partial "hero" (dict "title" .Params.heading "subtitle" .Params.overview.title) }} {{ end }} {{ define "main" }} -
    -
    -

    - {{ .Params.overview.description | markdownify }} -

    -
    - -
    - -
    - {{ range $index, $feature := .Params.key_features_above.items }} -
    - {{ if eq $index 0 }} -
    -

    {{ $feature.title }}

    -
    -
    -

    {{ $feature.sub_title}}

    -

    {{ $feature.description | markdownify }}

    -
    -
    -
    -
    - - - Pulumi code being written in TypeScript showing autocomplete for creating a new S3 bucket - - - - Pulumi code being written in Python showing autocomplete for creating a new S3 bucket - - - - Pulumi code being written in GO showing autocomplete for creating a new S3 bucket - - - - Pulumi code being written in C# showing autocomplete for creating a new S3 bucket - - - - Pulumi code being written in Java showing autocomplete for creating a new S3 bucket - - - - Pulumi code being written in YAML showing autocomplete for creating a new S3 bucket - - -
    -
    -
    -
    -
    - {{ else }} -
    -

    {{ $feature.title }}

    -
    -
    - Pulumi infrastructure as code example -
    -
    -

    {{ $feature.sub_title}}

    -

    {{ $feature.description | markdownify }}

    -
    +
    +
    +

    + {{ .Params.overview.description | markdownify }} +

    +
    + +
    + +
    + {{ range $index, $feature := .Params.key_features_above.items }} +
    + {{ if eq $index 0 }} +
    +

    {{ $feature.title }}

    +
    +
    +

    {{ $feature.sub_title}}

    +

    {{ $feature.description | markdownify }}

    +
    +
    +
    +
    + + + Pulumi code being written in TypeScript showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in Python showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in GO showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in C# showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in Java showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in YAML showing autocomplete for creating a new S3 bucket + +
    - {{ end}} - -
    - {{ range $item := $feature.features }} -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.color) }} -
    -
    -
    {{ $item.title }}
    -
    -
    -

    {{ $item.description | markdownify }}

    -
    -
    -
    - {{ end }}
    - {{ end }} -
    - -
    -
    -
    -

    {{ .Params.stats.title }}

    -

    - {{ .Params.stats.description | markdownify }} -

    - -
    -
    -
    -

    {{ .Params.stats.community.number }}

    -
    {{ .Params.stats.community.description }}
    +
    + {{ else }} +
    +

    {{ $feature.title }}

    +
    +
    + Pulumi infrastructure as code example +
    +
    +

    {{ $feature.sub_title}}

    +

    {{ $feature.description | markdownify }}

    +
    +
    +
    + {{ end}} + +
    + {{ range $item := $feature.features }} +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.color) }}
    - -
    -

    {{ .Params.stats.company.number }}

    -
    {{ .Params.stats.company.description }}
    +
    +
    {{ $item.title }}
    - -
    -

    {{ .Params.stats.integration.number }}

    -
    {{ .Params.stats.integration.description }}
    +
    +

    {{ $item.description | markdownify }}

    + {{ end }}
    -
    - - {{ if .Params.customer_quotes.panther }} - -
    - {{ partial "home/quote.html" (dict "quote" .Params.customer_quotes.panther) }} -
    +
    {{ end }} +
    + +
    +
    +
    +

    {{ .Params.stats.title }}

    +

    + {{ .Params.stats.description | markdownify }} +

    -
    - {{ range $index, $item := .Params.key_features.items }} -
    -
    -

    {{ $item.title }}

    -

    {{ $item.sub_title }}

    -

    - {{ $item.description | markdownify }} -

    - - {{ if not (eq $item.image nil) }} -
    - Pulumi infrastructure as code example -
    - {{ end }} - {{ if not (eq $item.ide nil) }} -
    - - {{ range $lang := $item.ide }} - - {{ partial "code" (dict "lang" $lang.language "code" $lang.code "mode" "light") }} - - {{ end }} - -
    - {{ end }} -
    -
    - {{ range $feature := $item.features }} -
    -
    -
    {{ $feature.title }}
    -

    {{ $feature.description | markdownify }}

    -
    -
    - {{ end }} -
    +
    +
    +
    +

    {{ .Params.stats.community.number }}

    +
    {{ .Params.stats.community.description }}
    +
    + +
    +

    {{ .Params.stats.company.number }}

    +
    {{ .Params.stats.company.description }}
    +
    + +
    +

    {{ .Params.stats.integration.number }}

    +
    {{ .Params.stats.integration.description }}
    +
    +
    +
    + +{{ if .Params.customer_quotes.panther }} + +
    + {{ partial "home/quote.html" (dict "quote" .Params.customer_quotes.panther) }} +
    +{{ end }} + +
    + {{ range $index, $item := .Params.key_features.items }} +
    +
    +

    {{ $item.title }}

    +

    {{ $item.sub_title }}

    +

    + {{ $item.description | markdownify }} +

    + + {{ if not (eq $item.image nil) }} +
    + Pulumi infrastructure as code example
    - {{ end }} -
    - -
    - {{ range $index, $item := .Params.key_features_below.items }} -
    -
    -

    {{ $item.title }}

    -

    {{ $item.sub_title }}

    -

    - {{ $item.description | markdownify }} -

    - - {{ if not (eq $item.image nil) }} -
    - Pulumi infrastructure as code example -
    - {{ end }} - {{ if not (eq $item.ide nil) }} -
    - - {{ range $lang := $item.ide }} - - {{ partial "code" (dict "lang" $lang.language "code" $lang.code "mode" "light") }} - - {{ end }} - -
    - {{ end }} -
    -
    - {{ range $feature := $item.features }} -
    -
    -
    {{ $feature.title }}
    -

    {{ $feature.description | markdownify }}

    -
    -
    - {{ end }} + {{ end }} + {{ if not (eq $item.ide nil) }} +
    + + {{ range $lang := $item.ide }} + + {{ partial "code" (dict "lang" $lang.language "code" $lang.code "mode" "light") }} + + {{ end }} + +
    + {{ end }} +
    +
    + {{ range $feature := $item.features }} +
    +
    +
    {{ $feature.title }}
    +

    {{ $feature.description | markdownify }}

    +
    + {{ end }}
    +
    +
    + {{ end }} +
    + +
    + {{ range $index, $item := .Params.key_features_below.items }} +
    +
    +

    {{ $item.title }}

    +

    {{ $item.sub_title }}

    +

    + {{ $item.description | markdownify }} +

    + + {{ if not (eq $item.image nil) }} +
    + Pulumi infrastructure as code example
    - {{ end }} -
    - -
    -

    {{ .Params.learn.title }}

    -
    - {{ range $index, $item := .Params.learn.items }} -
    -
    -
    -
    {{ $item.title }}
    -
    -
    -

    {{ $item.description | markdownify }}

    -
    -
    - {{ range $button := $item.buttons }} - {{ $button.action }} - {{ end }} + {{ end }} + {{ if not (eq $item.ide nil) }} +
    + + {{ range $lang := $item.ide }} + + {{ partial "code" (dict "lang" $lang.language "code" $lang.code "mode" "light") }} + + {{ end }} + +
    + {{ end }} +
    +
    + {{ range $feature := $item.features }} +
    +
    +
    {{ $feature.title }}
    +

    {{ $feature.description | markdownify }}

    + {{ end }}
    - {{ end }} +
    -
    -{{ end }} +
    + {{ end }} +
    + +
    +

    {{ .Params.learn.title }}

    +
    + {{ range $index, $item := .Params.learn.items }} +
    +
    +
    +
    {{ $item.title }}
    +
    +
    +

    {{ $item.description | markdownify }}

    +
    +
    + {{ range $button := $item.buttons }} + {{ $button.action }} + {{ end }} +
    +
    +
    + {{ end }} +
    +
    +{{ end }} \ No newline at end of file diff --git a/layouts/product/private-previews.html b/layouts/product/private-previews.html index 46b486fe7cc6..36b45781e364 100644 --- a/layouts/product/private-previews.html +++ b/layouts/product/private-previews.html @@ -1,63 +1,64 @@ {{ define "hero" }} - {{ partial "hero" (dict "title" .Params.title) }} +{{ partial "hero" (dict "title" .Params.title) }} {{ end }} {{ define "main" }} - {{ $pageContext := . }} +{{ $pageContext := . }} -
    - {{ with .Params.overview }} -

    {{ .title }}

    -

    {{ .description | markdownify }}

    - {{ end }} -
    +
    + {{ with .Params.overview }} +

    {{ .title }}

    +

    {{ .description | markdownify }}

    + {{ end }} +
    -
    -
    - Pulumi Insights Overview GIF -
    +
    +
    + Pulumi Insights Overview GIF +
    -
    - {{ with .Params.preview1 }} -

    {{ .title }}

    -

    {{ .description | markdownify }}

    - {{ end }} - - -
    +
    + {{ with .Params.preview1 }} +

    {{ .title }}

    +

    {{ .description | markdownify }}

    + {{ end }} + + +
    -
    - {{ with .Params.preview2 }} -

    {{ .title }}

    -

    {{ .description | markdownify }}

    - {{ end }} - - -
    +
    + {{ with .Params.preview2 }} +

    {{ .title }}

    +

    {{ .description | markdownify }}

    + {{ end }} + + +
    -
    -
    -
    - -

    {{ .Params.learn.title }}

    -

    {{ .Params.learn.description }}

    - +
    +
    +
    + +

    {{ .Params.learn.title }}

    +

    {{ .Params.learn.description }}

    +
    -
    -{{ end }} +
    +
    +{{ end }} \ No newline at end of file diff --git a/layouts/product/pulumi-cloud.html b/layouts/product/pulumi-cloud.html index d482ced93ffa..5c0c546836c9 100644 --- a/layouts/product/pulumi-cloud.html +++ b/layouts/product/pulumi-cloud.html @@ -1,165 +1,166 @@ {{ define "hero" }} - {{ partial "hero" (dict "title" .Params.title) }} +{{ partial "hero" (dict "title" .Params.title) }} {{ end }} {{ define "main" }} - {{ $pageContext := . }} +{{ $pageContext := . }} -
    - {{ with .Params.overview }} -

    {{ .title }}

    -

    {{ .description | markdownify }}

    - {{ end }} -
    -
    -

    - ✨ New - Pulumi Insights 2.0 - Import and Sync All Cloud Infrastructure: Get started now ✨ -

    -
    +
    + {{ with .Params.overview }} +

    {{ .title }}

    +

    {{ .description | markdownify }}

    + {{ end }} +
    +
    +

    + ✨ New - Pulumi Insights 2.0 - Import and Sync All Cloud Infrastructure: + Get started now ✨ +

    -
    +
    +
    -
    -
    - {{ range $section := .Params.products }} -
    -

    {{ $section.header }}

    -
    - {{ range $index, $subsection := $section.content }} - {{ $tabclass := "" }} - {{ $textClass := "" }} - {{ if eq $index 0 }} - {{ $tabclass = " border-blue-600 "}} - {{ $textClass = "rainbow-text" }} - {{ end }} -
    -
    {{ $subsection.header }}
    -
    - {{ end }} -
    - {{ range $index, $subsection := $section.content }} - {{ $tabclass := ""}} - {{ if not (eq $index 0) }} - {{ $tabclass = " hidden "}} - {{ end }} -
    -

    {{ $subsection.header }}

    - {{ if $subsection.subheader }} - - {{ end }} - +
    +
    + {{ range $section := .Params.products }} +
    +

    {{ $section.header }}

    +
    + {{ range $index, $subsection := $section.content }} + {{ $tabclass := "" }} + {{ $textClass := "" }} + {{ if eq $index 0 }} + {{ $tabclass = " border-blue-700 "}} + {{ $textClass = "rainbow-text" }} + {{ end }} +
    +
    {{ $subsection.header }}
    +
    + {{ end }} +
    + {{ range $index, $subsection := $section.content }} + {{ $tabclass := ""}} + {{ if not (eq $index 0) }} + {{ $tabclass = " hidden "}} + {{ end }} +
    +

    {{ $subsection.header }}

    + {{ if $subsection.subheader }} + + {{ end }} + -
      - {{ $listLength := len $subsection.details }} - {{ range $index, $item := $subsection.details }} - {{ $itemClass := "border-t-2" }} - {{ if eq (add $index 1) $listLength }} - {{ $itemClass = "border-t-2 border-b-2" }} - {{ end }} +
        + {{ $listLength := len $subsection.details }} + {{ range $index, $item := $subsection.details }} + {{ $itemClass := "border-t-2" }} + {{ if eq (add $index 1) $listLength }} + {{ $itemClass = "border-t-2 border-b-2" }} + {{ end }} -
      • - {{ partial "accordian-header" (dict "text" $item.title) }} -

        {{ $item.description | markdownify }}

        +
      • + {{ partial "accordian-header" (dict "text" $item.title) }} +

        {{ $item.description | markdownify }}

        -
        -

        {{ $item.more_info | markdownify }}

        -
        -
      • - {{ end }} -
      +
      +

      {{ $item.more_info | markdownify }}

      + {{ end }} -
    + +
    {{ end }}
    -
    - -
    - {{ with .Params.open_source }} -

    {{ .title }}

    -
    {{ .description | markdownify }}
    - Pulumi Open Source {{ end }} -
    +
    +
    -
    -
    - {{ with .Params.security }} -

    {{ .title }}

    -

    {{ .description | markdownify }}

    - Pulumi Open Source - {{ end }} -
    -
    +
    + {{ with .Params.open_source }} +

    {{ .title }}

    +
    {{ .description | markdownify }}
    + Pulumi Open Source + {{ end }} +
    -
    -
    -

    {{ .Params.case_studies.title }}

    -
    - {{ range .Params.case_studies.items }} -
    -
    -
    {{ partial "customer-logo.html" (dict "logo" .logo) }}
    -
    {{ .name }}
    -

    {{ .description | markdownify }}

    - -
    -
    - {{ end }} -
    -
    -
    +
    +
    + {{ with .Params.security }} +

    {{ .title }}

    +

    {{ .description | markdownify }}

    + Pulumi Open Source + {{ end }} +
    +
    -
    -

    {{ .Params.deployment.title }}

    -
    - {{ range $item := .Params.deployment.items }} -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} -
    -
    -
    {{ $item.title }}
    -
    -
    -

    {{ $item.description | markdownify }}

    -
    +
    +
    +

    {{ .Params.case_studies.title }}

    +
    + {{ range .Params.case_studies.items }} +
    +
    +
    {{ partial "customer-logo.html" (dict "logo" .logo) }}
    +
    {{ .name }}
    +

    {{ .description | markdownify }}

    +
    +
    {{ end }}
    -
    +
    +
    -
    - {{ with .Params.pricing }} -

    {{ .title }}

    -

    {{ .description | markdownify }}

    -
    - Pricing +
    +

    {{ .Params.deployment.title }}

    +
    + {{ range $item := .Params.deployment.items }} +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} +
    +
    +
    {{ $item.title }}
    +
    +
    +

    {{ $item.description | markdownify }}

    +
    +
    {{ end }} -
    +
    +
    -
    -
    -
    - -

    {{ .Params.get_started.title }}

    -

    {{ .Params.get_started.description }}

    - +
    + {{ with .Params.pricing }} +

    {{ .title }}

    +

    {{ .description | markdownify }}

    +
    + Pricing +
    + {{ end }} +
    + +
    +
    +
    + +

    {{ .Params.get_started.title }}

    +

    {{ .Params.get_started.description }}

    +
    -
    -{{ end }} +
    +
    +{{ end }} \ No newline at end of file diff --git a/layouts/product/self-hosted.html b/layouts/product/self-hosted.html index e40dfd73cbae..3f62dc38d46d 100644 --- a/layouts/product/self-hosted.html +++ b/layouts/product/self-hosted.html @@ -1,172 +1,176 @@ {{ define "hero" }} - {{ partial "hero" (dict "title" .Params.title) }} +{{ partial "hero" (dict "title" .Params.title) }} {{ end }} {{ define "main" }} - {{ $pageContext := . }} +{{ $pageContext := . }} -
    -
    -
    -
    -
    +
    +
    +
    +
    -
    - {{ with .Params.overview }} -

    {{ .title }}

    -
    -

    {{ .descriptionTop | markdownify }}

    -

    {{ .descriptionBottom | markdownify }}

    -
    - {{ end }} +
    +
    + {{ with .Params.overview }} +

    {{ .title }}

    +
    +

    {{ .descriptionTop | markdownify }}

    +

    {{ .descriptionBottom | markdownify }}

    -
    + {{ end }} +
    +
    -
    - {{ with .Params.deployment }} -

    {{ .title }}

    -
    -

    {{ .descriptionTop | markdownify }}

    -

    {{ .descriptionBottom | markdownify }}

    -
    -
    -
    - AWS -
    AWS
    - AWS Docs -
    +
    + {{ with .Params.deployment }} +

    {{ .title }}

    +
    +

    {{ .descriptionTop | markdownify }}

    +

    {{ .descriptionBottom | markdownify }}

    +
    +
    +
    + AWS +
    AWS
    + AWS Docs +
    -
    - Azure -
    Azure
    - Azure Docs -
    +
    + Azure +
    Azure
    + Azure Docs +
    -
    - Docker -
    Docker
    - Docker Docs -
    +
    + Docker +
    Docker
    + Docker + Docs +
    +
    +
    +
    +
    + Google Cloud
    -
    -
    -
    - Google Cloud -
    -
    Google Cloud
    - Google Docs -
    - -
    -
    - Kubernetes -
    -
    Kubernetes
    - Kubernetes Docs -
    +
    Google Cloud
    + Google + Docs +
    -
    - VMware -
    VMware
    - Talk to a human -
    +
    +
    + Kubernetes
    - {{ end }} -
    +
    Kubernetes
    + Kubernetes Docs +
    -
    -
    -
    -
    -
    -
    +
    + VMware +
    VMware
    + Talk to a human +
    +
    + {{ end }} +
    + +
    +
    +
    +
    +
    -
    - {{ with .Params.capabilities }} -

    {{ .title }}

    -
    - {{ range $item := .items }} -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} -
    -
    {{ $item.title }}
    -

    {{ $item.description | markdownify }}

    +
    +
    + {{ with .Params.capabilities }} +

    {{ .title }}

    +
    + {{ range $item := .items }} +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} +
    +
    {{ $item.title }}
    +

    {{ $item.description | markdownify }}

    - {{ if $item.items }} - - -

    Identity providers include Azure Active Directory, Bitbucket, GitHub, GitLab, and SAML SSO.

    - {{ end }} -
    -
    + {{ if $item.items }} + + +

    Identity providers include Azure Active Directory, Bitbucket, GitHub, GitLab, + and SAML SSO.

    {{ end }}
    +
    {{ end }}
    -
    + {{ end }} +

    +
    -
    -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    -
    -
    - {{ with .Params.pricing }} -

    {{ .title }}

    -

    {{ .description | markdownify }}

    -
    - Pricing -
    - {{ end }} +
    +
    +
    + {{ with .Params.pricing }} +

    {{ .title }}

    +

    {{ .description | markdownify }}

    + + {{ end }}
    -
    +
    +
    -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    -
    - {{ with .Params.trial }} -

    {{ .title }}

    -

    {{ .description | markdownify }}

    -
    - -
    - {{ end }} +
    +
    + {{ with .Params.trial }} +

    {{ .title }}

    +

    {{ .description | markdownify }}

    +
    +
    -
    + {{ end }} +
    +
    -
    - {{ with .Params.questions }} -
    -
    -

    {{ .title }}

    -

    {{ .description }}

    - -
    +
    + {{ with .Params.questions }} +
    +
    +

    {{ .title }}

    +

    {{ .description }}

    + - {{ end }} -
    -{{ end }} +
    +
    + {{ end }} + +{{ end }} \ No newline at end of file diff --git a/layouts/shortcodes/github-buttons.html b/layouts/shortcodes/github-buttons.html index 76bcaa74c337..a9ded3f159d5 100644 --- a/layouts/shortcodes/github-buttons.html +++ b/layouts/shortcodes/github-buttons.html @@ -4,33 +4,29 @@ {{ $langs := (dict "js" "JavaScript" "ts" "TypeScript" "py" "Python" "go" "Go" "cs" "C#") }} {{ if gt $numberOfArguments 0 }} -

    - {{ range (seq 0 (sub $numberOfArguments 1)) }} - {{ $project := ($.Get .) }} +

    + {{ range (seq 0 (sub $numberOfArguments 1)) }} + {{ $project := ($.Get .) }} - {{/* Arguments are expected to be in the form "cloud-language-name" (e.g., "aws-ts-webserver"). */}} - {{ $tokens := (split $project "-") }} + {{/* Arguments are expected to be in the form "cloud-language-name" (e.g., "aws-ts-webserver"). */}} + {{ $tokens := (split $project "-") }} - {{ if $tokens }} + {{ if $tokens }} - {{/* Language should be the second item in the list. */}} - {{ $lang := index $tokens 1 }} + {{/* Language should be the second item in the list. */}} + {{ $lang := index $tokens 1 }} - {{ if $lang }} - {{ $langName := index $langs $lang }} + {{ if $lang }} + {{ $langName := index $langs $lang }} - {{ if $langName }} - - View {{ $langName }} Code - - {{ end }} - {{ end }} - {{ end }} - {{ end }} -

    -{{ end }} + {{ if $langName }} + + View {{ $langName }} Code + + {{ end }} + {{ end }} + {{ end }} + {{ end }} +

    +{{ end }} \ No newline at end of file diff --git a/layouts/taxonomy/tag.html b/layouts/taxonomy/tag.html index 819ab43a094c..b688f9ce3d4c 100644 --- a/layouts/taxonomy/tag.html +++ b/layouts/taxonomy/tag.html @@ -1,109 +1,109 @@ {{ define "main" }} -
    -
    -
    - {{ partial "blog/series-list-sidebar.html" . }} -
    +
    +
    +
    + {{ partial "blog/series-list-sidebar.html" . }} +
    -
    - {{ $authorData := index $.Site.Data.team.team .Data.Term }} - {{ $blogPosts := where .Data.Pages "Section" "blog" }} - - - {{ $chronologicalTags := slice }} - {{ $currentSeries := false }} - {{ with .Site.Data.blog_series }} - {{ range .series }} - {{ $chronologicalTags = $chronologicalTags | append .slug }} - {{ if eq .slug $.Data.Term }} - {{ $currentSeries = . }} - {{ end }} - {{ end }} - {{ end }} - - - {{ if in $chronologicalTags .Data.Term }} - - {{ $blogPosts := where .Data.Pages "Section" "blog" }} - {{ $paginator := .Paginate $blogPosts.ByDate }} +
    + {{ $authorData := index $.Site.Data.team.team .Data.Term }} + {{ $blogPosts := where .Data.Pages "Section" "blog" }} -
    - {{ if $currentSeries }} -

    {{ $currentSeries.title }}

    -

    {{ $currentSeries.description }}

    - {{ if $currentSeries.video_id }} -
    - {{ partial "youtube" (dict "id" $currentSeries.video_id "title" $currentSeries.title) }} -
    - {{ end }} - {{ else }} -

    - Posts Tagged - - {{ .Data.Term | lower }} - -

    - {{ end }} -
    + + {{ $chronologicalTags := slice }} + {{ $currentSeries := false }} + {{ with .Site.Data.blog_series }} + {{ range .series }} + {{ $chronologicalTags = $chronologicalTags | append .slug }} + {{ if eq .slug $.Data.Term }} + {{ $currentSeries = . }} + {{ end }} + {{ end }} + {{ end }} - {{ range $paginator.Pages }} -
    -

    {{ .Title }}

    -
    - -
    -
    - {{ partial "blog/poster" . }} - {{ partial "blog/summary" . }} -
    -
    - {{ end }} + + {{ if in $chronologicalTags .Data.Term }} + + {{ $blogPosts := where .Data.Pages "Section" "blog" }} + {{ $paginator := .Paginate $blogPosts.ByDate }} + +
    + {{ if $currentSeries }} +

    {{ $currentSeries.title }}

    +

    {{ $currentSeries.description }}

    + {{ if $currentSeries.video_id }} +
    + {{ partial "youtube" (dict "id" $currentSeries.video_id "title" $currentSeries.title) }} +
    + {{ end }} {{ else }} - - {{ $blogPosts := where .Data.Pages "Section" "blog" }} - {{ $paginator := .Paginate $blogPosts.ByDate.Reverse }} +

    + Posts Tagged + + {{ .Data.Term | lower }} + +

    + {{ end }} +
    -
    - {{ if $currentSeries }} -

    {{ $currentSeries.title }}

    -

    {{ $currentSeries.description }}

    - {{ if $currentSeries.video_id }} -
    - {{ partial "youtube" (dict "id" $currentSeries.video_id "title" $currentSeries.title) }} -
    - {{ end }} - {{ else }} -

    - Posts Tagged - - {{ .Data.Term | lower }} - -

    - {{ end }} -
    + {{ range $paginator.Pages }} +
    +

    {{ .Title }}

    +
    + +
    +
    + {{ partial "blog/poster" . }} + {{ partial "blog/summary" . }} +
    +
    + {{ end }} + {{ else }} + + {{ $blogPosts := where .Data.Pages "Section" "blog" }} + {{ $paginator := .Paginate $blogPosts.ByDate.Reverse }} - {{ range $paginator.Pages }} -
    -

    {{ .Title }}

    -
    - -
    -
    - {{ partial "blog/poster" . }} - {{ partial "blog/summary" . }} -
    -
    - {{ end }} +
    + {{ if $currentSeries }} +

    {{ $currentSeries.title }}

    +

    {{ $currentSeries.description }}

    + {{ if $currentSeries.video_id }} +
    + {{ partial "youtube" (dict "id" $currentSeries.video_id "title" $currentSeries.title) }} +
    + {{ end }} + {{ else }} +

    + Posts Tagged + + {{ .Data.Term | lower }} + +

    {{ end }} +
    - {{ partial "blog/paginator.html" . }} -
    + {{ range $paginator.Pages }} +
    +

    {{ .Title }}

    +
    + +
    +
    + {{ partial "blog/poster" . }} + {{ partial "blog/summary" . }} +
    +
    + {{ end }} + {{ end }} -
    + {{ partial "blog/paginator.html" . }}
    + +
    -{{ end }} +
    +{{ end }} \ No newline at end of file diff --git a/layouts/taxonomy/taxonomy.html b/layouts/taxonomy/taxonomy.html index 3152ac56b8cd..90998aaf79c3 100644 --- a/layouts/taxonomy/taxonomy.html +++ b/layouts/taxonomy/taxonomy.html @@ -1,40 +1,40 @@ {{ define "main" }} -
    -
    -
    - {{ partial "blog/sidebar.html" . }} -
    - -
    - {{ $paginator := .Paginate .Data.Pages.ByDate.Reverse }} +
    +
    +
    + {{ partial "blog/sidebar.html" . }} +
    -
    -

    - {{ .Data.Singular | title }}: - - {{ .Data.Term }} - -

    -
    +
    + {{ $paginator := .Paginate .Data.Pages.ByDate.Reverse }} - {{ range $paginator.Pages }} -
    -

    {{ .Title }}

    -
    - -
    -
    - {{ .Summary }} -
    -
    - {{ end }} +
    +

    + {{ .Data.Singular | title }}: + + {{ .Data.Term }} + +

    +
    - {{ partial "blog/paginator.html" . }} -
    + {{ range $paginator.Pages }} +
    +

    {{ .Title }}

    +
    + +
    +
    + {{ .Summary }} +
    +
    + {{ end }} -
    + {{ partial "blog/paginator.html" . }}
    + +
    -{{ end }} +
    +{{ end }} \ No newline at end of file diff --git a/layouts/tutorials/module.html b/layouts/tutorials/module.html index 616b00d82ed9..a8f9b39db9a6 100644 --- a/layouts/tutorials/module.html +++ b/layouts/tutorials/module.html @@ -1,106 +1,108 @@ {{ define "main" }} -
    -
    -
    -
    - -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    +
    +
    +
    -
    -
    -
    - {{ partial "tutorials/breadcrumb.html" . }} -
    -
    -

    {{ .Title }}

    -
    -
    - {{ if .Params.meta_image }} -
    - -
    - {{ end }} -
    - {{ .Summary }} -
    -
    -
    -

    In this tutorial, you'll learn:

    -
      - {{ range .Params.youll_learn }} -
    • - - {{ . }} -
    • - {{ end }} -
    -
    +
    +
    +
    + {{ partial "tutorials/breadcrumb.html" . }} +
    +
    +

    {{ .Title }}

    +
    +
    + {{ if .Params.meta_image }} +
    + +
    + {{ end }} +
    + {{ .Summary }} +
    +
    +
    +

    In this tutorial, you'll learn:

    +
      + {{ range .Params.youll_learn }} +
    • + + {{ . }} +
    • + {{ end }} +
    -
    -
    -

    Prerequisites:

    +
    +
    +
    +

    Prerequisites:

      {{ range .Params.prereqs }} -
    • - - {{ . | markdownify }} -
    • +
    • + + {{ . | markdownify }} +
    • {{ end }}
    -
    -
    - {{ .Content }} -
    -

    Topics

    - {{ $estimated_time := 0 }} - {{ range $topic := .Pages }} - {{ $estimated_time = (add $estimated_time (int $topic.Params.estimated_time)) }} - {{ end }} -

    - This tutorial has {{ len .Pages }} topic{{ if ne (len .Pages) 1 }}s{{ end }} and takes about {{ $estimated_time }} minutes to complete. -

    -
    -
      - {{ $pageCount := len .Pages }} - {{ range $index, $page := .Pages.ByWeight }} -
    • - - {{ $page.Title }} - - - - {{ $page.Params.estimated_time }} minutes - - -
    • - {{ end }} -
    - +
    +
    + {{ .Content }} +
    +

    Topics

    + {{ $estimated_time := 0 }} + {{ range $topic := .Pages }} + {{ $estimated_time = (add $estimated_time (int $topic.Params.estimated_time)) }} + {{ end }} +

    + This tutorial has {{ len .Pages }} topic{{ if ne (len .Pages) 1 }}s{{ end }} and takes about {{ + $estimated_time }} minutes to complete. +

    +
    +
      + {{ $pageCount := len .Pages }} + {{ range $index, $page := .Pages.ByWeight }} +
    • + + {{ $page.Title }} + + + + {{ $page.Params.estimated_time }} minutes + + +
    • + {{ end }} +
    +
    +
    -
    - {{ partial "tutorials/feedback.html" . }} - {{ partial "tutorials/right-nav-ad.html" }} -
    +
    + {{ partial "tutorials/feedback.html" . }} + {{ partial "tutorials/right-nav-ad.html" }}
    +
    {{ end }} {{ define "footer" }} -{{ end }} +{{ end }} \ No newline at end of file diff --git a/layouts/webinars/cloud-engineering-days-replay.html b/layouts/webinars/cloud-engineering-days-replay.html index 7874da6df325..21c7775ea85b 100644 --- a/layouts/webinars/cloud-engineering-days-replay.html +++ b/layouts/webinars/cloud-engineering-days-replay.html @@ -1,161 +1,165 @@ {{ define "hero" }} - {{ partial "hero" (dict "title" .Params.title ) }} +{{ partial "hero" (dict "title" .Params.title ) }} {{ end }} {{ define "main" }} - - {{ $webinars := (where $.Site.Pages "Type" "webinars") }} - - - - {{ $cedKeynote := slice }} - {{ $cedCustomers := slice }} - {{ $cedAutomation := slice }} - {{ $cedBestPractices := slice }} - - {{ range sort $webinars ".Params.main.sortable_date" "asc" }} - {{ if isset .Params "cloud_engineering_days" }} - {{ if eq .Params.cloud_engineering_days.track "keynote" }} - {{ $cedKeynote = $cedKeynote | append . }} - {{ end }} - - {{ if eq .Params.cloud_engineering_days.track "customer_stories" }} - {{ $cedCustomers = $cedCustomers | append . }} - {{ end }} - - {{ if eq .Params.cloud_engineering_days.track "automate_deploy" }} - {{ $cedAutomation = $cedAutomation | append . }} - {{ end }} - - {{ if eq .Params.cloud_engineering_days.track "best_practices" }} - {{ $cedBestPractices = $cedBestPractices | append . }} - {{ end }} - {{ end }} - {{ end }} - - -
    -

    Cloud Engineering Days 2022

    -
    -
    -
    -
    -
    -
    -
    - + +{{ $webinars := (where $.Site.Pages "Type" "webinars") }} + + + +{{ $cedKeynote := slice }} +{{ $cedCustomers := slice }} +{{ $cedAutomation := slice }} +{{ $cedBestPractices := slice }} + +{{ range sort $webinars ".Params.main.sortable_date" "asc" }} +{{ if isset .Params "cloud_engineering_days" }} +{{ if eq .Params.cloud_engineering_days.track "keynote" }} +{{ $cedKeynote = $cedKeynote | append . }} +{{ end }} + +{{ if eq .Params.cloud_engineering_days.track "customer_stories" }} +{{ $cedCustomers = $cedCustomers | append . }} +{{ end }} + +{{ if eq .Params.cloud_engineering_days.track "automate_deploy" }} +{{ $cedAutomation = $cedAutomation | append . }} +{{ end }} + +{{ if eq .Params.cloud_engineering_days.track "best_practices" }} +{{ $cedBestPractices = $cedBestPractices | append . }} +{{ end }} +{{ end }} +{{ end }} + + +
    +

    Cloud Engineering Days 2022

    +
    +
    +
    +
    -
    - -
    -
    -
    -
    -
    -
    -
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    +
    -
    -
    -
    -
    -

    Watch more sessions

    - -
      -
    • - {{ partial "accordian-header" (dict "text" "Keynote" "large_header" true) }} - - -
      - -
      -
    • +
      +
      +
      +
      +

      Watch more sessions

      -
    • - {{ partial "accordian-header" (dict "text" "Customer Stories" "large_header" true) }} +
        +
      • + {{ partial "accordian-header" (dict "text" "Keynote" "large_header" true) }} -
        - -
        -
      • +
        + +
        + -
      • - {{ partial "accordian-header" (dict "text" "Automate & Deploy" "large_header" true) }} +
      • + {{ partial "accordian-header" (dict "text" "Customer Stories" "large_header" true) }} -
        - -
        -
      • +
        + +
        + -
      • - {{ partial "accordian-header" (dict "text" "Infrastructure Best Practices" "large_header" true) }} +
      • + {{ partial "accordian-header" (dict "text" "Automate & Deploy" "large_header" true) }} -
        - -
        -
      • -
      -
    • -
      +
      + +
      + -
      -
      -

      Session Information

      +
    • + {{ partial "accordian-header" (dict "text" "Infrastructure Best Practices" "large_header" + true) }} -
      -

      {{ .Params.main.description | markdownify }}

      -
      Presenters
      -
        - {{ range .Params.main.presenters }} -
      • -
        {{ .name }}
        -
        {{ .role }}
        +
        + -
        + {{ end }} +
      +
      +
    • +
    +
    +
    + +
    +
    +

    Session Information

    + +
    +

    {{ .Params.main.description | markdownify }}

    + +
    Presenters
    +
      + {{ range .Params.main.presenters }} +
    • +
      {{ .name }}
      +
      {{ .role }}
      +
    • + {{ end }} +
    -
    - -
    -
    -

    Get started today

    -

    Pulumi is open source and free to get started. Deploy your first stack today.

    - +
    +
    + +
    +
    +

    Get started today

    +

    Pulumi is open source and free to get started. Deploy your first stack today.

    + -
    -{{ end }} +
    +
    +{{ end }} \ No newline at end of file diff --git a/layouts/webinars/cloud-engineering-summit-replay.html b/layouts/webinars/cloud-engineering-summit-replay.html index 147acfcbc808..4dd0731d503e 100644 --- a/layouts/webinars/cloud-engineering-summit-replay.html +++ b/layouts/webinars/cloud-engineering-summit-replay.html @@ -1,173 +1,176 @@ {{ define "hero" }} - {{ partial "hero" (dict "title" .Params.title ) }} +{{ partial "hero" (dict "title" .Params.title ) }} {{ end }} {{ define "main" }} - - {{ $webinars := (where $.Site.Pages "Type" "webinars") }} - - - - {{ $cesKeynotes := slice }} - {{ $cesBuild := slice }} - {{ $cesDeploy := slice }} - {{ $cesManage := slice }} - - {{ range sort $webinars ".Params.main.sortable_date" "asc" }} - {{ if isset .Params "cloud_engineering_summit" }} - {{ if eq .Params.cloud_engineering_summit.track "keynote" }} - {{ $cesKeynotes = $cesKeynotes | append . }} - {{ end }} - - {{ if eq .Params.cloud_engineering_summit.track "build" }} - {{ $cesBuild = $cesBuild | append . }} - {{ end }} - - {{ if eq .Params.cloud_engineering_summit.track "deploy" }} - {{ $cesDeploy = $cesDeploy | append . }} - {{ end }} - - {{ if eq .Params.cloud_engineering_summit.track "manage" }} - {{ $cesManage = $cesManage | append . }} - {{ end }} - {{ end }} - {{ end }} - - -
    -
    -
    -
    -
    -
    -
    -
    - + +{{ $webinars := (where $.Site.Pages "Type" "webinars") }} + + + +{{ $cesKeynotes := slice }} +{{ $cesBuild := slice }} +{{ $cesDeploy := slice }} +{{ $cesManage := slice }} + +{{ range sort $webinars ".Params.main.sortable_date" "asc" }} +{{ if isset .Params "cloud_engineering_summit" }} +{{ if eq .Params.cloud_engineering_summit.track "keynote" }} +{{ $cesKeynotes = $cesKeynotes | append . }} +{{ end }} + +{{ if eq .Params.cloud_engineering_summit.track "build" }} +{{ $cesBuild = $cesBuild | append . }} +{{ end }} + +{{ if eq .Params.cloud_engineering_summit.track "deploy" }} +{{ $cesDeploy = $cesDeploy | append . }} +{{ end }} + +{{ if eq .Params.cloud_engineering_summit.track "manage" }} +{{ $cesManage = $cesManage | append . }} +{{ end }} +{{ end }} +{{ end }} + + +
    +
    +
    +
    +
    -
    - -
    -
    -
    -
    -
    -
    -
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    +
    -
    -
    -
    -
    -

    Watch more sessions

    - -
      -
    • - {{ partial "accordian-header" (dict "text" "Keynotes" "large_header" true) }} - - -
      - -
      -
    • +
      +
      +
      +
      +

      Watch more sessions

      -
    • - {{ partial "accordian-header" (dict "text" "Build" "large_header" true) }} +
        +
      • + {{ partial "accordian-header" (dict "text" "Keynotes" "large_header" true) }} -
        - -
        -
      • +
        + +
        + -
      • - {{ partial "accordian-header" (dict "text" "Deploy" "large_header" true) }} +
      • + {{ partial "accordian-header" (dict "text" "Build" "large_header" true) }} -
        - -
        -
      • +
        + +
        + -
      • - {{ partial "accordian-header" (dict "text" "Manage" "large_header" true) }} +
      • + {{ partial "accordian-header" (dict "text" "Deploy" "large_header" true) }} -
        - -
        -
      • -
      -
    • -
      +
      + +
      + -
      -
      -

      Session Information

      +
    • + {{ partial "accordian-header" (dict "text" "Manage" "large_header" true) }} -
      -

      {{ .Params.main.description | markdownify }}

      -
      Presenters
      -
        - {{ range .Params.main.presenters }} -
      • -
        {{ .name }}
        -
        {{ .role }}
        +
        + -
        + {{ end }} +
      +
      +
    • +
    +
    +
    -
      -
    • - {{ partial "accordian-header" (dict "text" "Session Transcript" "large_header" true) }} +
      +
      +

      Session Information

      +
      +

      {{ .Params.main.description | markdownify }}

      -
      -

      - {{ .Params.transcript | markdownify }} -

      -
      +
      Presenters
      +
        + {{ range .Params.main.presenters }} +
      • +
        {{ .name }}
        +
        {{ .role }}
      • + {{ end }}
      + +
        +
      • + {{ partial "accordian-header" (dict "text" "Session Transcript" "large_header" true) }} + + +
        +

        + {{ .Params.transcript | markdownify }} +

        +
        +
      • +
    -
    - -
    -
    -

    Get started today

    -

    Pulumi is open source and free to get started. Deploy your first stack today.

    - +
    +
    + +
    +
    +

    Get started today

    +

    Pulumi is open source and free to get started. Deploy your first stack today.

    + -
    -{{ end }} +
    +
    +{{ end }} \ No newline at end of file diff --git a/layouts/webinars/single.html b/layouts/webinars/single.html index 651353a53e6c..83f3646b7bd4 100644 --- a/layouts/webinars/single.html +++ b/layouts/webinars/single.html @@ -1,69 +1,77 @@ {{ define "hero" }} - {{ partial "hero.html" (dict "title" "Events" "small_title" "true" "headingLevel" 3) }} +{{ partial "hero.html" (dict "title" "Events" "small_title" "true" "headingLevel" 3) }} {{ end }} {{ define "main" }} - - {{ $nowUnix := now.UnixMilli }} - - {{ $eventDateUnix := (add (.Params.main.sortable_date | time.AsTime).UnixMilli (duration "hour" 24).Milliseconds) }} - {{ $timePassed := gt $nowUnix $eventDateUnix }} + +{{ $nowUnix := now.UnixMilli }} + +{{ $eventDateUnix := (add (.Params.main.sortable_date | time.AsTime).UnixMilli (duration "hour" 24).Milliseconds) }} +{{ $timePassed := gt $nowUnix $eventDateUnix }} -
    -
    -
    -
    - {{ if .Params.main.youtube_url }} -
    All on-demand recordings
    - {{ else }} -
    All upcoming events
    - {{ end }} - {{ .Params.main.event_type | upper }} - - {{ if .Params.main.youtube_url }} - ON-DEMAND - {{ else }} - VIRTUAL - {{ end }} -

    {{ .Params.title }}

    +
    +
    +
    + +
    +
    + {{ if .Params.main.youtube_url }} + +
    All on-demand recordings
    +
    + {{ else }} + +
    All upcoming events
    +
    + {{ end }} + {{ .Params.main.event_type | upper }} + + {{ if .Params.main.youtube_url }} + ON-DEMAND + {{ else }} + VIRTUAL + {{ end }} +

    {{ .Params.title }}

    -
    -
    - {{ if not .Params.main.youtube_url }} - {{ partial "events/timing-info.html" (dict "datetime" .Params.main.sortable_date "duration" .Params.main.duration) }} - {{ end }} - {{ $show_cloud := true }} - {{ if eq .Params.main.event_type "event" }} - {{ $show_cloud = false }} - {{ end }} - {{ partial "events/summary.html" (dict "description" .Params.main.description "learn" .Params.main.learn "show_cloud" $show_cloud ) }} -
    +
    +
    + {{ if not .Params.main.youtube_url }} + {{ partial "events/timing-info.html" (dict "datetime" .Params.main.sortable_date "duration" + .Params.main.duration) }} + {{ end }} + {{ $show_cloud := true }} + {{ if eq .Params.main.event_type "event" }} + {{ $show_cloud = false }} + {{ end }} + {{ partial "events/summary.html" (dict "description" .Params.main.description "learn" + .Params.main.learn "show_cloud" $show_cloud ) }} +
    -
    - {{ if .Params.main.youtube_url }} - -
    - -
    - {{ else if and .Params.gated (not $timePassed) }} -
    -
    Register today
    - -
    - {{ end }} +
    + {{ if .Params.main.youtube_url }} + +
    +
    + {{ else if and .Params.gated (not $timePassed) }} +
    +
    Register today
    + +
    + {{ end }}
    - - {{ if .Params.main.presenters }} - {{ partial "events/event-speakers.html" (dict "presenters" .Params.main.presenters) }} - {{ end }} -
    +
    + + {{ if .Params.main.presenters }} + {{ partial "events/event-speakers.html" (dict "presenters" .Params.main.presenters) }} + {{ end }}
    -
    -{{ end }} - \ No newline at end of file +
    +
    +{{ end }} \ No newline at end of file diff --git a/layouts/what-is/single.html b/layouts/what-is/single.html index 2c3078d59416..bfb602a9a098 100644 --- a/layouts/what-is/single.html +++ b/layouts/what-is/single.html @@ -56,15 +56,15 @@

    {{ .title }}

    -
    +
    - -

    Get started today

    -

    Pulumi is open source and free to get started. Deploy your first stack today.

    - + +

    Get started today

    +

    Pulumi is open source and free to get started. Deploy your first stack today.

    +
    -{{ end }} +{{ end }} \ No newline at end of file diff --git a/theme/src/scss/_algolia.scss b/theme/src/scss/_algolia.scss index fc37c16f08f5..f9bfcbd324a4 100644 --- a/theme/src/scss/_algolia.scss +++ b/theme/src/scss/_algolia.scss @@ -18,7 +18,8 @@ } // Use our standard rounding for the button and the modal. -.aa-Form, .aa-DetachedSearchButton { +.aa-Form, +.aa-DetachedSearchButton { @apply rounded; } @@ -54,7 +55,7 @@ @apply bg-white z-40 m-0 absolute top-0 right-0 left-0; // We need a bit more specificity here to override the defaults set by the control. - .aa-DetachedContainer & { + .aa-DetachedContainer & { @apply my-0; } @@ -96,8 +97,9 @@ } // When active, show a strong underline. - &.active, &.active:hover:not(.disabled) { - @apply text-gray-900 border-violet-600; + &.active, + &.active:hover:not(.disabled) { + @apply text-gray-900 border-violet-700; button { img { @@ -161,7 +163,7 @@ // The highlight indicator (i.e., the portion of item, if any, that matches the search query). mark { - @apply bg-transparent border-b border-blue-600 border-opacity-50; + @apply bg-transparent border-b border-blue-700 border-opacity-50; } } @@ -169,10 +171,10 @@ .aa-SourceFooter { @apply bg-white z-40 py-2 mt-2 px-2 absolute right-0 bottom-0 left-0 text-xs text-gray-600; - > div { + >div { @apply pt-2 border-t border-gray-300 flex items-center justify-start; - > span { + >span { @apply mr-4; } } @@ -206,4 +208,4 @@ @apply text-gray-600; } } -} +} \ No newline at end of file diff --git a/theme/src/scss/_api-nodejs.scss b/theme/src/scss/_api-nodejs.scss index e8f31885fbea..e279fce23882 100644 --- a/theme/src/scss/_api-nodejs.scss +++ b/theme/src/scss/_api-nodejs.scss @@ -3,20 +3,20 @@ h3.pdoc-module-header { } // Indent all elements preceded by this header. -h3.pdoc-module-header ~ * { +h3.pdoc-module-header~* { @apply ml-4; } // ...except equal or larger headers. -h3.pdoc-module-header ~ h3, -h3.pdoc-module-header ~ h2 { +h3.pdoc-module-header~h3, +h3.pdoc-module-header~h2 { @apply ml-0; } // We want visually recognizable links here. .highlight { a { - @apply text-blue-600; + @apply text-blue-700; &:hover { @apply text-blue-700; @@ -79,7 +79,8 @@ ul.api { } } - &.datasource, // TODO: Remove `datasource` when it's no longer referenced anywhere. + &.datasource, + // TODO: Remove `datasource` when it's no longer referenced anywhere. &.function { &:before { content: "F"; @@ -95,4 +96,4 @@ ul.api { } } } -} +} \ No newline at end of file diff --git a/theme/src/scss/_buttons.scss b/theme/src/scss/_buttons.scss index 5733962e8c30..f0406ae4ac8e 100644 --- a/theme/src/scss/_buttons.scss +++ b/theme/src/scss/_buttons.scss @@ -5,7 +5,7 @@ @include transition; @apply cursor-pointer text-sm whitespace-nowrap py-2 px-3 rounded inline-block; - @apply bg-blue-600 border border-blue-600 text-white text-center; + @apply bg-blue-700 border border-blue-700 text-white text-center; &:hover { @apply bg-blue-500 border-blue-500 text-white; @@ -17,7 +17,7 @@ } .btn-secondary { - @apply bg-white border border-blue-500 text-blue-600; + @apply bg-white border border-blue-500 text-blue-700; &:hover { @apply bg-blue-500 text-white; @@ -100,4 +100,4 @@ left: 0px; z-index: 0; width: 100%; -} +} \ No newline at end of file diff --git a/theme/src/scss/_colors.scss b/theme/src/scss/_colors.scss index b3d3eeab5b21..034b075031ea 100644 --- a/theme/src/scss/_colors.scss +++ b/theme/src/scss/_colors.scss @@ -22,122 +22,161 @@ $brand-blue: map-get($brand, "blue"); $gray: ( 100: #f9f9f9, - 112: #f9f9fa, - 125: #f2f2f4, - 150: #e5e5e9, - 200: #e0e0e0, - 300: #dcdcdc, - 350: #bebfc9, - 400: #b0b0b0, - 450: #8e8f97, - 500: #808080, - 600: #5a5a5a, - 650: #5f6065, - 675: #4a5568, - 700: #484848, + 200: #dfdfdf, + 300: #d0d0d2, + 400: #aaa, + 500: #8f8f90, + 600: #757576, + 700: #5b5b5b, 800: #404041, - 900: #2b2b2c, - 925: #2f3032, - 950: #131314, + 900: #353537, + 1000: #2b2b2c ); $yellow: ( - 100: #fef9ea, - 200: #fdf2d4, - 300: #fce5aa, - 400: #fad97f, - 500: #f9cc55, + 100: #fffcf5, + 200: #fdf0ce, + 300: #fce3a7, + 400: #fad780, + 500: #f9cb59, 600: $brand-yellow, - 700: #c69922, - 800: #947319, - 900: #634c11, + 700: #987c37, + 800: #685525, + 900: #584412, + 1000: #413005 ); $salmon: ( - 100: #fef1f2, - 200: #fce2e5, + 100: #fff7f8, + 200: #fbd4d8, 300: #fac5cb, - 400: #f7a8b2, - 500: #f58b98, - 600: $brand-salmon, - 700: #c25865, - 800: #91424c, - 900: #612c32, + 400: #f9b7bf, + 500: #f69aa5, + 600: #f26e7e, + 700: #c45966, + 800: #902e3c, + 900: #6c232d, + 1000: #511a22 ); $fuchsia: ( - 100: #f8edf3, - 200: #f2dbe7, - 300: #e5b7ce, - 400: #d794b6, - 500: #ca709d, - 600: $brand-fuchsia, - 700: #973d6a, - 800: #712e50, - 900: #4c1e35, + 100: #fff5fa, + 200: #ffe8f3, + 300: #ffd5eb, + 400: #eeb2d1, + 500: #de90b8, + 600: #cd6e9e, + 700: #bd4c85, + 800: #872c5c, + 900: #701c4d, + 1000: #5a163e ); $purple: ( - 100: #f3ebf4, - 200: #e8d6e9, - 300: #d0add3, - 400: #b985bd, - 500: #a15ca7, - 600: $brand-purple, - 700: #6e2974, - 800: #531f57, - 900: #37143a, + 100: #fdf4fd, + 200: #f6e6f7, + 300: #edd3ef, + 400: #d4abd7, + 500: #bb83c0, + 600: #a25ba8, + 700: #8a3391, + 800: #752d7b, + 900: #0c0a0c, + 1000: #421645 ); $violet: ( - 100: #f2eff9, - 200: #e6def3, - 300: #ccbde7, - 400: #b39cdb, - 500: #997bcf, - 600: $brand-violet, - 700: #66489c, - 800: #4d3675, - 900: #33244e, + 100: #faf9fd, + 200: #e5dff1, + 300: #d7cdea, + 400: #bba9da, + 500: #a68ecf, + 600: #9174c3, + 700: #805ac3, + 800: #673eac, + 900: #481a96, + 1000: #2d0472 ); $blue: ( - 100: #edeffb, - 200: #dbdef7, - 250: #cacef4, - 300: #b8bdf0, - 350: #a6adec, - 400: #949de8, - 450: #828ce4, - 500: #717ce1, - 600: $brand-blue, - 700: #3e49ae, - 750: #364098, - 800: #2e3782, - 850: #272e6d, - 900: #1f2457, + 100: #f9f9fe, + 200: #dde0f8, + 300: #cbd0f6, + 400: #a5aced, + 500: #8992e8, + 600: #6d79e2, + 700: #4d5bd9, + 800: #3545d7, + 900: #091bbf, + 1000: #000280 ); $orange: ( - 100: #fff7eb, - 200: #fde6c4, - 300: #fad49e, - 400: #f6ba7e, - 500: #ee975c, - 600: #e17d47, - 700: #d86131, - 800: #ba4a2c, - 900: #993d29, + 100: #fefbf8, + 200: #f8e1cc, + 300: #f3c9a5, + 400: #ecac74, + 500: #e69148, + 600: #e0771c, + 700: #aa5a15, + 800: #733d0e, + 900: #652d00, + 1000: #4e1d00 ); $green: ( - 100: #e0fff2, - 200: #b2fbe0, - 300: #81eeca, - 400: #4ce1b4, - 500: #2fc89f, - 600: #25a78b, - 700: #1d8673, - 800: #19675b, - 900: #155148, + 100: #f8faf8, + 200: #d8e5d7, + 300: #c1d4bf, + 400: #99ba96, + 500: #79a476, + 600: #5a8f55, + 700: #3a7a35, + 800: #1a6414, + 900: #095703, + 1000: #004200 ); + +$aqua: ( + // Background 1 + 100: #f7fcfc, + // Background 2 + 200: #d1eeee, + // Background 3 + 300: #b4e3e2, + + 400: #84d2d1, + 500: #56bfbc, + + // Tertiary + 600: #30a2a0, + // Secondary + 700: #26817f, + // Primary + 800: #1b5e5c, + + 900: #144746, + 1000: #0c2f2f +); + +$red: ( + // Background 1 + 100: #fcf9f9, + // Background 2 + 200: #efdada, + // Background 3 + 300: #e7caca, + + 400: #d49e9e, + 500: #c68080, + + // Tertiary + 600: #b96262, + // Secondary + 700: #ab4444, + // Primary, Error, Destructive + 800: #9e2626, + + 900: #890b0b, + 1000: #670000 +); \ No newline at end of file diff --git a/theme/src/scss/_header.scss b/theme/src/scss/_header.scss index 0a16c50e84ee..d63af4fd0f28 100644 --- a/theme/src/scss/_header.scss +++ b/theme/src/scss/_header.scss @@ -41,7 +41,7 @@ .top-nav-banner-text { // TODO: update color - color: #505bd1; //#4d5bd9; + color: #505bd1; //#4d5bd9; } } } @@ -56,7 +56,7 @@ position: relative; &.is-pinned { - box-shadow: 0 1px 12px 0 rgba(0,0,0,.06),0 1px 4px 0 rgba(0,0,0,.04); + box-shadow: 0 1px 12px 0 rgba(0, 0, 0, .06), 0 1px 4px 0 rgba(0, 0, 0, .04); @screen md { @apply shadow-none; @@ -105,7 +105,7 @@ border: 1px solid #805ac3; border-radius: 20px; - background: linear-gradient(90deg,#be5188,#805ac3) border-box; + background: linear-gradient(90deg, #be5188, #805ac3) border-box; color: #fff; &:hover, @@ -128,7 +128,7 @@ } .header-container { - @apply z-40 bg-white py-0 ; + @apply z-40 bg-white py-0; top: -1px; @screen lg { @@ -137,7 +137,7 @@ &.is-pinned { @apply sticky; - box-shadow: 0 1px 12px 0 rgba(0,0,0,.06),0 1px 4px 0 rgba(0,0,0,.04); + box-shadow: 0 1px 12px 0 rgba(0, 0, 0, .06), 0 1px 4px 0 rgba(0, 0, 0, .04); } .logo-container { @@ -182,12 +182,12 @@ .dropdown-title { @apply pl-4 pr-8 text-base; - + @screen lg { @apply text-sm pl-2; } } - + @screen xl { .dropdown-title { @apply text-base pl-4; @@ -195,6 +195,7 @@ } &:hover { + a, .dropdown-title { color: $brand-violet; @@ -208,15 +209,18 @@ .header-nav-drop-down-menu { @apply w-full absolute hidden mt-5 pt-3 top-0 z-50; min-width: fit-content; + ul { @apply bg-white text-left rounded shadow-3xl p-5 whitespace-nowrap; min-width: fit-content; + div { .header-nav-drop-down-heading { border-top: 2px solid; border-image-slice: 1; border-image-source: linear-gradient(90deg, #f7bf2a 0%, #f26e7e 18.23%, #be5188 38.02%, #8a3391 53.65%, #805ac3 74.48%, #7682f4 100%); } + .header-nav-drop-down-heading-text { @apply font-medium; @apply mx-auto; @@ -242,6 +246,7 @@ .header-nav-two-col-drop-down { @apply flex flex-wrap w-full pt-2; + li { @apply pl-1 pr-2 py-2 flex-col w-1/2; } @@ -262,9 +267,11 @@ &:hover { @apply font-semibold; + a { @apply font-semibold; color: $brand-violet; + .list-sub-title { color: theme("colors.gray.800"); } @@ -275,9 +282,10 @@ a { @apply px-0; color: theme("colors.gray.800"); + i { min-width: 1.5rem; - color:theme("colors.gray.700"); + color: theme("colors.gray.700"); } } @@ -294,6 +302,7 @@ .product { min-width: 70ch; @apply -left-24; + @screen xl { @apply left-0; } @@ -330,7 +339,7 @@ } } } - + @screen xl { @apply mx-8; } @@ -340,7 +349,7 @@ @apply hidden; } - .mobile-menu-toggle:checked + .mobile-menu-icon { + .mobile-menu-toggle:checked+.mobile-menu-icon { .mobile-menu-closed { @apply hidden; } @@ -365,6 +374,7 @@ div { @apply flex flex-wrap; + &:not(:first-of-type) { @apply mt-4; } @@ -384,6 +394,7 @@ .mobile-menu-item { @apply text-2xl font-display text-gray-800 mt-4; + a { @apply ml-3.5; } @@ -405,9 +416,11 @@ [class*="mobile-menu-subitems-"] { @apply mt-2 text-base hidden; flex-basis: 100%; + a { @apply text-xl font-medium text-gray-700 mt-4; color: theme("colors.gray.800"); + i { min-width: 2rem; color: theme("colors.gray.700"); @@ -427,33 +440,37 @@ opacity: 0%; } - #why-pulumi-mobile-menu:checked ~ { + #why-pulumi-mobile-menu:checked~ { .mobile-menu-subitems-why-pulumi { @apply block; } + .mobile-menu-heading { color: $brand-violet; } - label > span.dropdown-menu-caret { + + label>span.dropdown-menu-caret { @apply opacity-50; transform: rotate(180deg); } } - #product-mobile-menu:checked ~ { + #product-mobile-menu:checked~ { .mobile-menu-subitems-product { @apply block; } + .mobile-menu-heading { color: $brand-violet; } - label > span.dropdown-menu-caret { + + label>span.dropdown-menu-caret { @apply opacity-50; transform: rotate(180deg); } } - #learn-mobile-menu:checked ~ { + #learn-mobile-menu:checked~ { .mobile-menu-subitems-learn { @apply block; } @@ -462,13 +479,13 @@ color: $brand-violet; } - label > span.dropdown-menu-caret { + label>span.dropdown-menu-caret { @apply opacity-50; transform: rotate(180deg); } } - #company-mobile-menu:checked ~ { + #company-mobile-menu:checked~ { .mobile-menu-subitems-company { @apply block; } @@ -477,7 +494,7 @@ color: $brand-violet; } - label > span.dropdown-menu-caret { + label>span.dropdown-menu-caret { @apply opacity-50; transform: rotate(180deg); } @@ -485,7 +502,7 @@ } } - .mobile-menu-toggle:checked + .mobile-menu-icon + .mobile-menu { + .mobile-menu-toggle:checked+.mobile-menu-icon+.mobile-menu { @apply block; @screen lg { @@ -495,13 +512,16 @@ .mobile-menu-footer { @apply block w-full h-screen overflow-y-auto; + .get-started { @apply flex flex-col h-16 items-center; + a { @apply flex h-full w-full justify-center items-center; } } + @screen lg { @apply hidden; } @@ -520,7 +540,8 @@ } } -.registry-hero, .docs-hero { +.registry-hero, +.docs-hero { @apply w-full flex relative flex-col justify-center; .dot-overlay { @@ -552,15 +573,17 @@ .header-pinned-container { width: 315px; + .get-started-pinned-search-container { width: 136px; + .get-started-pinned-search-button { - @apply flex items-center justify-center text-violet-600 text-sm; + @apply flex items-center justify-center text-violet-700 text-sm; height: 33px; padding: 8px 16px; - border: 1px solid theme("colors.violet.600"); + border: 1px solid theme("colors.violet.700"); border-radius: 20px; width: max-content; @@ -574,4 +597,4 @@ } } } -} +} \ No newline at end of file diff --git a/theme/src/scss/_hero.scss b/theme/src/scss/_hero.scss index 499588c49c68..ec90b559bcfa 100644 --- a/theme/src/scss/_hero.scss +++ b/theme/src/scss/_hero.scss @@ -11,10 +11,10 @@ $bc1: theme("colors.yellow.600"); $bc2: theme("colors.salmon.600"); - $bc3: theme("colors.fuchsia.600"); - $bc4: theme("colors.purple.600"); - $bc5: theme("colors.violet.600"); - $bc6: theme("colors.blue.600"); + $bc3: theme("colors.fuchsia.700"); + $bc4: theme("colors.purple.700"); + $bc5: theme("colors.violet.700"); + $bc6: theme("colors.blue.700"); background-image: linear-gradient(to right, $bc1 0%, $bc2 10%, $bc3 20%, $bc4 30%, $bc5 40%, $bc6 50%, $bc5 60%, $bc4 70%, $bc3 80%, $bc2 90%, $bc1 100%); background-size: 200%; @@ -41,10 +41,12 @@ } @keyframes wave { + 0%, 100% { background-position: 0vw center; } + 50% { background-position: -100vw center; } @@ -108,11 +110,13 @@ p { @apply text-lg rounded px-2 mx-auto; background-color: rgba(255, 255, 255, 0.7); - max-width: 48rem; /* Limit width to match header better */ + max-width: 48rem; + /* Limit width to match header better */ @screen lg { @apply mx-0; - max-width: 42rem; /* Slightly narrower on desktop */ + max-width: 42rem; + /* Slightly narrower on desktop */ } } @@ -142,6 +146,7 @@ h1 { @apply text-center max-w-4xl; font-weight: 700; + @screen lg { font-size: 3.75rem; line-height: 1.3; @@ -150,6 +155,7 @@ h2 { @apply text-center max-w-4xl; + @screen lg { font-size: 3rem; line-height: 1.3; @@ -158,6 +164,7 @@ h3 { @apply text-center max-w-4xl; + @screen lg { font-size: 2.5rem; line-height: 1.3; @@ -199,4 +206,4 @@ &::after { @apply top-0; } -} +} \ No newline at end of file diff --git a/theme/src/scss/_hubspot.scss b/theme/src/scss/_hubspot.scss index c620318effbe..1009e6bba987 100644 --- a/theme/src/scss/_hubspot.scss +++ b/theme/src/scss/_hubspot.scss @@ -111,7 +111,7 @@ } &.hs-button { - @apply block btn btn-lg btn border-none py-3 px-6 rounded-lg w-auto bg-violet-600 ml-2; + @apply block btn btn-lg btn border-none py-3 px-6 rounded-lg w-auto bg-violet-700 ml-2; } &:focus { diff --git a/theme/src/scss/_icons.scss b/theme/src/scss/_icons.scss index ac18484f69e9..9acb56be550d 100644 --- a/theme/src/scss/_icons.scss +++ b/theme/src/scss/_icons.scss @@ -5,55 +5,56 @@ $fa-font-path: "/fonts/fontawesome"; @import "fontawesome/fa-regular.scss"; @import "fontawesome/fa-brands.scss"; -@each $icon - in "team" - "abstract-shapes" - "accordion-closed" - "accordion-open" - "alert" - "architecture" - "buildings" - "clipboard" - "clock" - "clode-with-nodes" - "cloud-with-nodes" - "cloud" - "clouds" - "code-window" - "code" - "collab" - "cycle" - "delivery" - "download-from-cloud" - "exchange" - "eye" - "gavel" - "gear" - "git-merged" - "global" - "guage" - "hamburger-closed" - "hamburger-open" - "lightning" - "lock" - "monitor" - "nodes-and-rays" - "nodes" - "pen" - "program" - "puzzle" - "security" - "shield" - "ship" - "testing" - "type-cursor" - "upload-to-cloud" -{ +@each $icon in "team" +"abstract-shapes" +"accordion-closed" +"accordion-open" +"alert" +"architecture" +"buildings" +"clipboard" +"clock" +"clode-with-nodes" +"cloud-with-nodes" +"cloud" +"clouds" +"code-window" +"code" +"collab" +"cycle" +"delivery" +"download-from-cloud" +"exchange" +"eye" +"gavel" +"gear" +"git-merged" +"global" +"guage" +"hamburger-closed" +"hamburger-open" +"lightning" +"lock" +"monitor" +"nodes-and-rays" +"nodes" +"pen" +"program" +"puzzle" +"security" +"shield" +"ship" +"testing" +"type-cursor" +"upload-to-cloud" + + { .icon-#{ $icon } { @apply rounded-full inline-block p-4 w-20 h-20; &-small { @apply p-2 w-10 h-10; + svg { max-width: 24px; max-height: 24px; @@ -88,7 +89,7 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-fuchsia-100; svg * { - stroke: theme("colors.fuchsia.600"); + stroke: theme("colors.fuchsia.700"); } } @@ -96,7 +97,7 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-purple-100; svg * { - stroke: theme("colors.purple.600"); + stroke: theme("colors.purple.700"); } } @@ -104,7 +105,7 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-violet-100; svg * { - stroke: theme("colors.violet.600"); + stroke: theme("colors.violet.700"); } } @@ -112,7 +113,7 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-blue-100; svg * { - stroke: theme("colors.blue.600"); + stroke: theme("colors.blue.700"); } } } @@ -124,6 +125,7 @@ $fa-font-path: "/fonts/fontawesome"; &-small { @apply p-2 w-10 h-10; + svg { max-width: 24px; max-height: 24px; @@ -161,8 +163,8 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-fuchsia-100; svg * { - stroke: theme("colors.fuchsia.600"); - fill: theme("colors.fuchsia.600") !important; + stroke: theme("colors.fuchsia.700"); + fill: theme("colors.fuchsia.700") !important; } } @@ -170,12 +172,12 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-purple-100; svg * { - stroke: theme("colors.purple.600"); - fill: theme("colors.purple.600"); + stroke: theme("colors.purple.700"); + fill: theme("colors.purple.700"); } svg rect { - fill: theme("colors.purple.600"); + fill: theme("colors.purple.700"); } } @@ -183,8 +185,8 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-violet-100; svg * { - stroke: theme("colors.violet.600"); - fill: theme("colors.violet.600") !important; + stroke: theme("colors.violet.700"); + fill: theme("colors.violet.700") !important; } } @@ -192,8 +194,8 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-blue-100; svg * { - stroke: theme("colors.blue.600"); - fill: theme("colors.blue.600") !important; + stroke: theme("colors.blue.700"); + fill: theme("colors.blue.700") !important; } } } @@ -205,6 +207,7 @@ $fa-font-path: "/fonts/fontawesome"; &-small { @apply p-2 w-10 h-10; + svg { max-width: 24px; max-height: 24px; @@ -251,11 +254,11 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-fuchsia-100; svg * { - stroke: theme("colors.fuchsia.600"); + stroke: theme("colors.fuchsia.700"); } svg rect { - fill: theme("colors.fuchsia.600"); + fill: theme("colors.fuchsia.700"); } } @@ -263,11 +266,11 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-purple-100; svg * { - stroke: theme("colors.purple.600"); + stroke: theme("colors.purple.700"); } svg rect { - fill: theme("colors.purple.600"); + fill: theme("colors.purple.700"); } } @@ -275,11 +278,11 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-violet-100; svg * { - stroke: theme("colors.violet.600"); + stroke: theme("colors.violet.700"); } svg rect { - fill: theme("colors.violet.600"); + fill: theme("colors.violet.700"); } } @@ -287,12 +290,12 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-blue-100; svg * { - stroke: theme("colors.blue.600"); + stroke: theme("colors.blue.700"); } svg rect { - fill: theme("colors.blue.600"); + fill: theme("colors.blue.700"); } } } -} +} \ No newline at end of file diff --git a/theme/src/scss/_lists.scss b/theme/src/scss/_lists.scss index e8fb2a7a8ae2..db594176d1b6 100644 --- a/theme/src/scss/_lists.scss +++ b/theme/src/scss/_lists.scss @@ -1,9 +1,9 @@ dl { + &.resources-properties, &.package-details, &.tabular, - body.section-templates & - { + body.section-templates & { @apply mb-8 mt-4 p-1 flex flex-col items-start items-stretch bg-gray-100 border rounded border-gray-300 text-sm text-gray-700; @screen lg { @@ -65,7 +65,7 @@ dl { } a { - @apply text-blue-600; + @apply text-blue-700; } } @@ -98,7 +98,7 @@ dl { } &.property-deprecated { - ~ dd { + ~dd { .property-message { @apply bg-orange-200 text-orange-600 my-4 px-5 py-4 rounded text-sm; @@ -123,8 +123,9 @@ dl { .property-type { @apply block font-normal font-mono mt-2 text-xs; + a { - @apply text-blue-600; + @apply text-blue-700; } } @@ -133,4 +134,4 @@ dl { } } } -} +} \ No newline at end of file diff --git a/theme/src/scss/_marketing.scss b/theme/src/scss/_marketing.scss index 2b05cfeca2f6..45d8bf01afc0 100644 --- a/theme/src/scss/_marketing.scss +++ b/theme/src/scss/_marketing.scss @@ -10,18 +10,23 @@ body { h1 { @apply text-5xl; } + h2 { @apply text-4xl; } + h3 { @apply text-3xl; } + h4 { @apply text-2xl; } + h5 { @apply text-xl; } + h6 { @apply text-base; } @@ -84,7 +89,7 @@ body { } .btn-secondary { - @apply bg-white text-violet-600 border-2 border-violet-600; + @apply bg-white text-violet-700 border-2 border-violet-700; @include transition; &.disabled { @@ -92,7 +97,7 @@ body { } &:hover { - @apply bg-violet-600 text-white; + @apply bg-violet-700 text-white; } &:focus { @@ -101,13 +106,13 @@ body { } // Make the borders transparent when the button is over a background of the same color. - .bg-violet-600 .btn-secondary { + .bg-violet-700 .btn-secondary { @apply border-transparent; } - // white secondary button for violet-600 background + // white secondary button for violet-700 background .btn-secondary-home-action { - @apply bg-violet-600 text-white border-2 border-white whitespace-normal; + @apply bg-violet-700 text-white border-2 border-white whitespace-normal; @include transition; &.disabled { @@ -131,18 +136,23 @@ body { @apply text-5xl; } } + h2 { @apply text-5xl; } + h3 { @apply text-4xl; } + h4 { @apply text-3xl; } + h5 { @apply text-2xl; } + h6 { @apply text-lg; } @@ -151,6 +161,7 @@ body { .home-page-build-section-background { @apply w-full h-full overflow-hidden absolute top-0 left-0 border-gray-300; + .home-page-build-section-image { @apply w-full h-full; opacity: 0.5; @@ -186,7 +197,7 @@ body { .section-partner { .btn-primary:hover { - background:linear-gradient(90deg, #be5188 0%, #805ac3 100%) + background: linear-gradient(90deg, #be5188 0%, #805ac3 100%) } } @@ -197,4 +208,4 @@ body { pulumi-copilot { display: none; } -} +} \ No newline at end of file diff --git a/theme/src/scss/_mixins.scss b/theme/src/scss/_mixins.scss index 12ae61b71142..6c25daa40f4b 100644 --- a/theme/src/scss/_mixins.scss +++ b/theme/src/scss/_mixins.scss @@ -22,11 +22,11 @@ } @mixin gradient-background() { - background: linear-gradient(90deg, #be5188 0%, theme("colors.violet.600") 100%); + background: linear-gradient(90deg, #be5188 0%, theme("colors.violet.700") 100%); } @mixin gradient-button { - @apply relative text-white bg-violet-600 border-violet-600 border-2 rounded-lg cursor-pointer z-auto; + @apply relative text-white bg-violet-700 border-violet-700 border-2 rounded-lg cursor-pointer z-auto; &:hover { @apply no-underline; @@ -68,6 +68,6 @@ } &:focus { - @apply bg-blue-600 border-blue-600; + @apply bg-blue-700 border-blue-700; } -} +} \ No newline at end of file diff --git a/theme/src/scss/_search.scss b/theme/src/scss/_search.scss index b6ba8375ab5f..9665fecbfb45 100644 --- a/theme/src/scss/_search.scss +++ b/theme/src/scss/_search.scss @@ -11,7 +11,7 @@ @apply flex flex-grow gap-3 items-center font-display text-base py-3 px-6 border-b-4 mt-1 border-transparent text-gray-700; &.tab-selected { - @apply font-bold border-violet-600 text-gray-900 bg-gray-100; + @apply font-bold border-violet-700 text-gray-900 bg-gray-100; } img { @@ -43,20 +43,26 @@ padding: 3px; margin-left: 12px; cursor: pointer; + .expand-content { display: none; + @media (min-width: 1526px) { display: block; } + &.hide { display: none; } } + .collapse-content { display: none; + @media (min-width: 1526px) { display: block; } + &.hide { display: none; } @@ -74,4 +80,4 @@ @screen lg { @apply mx-auto justify-start; } -} +} \ No newline at end of file diff --git a/theme/src/scss/components/_audio.scss b/theme/src/scss/components/_audio.scss index fa7113348342..a616dce7b434 100644 --- a/theme/src/scss/components/_audio.scss +++ b/theme/src/scss/components/_audio.scss @@ -3,7 +3,7 @@ $orange400: theme("colors.orange.400"); $orange600: theme("colors.orange.600"); $blue400: theme("colors.blue.400"); -$blue600: theme("colors.blue.600"); +$blue600: theme("colors.blue.700"); $green200: theme("colors.green.200"); $green400: theme("colors.green.400"); @@ -17,6 +17,7 @@ pulumi-audio { .audio-container { @apply cursor-pointer text-center; + i { @apply mr-4; } @@ -27,4 +28,4 @@ pulumi-audio { box-shadow: 0 0 15px, 0 0 2px, 0 0 1em $orange600, 0 0 0.5em $orange600, 0 0 0.1em $orange600; } } -} +} \ No newline at end of file diff --git a/theme/src/scss/components/_convert.scss b/theme/src/scss/components/_convert.scss index e1e4f6d42591..68a86d45e8b4 100644 --- a/theme/src/scss/components/_convert.scss +++ b/theme/src/scss/components/_convert.scss @@ -6,7 +6,7 @@ pulumi-convert { @apply flex-row; .CodeMirror { - ~ .CodeMirror { + ~.CodeMirror { @apply ml-4; } } @@ -33,7 +33,7 @@ pulumi-convert { @apply cursor-default bg-blue-800 border-blue-800 text-gray-400; } - @screen xl { + @screen xl { @apply w-auto justify-start; } } @@ -66,7 +66,7 @@ pulumi-convert { p { a { - @apply text-blue-600; + @apply text-blue-700; &:hover { @apply underline; @@ -291,4 +291,4 @@ pulumi-convert { } } } -} +} \ No newline at end of file diff --git a/theme/src/scss/docs/_packages.scss b/theme/src/scss/docs/_packages.scss index d64078e7c0b7..5883e7110093 100644 --- a/theme/src/scss/docs/_packages.scss +++ b/theme/src/scss/docs/_packages.scss @@ -1,10 +1,10 @@ .all-packages { .package { - ~ .no-results { + ~.no-results { @apply block; } - &:not([class*="hidden"]) ~ .no-results { + &:not([class*="hidden"])~.no-results { @apply hidden; } } @@ -131,11 +131,12 @@ } .packages { + .featured-packages .featured-package, .all-packages .package { a:hover { .title { - @apply text-blue-600 underline; + @apply text-blue-700 underline; } } } @@ -146,6 +147,7 @@ } div.packages { + section.featured-packages, section.all-packages { h2 { @@ -177,7 +179,8 @@ div.packages section.featured-packages { border-radius: 12px; display: flex; flex-direction: column; - flex-basis: 100%;; + flex-basis: 100%; + ; align-items: center; justify-content: stretch; padding: 18px; @@ -189,14 +192,14 @@ div.packages section.featured-packages { text-align: center; flex: 1; } - + .package-logo { display: flex; align-items: center; justify-content: center; height: 32px; } - + .package-title { flex-grow: 1; font-family: 'Gilroy'; @@ -207,7 +210,7 @@ div.packages section.featured-packages { align-items: center; justify-content: center; } - + .package-version { font-family: 'Gilroy'; font-weight: 500; @@ -227,7 +230,8 @@ div.packages section.featured-packages { div.featured-package { flex-basis: 25%; } + flex-wrap: nowrap; } } -} +} \ No newline at end of file diff --git a/theme/src/scss/main.scss b/theme/src/scss/main.scss index 33ff647ddc98..f8766cca158c 100644 --- a/theme/src/scss/main.scss +++ b/theme/src/scss/main.scss @@ -97,6 +97,7 @@ h6 { @apply font-display text-gray-800 mb-2; &:not(:first-child) { + // Don't apply top margin when one's being specified. &:not([class*="mt-"]):not([class*="m-"]) { @apply mt-8; @@ -160,7 +161,7 @@ main { blockquote, table { a { - @apply text-blue-600 break-words; + @apply text-blue-700 break-words; &:hover { @apply text-blue-700; @@ -215,20 +216,22 @@ main { @apply text-blue-700; } -.section-blog, .section-tags, .section-authors { +.section-blog, +.section-tags, +.section-authors { .tags { .tag { @apply lowercase border border-blue-200 rounded py-1 px-2 mr-1; &.tag-blog { - @apply bg-gray-100 text-blue-600; + @apply bg-gray-100 text-blue-700; &:hover { @apply border-blue-300 text-blue-700 no-underline; } &.active { - @apply border-blue-600 bg-blue-600 text-white; + @apply border-blue-700 bg-blue-700 text-white; &:hover { @apply text-white; @@ -253,7 +256,7 @@ main { } .github-widget { - > span { + >span { @apply flex; } } @@ -323,12 +326,14 @@ $sitenav-offset: calc($sitenav-height + 16px); } .section-docs { + // Hide the language-specific SDK-docs tables until we've removed them from the provider builds. - main .container dl.package-details + p + dl.tabular { + main .container dl.package-details+p+dl.tabular { @apply hidden; } + // Hide input and output type notes as well. - #supporting-types ~ h4 ~ div pulumi-choosable .active blockquote { + #supporting-types~h4~div pulumi-choosable .active blockquote { @apply hidden; } } @@ -387,6 +392,7 @@ pulumi-tree-item { &::part(expand-collapse-button) { @apply text-xs; } + &.expanded { .glyph { transform: rotateZ(90deg); @@ -401,9 +407,10 @@ section.newsletter-input pulumi-hubspot-form input.hs-input { #segment-consent-manager:empty { @apply hidden; } + #segment-consent-manager { - @apply text-black fixed bottom-0 right-0 left-0 m-4 border-2 border-violet-600 rounded-lg shadow-lg; + @apply text-black fixed bottom-0 right-0 left-0 m-4 border-2 border-violet-700 rounded-lg shadow-lg; z-index: 99999; @screen lg { @@ -411,9 +418,9 @@ section.newsletter-input pulumi-hubspot-form input.hs-input { } div { - @apply bg-white; + @apply bg-white; } - + p { @apply text-black text-left text-sm pr-2; @@ -432,7 +439,7 @@ section.newsletter-input pulumi-hubspot-form input.hs-input { } .manage-cookies-btn { - @apply mt-2 bg-violet-600 text-white font-bold border-2 border-violet-600 no-underline p-3 rounded-md; + @apply mt-2 bg-violet-700 text-white font-bold border-2 border-violet-700 no-underline p-3 rounded-md; @include transition; &.disabled { @@ -449,4 +456,4 @@ section.newsletter-input pulumi-hubspot-form input.hs-input { } } -@tailwind utilities; +@tailwind utilities; \ No newline at end of file diff --git a/theme/src/scss/marketing/_pricing.scss b/theme/src/scss/marketing/_pricing.scss index b581f282691b..1c3b76b9b696 100644 --- a/theme/src/scss/marketing/_pricing.scss +++ b/theme/src/scss/marketing/_pricing.scss @@ -74,7 +74,7 @@ } .compare-table-link { - @apply underline text-blue-600; + @apply underline text-blue-700; } } } @@ -83,7 +83,7 @@ .pricing-faq { @each $filter-type in "product" "billing" "pricing" { #faq-#{$filter-type}:target { - ~ #faq-headers { + ~#faq-headers { li { @apply border-none; @@ -93,14 +93,14 @@ } li[data-faq-label="#{$filter-type}"] { - @apply border-b-4 border-solid border-blue-600; + @apply border-b-4 border-solid border-blue-700; a { @apply text-black; } } - @if $filter-type != "pricing" { + @if $filter-type !="pricing" { li[data-faq-label="pricing"] { @apply border-none; @@ -111,13 +111,13 @@ } } - @if $filter-type != "pricing" { - ~ ul[data-faq-type="faq-pricing"] { + @if $filter-type !="pricing" { + ~ul[data-faq-type="faq-pricing"] { @apply hidden; } } - ~ ul[data-faq-type="faq-#{$filter-type}"] { + ~ul[data-faq-type="faq-#{$filter-type}"] { @apply block; } } @@ -139,6 +139,7 @@ } &:hover { + p, i { @apply text-gray-700; @@ -147,11 +148,11 @@ } input[type="checkbox"]:checked { - ~ .faq-item-label i { + ~.faq-item-label i { transform: rotate(180deg); } - ~ .faq-item-text { + ~.faq-item-text { @apply block; } } @@ -163,7 +164,7 @@ } .trialed-editions { - .edition > div { + .edition>div { @apply rounded-xl; box-shadow: 0px 6px 36px rgba(0, 0, 0, 0.1); } @@ -178,7 +179,7 @@ @apply rounded-xl; box-shadow: 0px 6px 36px rgba(0, 0, 0, 0.1); - .edition > div { + .edition>div { border-radius: none; box-shadow: none; } @@ -188,10 +189,12 @@ .edition, .trialed-editions, .ready-cta { + p, span { color: map-get($gray, 800) !important; } + span.tooltip-content span { color: white !important; } @@ -201,4 +204,4 @@ &.gradient { background: linear-gradient(90deg, #f7bf2a 0%, #f26e7e 18.23%, #be5188 38.02%, #8a3391 53.65%, #805ac3 74.48%, #7682f4 100%); } -} +} \ No newline at end of file diff --git a/theme/src/scss/marketing/_product.scss b/theme/src/scss/marketing/_product.scss index e5d998aa4d38..edc9fc5be272 100644 --- a/theme/src/scss/marketing/_product.scss +++ b/theme/src/scss/marketing/_product.scss @@ -3,7 +3,7 @@ @apply text-gray-700 underline; &:hover { - @apply text-blue-600; + @apply text-blue-700; } } } @@ -25,18 +25,19 @@ @each $filter-type in "build" "deploy" "manage" { ##{$filter-type}:target { - ~ .product-carousel-headers li[data-product-carousel-type="#{$filter-type}"] { + ~.product-carousel-headers li[data-product-carousel-type="#{$filter-type}"] { @include gradient-border; a { @apply text-gray-800; } } - ~ .product-carousel-items-list li[data-product-carousel-type="#{$filter-type}"] { + + ~.product-carousel-items-list li[data-product-carousel-type="#{$filter-type}"] { @apply block; } - ~ .product-carousel-headers li:not([data-product-carousel-type="#{$filter-type}"]) { + ~.product-carousel-headers li:not([data-product-carousel-type="#{$filter-type}"]) { @apply font-display p-0 m-0 border-b-2 transition border-gray-300; border-image-source: none; @@ -44,7 +45,8 @@ @apply text-gray-700; } } - ~ .product-carousel-items-list li:not([data-product-carousel-type="#{$filter-type}"]) { + + ~.product-carousel-items-list li:not([data-product-carousel-type="#{$filter-type}"]) { @apply hidden; } } @@ -92,4 +94,4 @@ .product-carousel-items-list { @apply list-none relative px-2; } -} +} \ No newline at end of file diff --git a/theme/src/scss/marketing/_shape-backgrounds.scss b/theme/src/scss/marketing/_shape-backgrounds.scss index cab8bfeb42fd..18eca66628be 100644 --- a/theme/src/scss/marketing/_shape-backgrounds.scss +++ b/theme/src/scss/marketing/_shape-backgrounds.scss @@ -16,7 +16,7 @@ } &.about-awards-section { - .circle-top-left { + .circle-top-left { @apply rounded-full absolute bg-yellow-600; width: 17rem; height: 17rem; @@ -32,8 +32,8 @@ bottom: 14rem; } - .circle-bottom-left { - @apply rounded-full absolute bg-purple-600; + .circle-bottom-left { + @apply rounded-full absolute bg-purple-700; width: 12rem; height: 12rem; left: 0rem; @@ -50,8 +50,8 @@ } &.about-what-we-believe { - .circle-top-left { - @apply rounded-full absolute bg-fuchsia-600; + .circle-top-left { + @apply rounded-full absolute bg-fuchsia-700; width: 22rem; height: 22rem; left: .75rem; @@ -74,8 +74,8 @@ bottom: 16rem; } - .circle-bottom-left { - @apply rounded-full absolute bg-purple-600; + .circle-bottom-left { + @apply rounded-full absolute bg-purple-700; width: 5.5rem; height: 5.5rem; left: 0rem; @@ -92,6 +92,7 @@ } &.home-build-section { + .circle-left, .circle-center, .circle-right { @@ -165,7 +166,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 10.5rem; height: 10.5rem; left: -5.25rem; @@ -173,7 +174,7 @@ } .circle-right { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 20.25rem; height: 20.25rem; right: -1.5rem; @@ -201,7 +202,7 @@ &.home-video-section { .circle-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 13.75rem; height: 13.75rem; left: 2rem; @@ -300,7 +301,7 @@ .circle-left, .circle-right { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; } .circle-left { @@ -333,7 +334,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 20.25rem; height: 20.25rem; left: -1.5rem; @@ -341,7 +342,7 @@ } .circle-right { - @apply rounded-full absolute bg-purple-600 top-0; + @apply rounded-full absolute bg-purple-700 top-0; width: 10.5rem; height: 10.5rem; right: -5.25rem; @@ -396,7 +397,7 @@ @apply absolute top-0 left-0; } } - + .circle-left { @apply rounded-full absolute bg-salmon-600; width: 20.25rem; @@ -486,7 +487,7 @@ &.cloud-engineering-manage-section { .circle-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 20.25rem; height: 20.25rem; left: -10rem; @@ -494,7 +495,7 @@ } .circle-right { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 8.313rem; height: 8.313rem; right: 6rem; @@ -522,7 +523,7 @@ &.cloud-engineering-use-cases-section { .circle-right { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 13.25rem; height: 13.25rem; right: -6.125rem; @@ -570,7 +571,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 12.75rem; height: 12.75rem; left: -6.375rem; @@ -701,7 +702,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 12.5rem; height: 12.5rem; left: -6.25rem; @@ -719,7 +720,7 @@ } .circle-right { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 12.5rem; height: 12.5rem; right: -6.25rem; @@ -744,7 +745,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 12.5rem; height: 12.5rem; left: -6.25rem; @@ -807,7 +808,7 @@ } .circle-bottom { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 20.25rem; height: 20.25rem; bottom: -2rem; @@ -819,7 +820,7 @@ height: 48rem; .circle-right { - @apply rounded-full absolute bg-blue-600; + @apply rounded-full absolute bg-blue-700; width: 19rem; height: 19rem; right: -8.5rem; @@ -827,7 +828,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 12.75rem; height: 12.75rem; left: -6.375rem; @@ -855,7 +856,7 @@ &.automation-video { .circle-left { - @apply rounded-full absolute bg-violet-600; + @apply rounded-full absolute bg-violet-700; width: 5rem; height: 5rem; left: -2.5rem; @@ -863,7 +864,7 @@ } .circle-right { - @apply rounded-full absolute bg-fuchsia-600; + @apply rounded-full absolute bg-fuchsia-700; width: 8rem; height: 8rem; right: -4rem; @@ -901,7 +902,7 @@ &.pulumi-service-capabilities { .circle-top { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 19rem; height: 19rem; right: -9.5rem; @@ -927,7 +928,7 @@ &.pulumi-service-security { .circle-right { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 20rem; height: 20rem; left: -10rem; @@ -937,7 +938,7 @@ &.self-hosted-overview { .circle-right { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 12rem; height: 12rem; right: -7rem; @@ -973,7 +974,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 12.75rem; height: 12.75rem; left: -6rem; @@ -989,7 +990,7 @@ right: 6rem; top: 20rem; } - + .circle-left { @apply rounded-full absolute bg-salmon-600; width: 14rem; @@ -1001,13 +1002,13 @@ &.developer-advocates-giveaway-section { .circle-top { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 10rem; height: 10rem; right: -4.5rem; top: 0.75rem; } - + .circle-center { @apply rounded-full absolute bg-salmon-600; width: 7rem; @@ -1015,7 +1016,7 @@ right: 27rem; top: -3.5rem; } - + .circle-bottom { @apply rounded-full absolute bg-yellow-600; width: 21.25rem; @@ -1024,4 +1025,4 @@ bottom: -17rem; } } -} +} \ No newline at end of file diff --git a/theme/src/ts/pulumi-cloud.ts b/theme/src/ts/pulumi-cloud.ts index 83178a240c16..22a847eddee7 100644 --- a/theme/src/ts/pulumi-cloud.ts +++ b/theme/src/ts/pulumi-cloud.ts @@ -8,11 +8,11 @@ $(function () { productTabs.forEach(id => { if (id !== tab) { $(`#${id}-content`).addClass("hidden"); - $(`#${id}`).removeClass("border-blue-600"); + $(`#${id}`).removeClass("border-blue-700"); $(`#${id}-text`).removeClass("rainbow-text"); } }); - $(`#${tab}`).addClass("border-blue-600"); + $(`#${tab}`).addClass("border-blue-700"); $(`#${tab}-text`).addClass("rainbow-text") $(`#${tab}-content`).removeClass("hidden") }); @@ -23,11 +23,11 @@ $(function () { capabilityTabs.forEach(id => { if (id !== tab) { $(`#${id}-content`).addClass("hidden"); - $(`#${id}`).removeClass("border-blue-600"); + $(`#${id}`).removeClass("border-blue-700"); $(`#${id}-text`).removeClass("rainbow-text"); } }); - $(`#${tab}`).addClass("border-blue-600"); + $(`#${tab}`).addClass("border-blue-700"); $(`#${tab}-text`).addClass("rainbow-text") $(`#${tab}-content`).removeClass("hidden") }); From 8f0322ba181b18abd38d7d2f93b570bdcbdf0343 Mon Sep 17 00:00:00 2001 From: Kimberley Mackenzie Date: Wed, 12 Nov 2025 16:20:20 -0800 Subject: [PATCH 2/3] Revert "Align colors with Console color tokens" This reverts commit 8c9594c86eadd69450795db0f9b1c76a07b211a5. --- layouts/case-studies/list.html | 129 ++-- layouts/case-studies/single.html | 163 ++-- layouts/index.html | 8 +- layouts/page/about.html | 465 ++++++----- layouts/page/ai-arch.html | 122 ++- layouts/page/automation.html | 720 +++++++++--------- layouts/page/cloud-engineering.html | 403 +++++----- layouts/page/crosscode.html | 108 +-- layouts/page/crossguard.html | 484 ++++++------ layouts/page/home-b.html | 674 ++++++++-------- layouts/page/leadership.html | 104 ++- layouts/page/microsoft-build.html | 223 +++--- layouts/page/pricing.html | 498 ++++++------ layouts/page/product-packages.html | 248 +++--- layouts/page/pulumi-up-2022.html | 486 ++++++------ layouts/page/pulumi-up.html | 173 +++-- layouts/page/reinvent.html | 447 +++++------ layouts/page/solutions-use-case.html | 177 +++-- layouts/page/solutions.html | 339 ++++----- .../partials/blog/series-list-sidebar.html | 65 +- layouts/partials/blog/series-sidebar.html | 176 +++-- layouts/partials/blog/sidebar.html | 58 +- layouts/partials/content-tile.html | 17 +- layouts/partials/event-schedule.html | 46 +- layouts/partials/events/event-card.html | 26 +- layouts/partials/events/summary.html | 25 +- layouts/partials/header.html | 2 +- layouts/partials/home/console.html | 30 +- layouts/partials/how-pulumi-works.html | 127 +-- layouts/partials/learnmore-ai.html | 11 +- layouts/partials/templates/left-nav.html | 16 +- layouts/partials/virtual-communities.html | 29 +- layouts/partner/aws.html | 6 +- layouts/product/infrastructure-as-code.html | 447 ++++++----- layouts/product/private-previews.html | 103 ++- layouts/product/pulumi-cloud.html | 271 ++++--- layouts/product/self-hosted.html | 286 ++++--- layouts/shortcodes/github-buttons.html | 46 +- layouts/taxonomy/tag.html | 194 ++--- layouts/taxonomy/taxonomy.html | 66 +- layouts/tutorials/module.html | 176 +++-- .../cloud-engineering-days-replay.html | 276 ++++--- .../cloud-engineering-summit-replay.html | 289 ++++--- layouts/webinars/single.html | 124 ++- layouts/what-is/single.html | 16 +- theme/src/scss/_algolia.scss | 18 +- theme/src/scss/_api-nodejs.scss | 13 +- theme/src/scss/_buttons.scss | 6 +- theme/src/scss/_colors.scss | 221 +++--- theme/src/scss/_header.scss | 69 +- theme/src/scss/_hero.scss | 21 +- theme/src/scss/_hubspot.scss | 2 +- theme/src/scss/_icons.scss | 135 ++-- theme/src/scss/_lists.scss | 13 +- theme/src/scss/_marketing.scss | 25 +- theme/src/scss/_mixins.scss | 8 +- theme/src/scss/_search.scss | 10 +- theme/src/scss/components/_audio.scss | 5 +- theme/src/scss/components/_convert.scss | 8 +- theme/src/scss/docs/_packages.scss | 20 +- theme/src/scss/main.scss | 31 +- theme/src/scss/marketing/_pricing.scss | 27 +- theme/src/scss/marketing/_product.scss | 14 +- .../scss/marketing/_shape-backgrounds.scss | 71 +- theme/src/ts/pulumi-cloud.ts | 8 +- 65 files changed, 4671 insertions(+), 4953 deletions(-) diff --git a/layouts/case-studies/list.html b/layouts/case-studies/list.html index a64be5ff2f4d..13bbd46a0324 100644 --- a/layouts/case-studies/list.html +++ b/layouts/case-studies/list.html @@ -1,79 +1,76 @@ {{ define "hero" }} -{{ partial "hero.html" (dict "title" .Title "subtitle" .Description) }} + {{ partial "hero.html" (dict "title" .Title "subtitle" .Description) }} {{ end }} {{ define "main" }} -
    - {{ partial "stacked-carousel.html" (dict "logos" .Params.customer_logos.logos "static" true ) }} -
    +
    + {{ partial "stacked-carousel.html" (dict "logos" .Params.customer_logos.logos "static" true ) }} +
    -
    -

    Customer Stories

    -
    +
    +

    Customer Stories

    +
    -
    -
    -
    -
    -
    - {{ partial "customer-logo.html" (dict "logo" .Params.featured_customer.name) }} +
    +
    +
    +
    +
    + {{ partial "customer-logo.html" (dict "logo" .Params.featured_customer.name) }} +
    +

    + {{ .Params.featured_customer.quote }} +

    -

    - {{ .Params.featured_customer.quote }} -

    -
    -
    -
    - {{ if .Params.featured_customer.headline_stat }} -
    {{ .Params.featured_customer.headline_stat - }}
    - {{ end }} - {{ if .Params.featured_customer.headline }} -
    {{ .Params.featured_customer.headline }}
    - {{ end }} - - Read the Story - +
    +
    + {{ if .Params.featured_customer.headline_stat }} +
    {{ .Params.featured_customer.headline_stat }}
    + {{ end }} + {{ if .Params.featured_customer.headline }} +
    {{ .Params.featured_customer.headline }}
    + {{ end }} + + Read the Story + +
    -
    -
    -
      - {{ $items := where (where .Site.Pages "Type" "case-studies") "Kind" "eq" "page" }} - {{ range $index, $item := sort $items ".Params.customer_name" }} -
    • - -
    • - {{ end }} -
    -
    +
    +
      + {{ $items := where (where .Site.Pages "Type" "case-studies") "Kind" "eq" "page" }} + {{ range $index, $item := sort $items ".Params.customer_name" }} +
    • + +
    • + {{ end }} +
    +
    -{{ partial "learnmore-contactus.html" . }} -{{ end }} \ No newline at end of file + {{ partial "learnmore-contactus.html" . }} +{{ end }} diff --git a/layouts/case-studies/single.html b/layouts/case-studies/single.html index 5e4c73451a54..5ad9089a68a7 100644 --- a/layouts/case-studies/single.html +++ b/layouts/case-studies/single.html @@ -1,99 +1,92 @@ {{ define "hero" }} -{{ partial "hero.html" (dict "title" .Title) }} + {{ partial "hero.html" (dict "title" .Title) }} {{ end }} {{ define "main" }} -{{ if .Params.quote_block }} -
    -
    -
    -
    -
    - .Params.customer_name + {{ if .Params.quote_block }} +
    +
    +
    +
    +
    + .Params.customer_name +
    + {{ if .Params.quote_block.quote }} +

    + {{ .Params.quote_block.quote }} +

    + {{ end }} +
    +
    +
    +
    + {{ if .Params.quote_block.headline_stat }} +
    {{ .Params.quote_block.headline_stat }}
    + {{ end }} + {{ if .Params.quote_block.headline }} +
    {{ .Params.quote_block.headline }}
    + {{ end }} +
    - {{ if .Params.quote_block.quote }} -

    - {{ .Params.quote_block.quote }} -

    - {{ end }}
    -
    -
    - {{ if .Params.quote_block.headline_stat }} -
    {{ .Params.quote_block.headline_stat }} -
    - {{ end }} - {{ if .Params.quote_block.headline }} -
    {{ .Params.quote_block.headline }}
    + {{ end }} + +
    -
    -
    -{{ end }} + - + {{ if .Params.exec_summary }} +
    +
    +

    Executive Summary

    +

    + {{ .Params.exec_summary | markdownify }} +

    +
    +
    + {{ end }} -{{ if .Params.exec_summary }} -
    -
    -

    Executive Summary

    -

    - {{ .Params.exec_summary | markdownify }} -

    -
    -
    -{{ end }} +
    +
    + {{ if .Params.customer_logo }} + {{ $image_classes := "inline-block md:float-right max-w-xs md:pl-8 pb-2"}} + {{ if or (eq .Params.customer_name "Starburst Data") (eq .Params.customer_name "Panther Labs") }} + {{ $image_classes = "inline-block md:float-right max-w-xs w-48 pb-2 md:pb-0 " }} + {{ end }} + {{ $image_title := print (or .Params.customer_name "Customer") " logo" }} + {{ if .Params.customer_url }} + + {{ $image_title }} + + {{ else }} + {{ $image_title }} + {{ end }} + {{ end }} + {{ .Content }} +
    +
    -
    -
    - {{ if .Params.customer_logo }} - {{ $image_classes := "inline-block md:float-right max-w-xs md:pl-8 pb-2"}} - {{ if or (eq .Params.customer_name "Starburst Data") (eq .Params.customer_name "Panther Labs") }} - {{ $image_classes = "inline-block md:float-right max-w-xs w-48 pb-2 md:pb-0 " }} - {{ end }} - {{ $image_title := print (or .Params.customer_name "Customer") " logo" }} - {{ if .Params.customer_url }} - - {{ $image_title }} - - {{ else }} - {{ $image_title }} - {{ end }} - {{ end }} - {{ .Content }} -
    -
    + {{ if not .Params.hide_pulumi_footer }} +
    +
    +

    Pulumi Corporation

    +

    + Pulumi's cloud engineering platform brings infrastructure, developer, and security teams together through a unified software engineering process that tames cloud + complexity and accelerates innovation. Using the Pulumi platform, teams can build, deploy, and manage modern cloud applications faster and with more confidence, + using any language, any architecture and any cloud. Pulumi lets teams build Universal Infrastructure as Code using popular programming languages (Python, + JavaScript, TypeScript, Go, .NET/C#, Java) and markup languages (YAML, JSON, CUE). It enables deploying infrastructure and applications together through a unified + delivery process. Finally, teams can manage cloud applications with Policy as Code, better visibility, and controls. +

    +
    +
    + {{ end }} -{{ if not .Params.hide_pulumi_footer }} -
    -
    -

    Pulumi Corporation

    -

    - Pulumi's cloud engineering platform brings infrastructure, developer, and security teams together through a - unified software engineering process that tames cloud - complexity and accelerates innovation. Using the Pulumi platform, teams can build, deploy, and manage modern - cloud applications faster and with more confidence, - using any language, any architecture and any cloud. Pulumi lets teams build Universal Infrastructure as Code - using popular programming languages (Python, - JavaScript, TypeScript, Go, .NET/C#, Java) and markup languages (YAML, JSON, CUE). It enables deploying - infrastructure and applications together through a unified - delivery process. Finally, teams can manage cloud applications with Policy as Code, better visibility, and - controls. -

    -
    -
    + {{ partial "learnmore-contactus.html" . }} {{ end }} - -{{ partial "learnmore-contactus.html" . }} -{{ end }} \ No newline at end of file diff --git a/layouts/index.html b/layouts/index.html index f8c7012a909e..1608e7afef31 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -236,7 +236,7 @@

    {{ .Params.idp.title }}

    -
    +

    Open source. Built by engineers for engineers.

    diff --git a/layouts/page/about.html b/layouts/page/about.html index 08c5159304d5..d596da7190e4 100644 --- a/layouts/page/about.html +++ b/layouts/page/about.html @@ -1,273 +1,258 @@ {{ define "hero" }} -
    -
    - Pulumi team photo +
    +
    + Pulumi team photo +
    -
    {{ end }} {{ define "main" }} -
    -
    -
    -
    -
    -
    -

    We are Pulumi

    -
    -
    -
    - +
    +
    +
    +
    +
    +
    +

    We are Pulumi

    +
    +
    +
    + +
    -
    -
    +
    -
    -

    Our purpose

    -

    To democratize the cloud for every engineer.

    -

    We help engineers ship infrastructure faster with Infrastructure as Code in - general-purpose languages.

    - Meet our leaders -
    +
    +

    Our purpose

    +

    To democratize the cloud for every engineer.

    +

    We help engineers ship infrastructure faster with Infrastructure as Code in general-purpose languages.

    + Meet our leaders +
    -
    -
    -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    +
    +
    +
    -
    -
    -

    Our Values

    -
    - -
    -
    -
    - -
    -

    Pulumi is about community

    -

    - Pulumi's Infrastructure as Code SDK is an open source project and our community inspires everything we do. We're - constantly improving the developer experience of - building on the cloud because of our community's feedback and contributions. Also, we're backed by venture - capitalists who believe in our open source values and the - business. Here are some ways that we recognize our community: -

    -
    -
    - Pulumipus wearing a medal with two hands raised -
    The Puluminaries
    -

    A group for stellar Pulumi community members who have made "above and beyond" - contributions to the community.

    - Meet our Puluminaries -
    -
    - Pulumipus wearing a medal with two hands raised -
    The Pulumiverse
    -

    A place for the Pulumi community to interact and collaborate on Pulumi-based - learning resources.

    - Explore Pulumiverse -
    -
    - Pulumipus wearing a Pulumi hoodie -
    Pulumi users
    -

    Engineers love Pulumi! Don’t believe us? Check out what our users have to - say.

    - Read user quotes +
    +

    Like what we stand for? Join us.

    +

    We are looking for new teammates who want to build the future of cloud infrastructure together.

    +
    + +
    +
    - -
    -
    -
    +
    +

    Pulumi is about community

    +

    + Pulumi's Infrastructure as Code SDK is an open source project and our community inspires everything we do. We're constantly improving the developer experience of + building on the cloud because of our community's feedback and contributions. Also, we're backed by venture capitalists who believe in our open source values and the + business. Here are some ways that we recognize our community: +

    +
    +
    + Pulumipus wearing a medal with two hands raised +
    The Puluminaries
    +

    A group for stellar Pulumi community members who have made "above and beyond" contributions to the community.

    + Meet our Puluminaries +
    +
    + Pulumipus wearing a medal with two hands raised +
    The Pulumiverse
    +

    A place for the Pulumi community to interact and collaborate on Pulumi-based learning resources.

    + Explore Pulumiverse +
    +
    + Pulumipus wearing a Pulumi hoodie +
    Pulumi users
    +

    Engineers love Pulumi! Don’t believe us? Check out what our users have to say.

    + Read user quotes +
    +
    +
    -
    -

    Our journey

    -
    -

    Pulumi was created to make the cloud vastly simpler - (and more fun) to use for developers and engineers.

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Our awards & recognition

    -
      - {{ range first 4 (where $.Site.Data.awards.awards "featured" true) }} -
    • - - - -
    • - {{ end }} -
    - +
    +
    -
    -
    -
    -
    - -
    -
    -
    -

    Press Releases

    -
      - {{ range first 2 $.Site.Data.newsroom.releases }} -
    • -
      {{ .date }}
      -
      {{ .title }}
      - Read more → -
    • - {{ end }} -
    - View all press releases +
    +
    +
    +
    +
    +
    +
    +
    -
    -

    Recent News

    -
    + +
    +
    -
    -
    -
    -
    +
    +
    +
    +

    Press Releases

    +
      + {{ range first 2 $.Site.Data.newsroom.releases }} +
    • +
      {{ .date }}
      +
      {{ .title }}
      + Read more → +
    • + {{ end }} +
    + View all press releases +
    +
    +

    Recent News

    +
      + {{ range first 2 $.Site.Data.newsroom.coverage }} +
    • +
      {{ .date }}
      + +
      {{ .title }}
      + Read more → +
    • + {{ end }} +
    + View all recent news +
    +
    +
    + +
    +
    +
    -
    -

    Join our team

    -

    We are fully remote and hiring!

    -

    Our team is a diverse and talented group of individuals from all walks of life.

    - Browse open positions -
    -{{ end }} \ No newline at end of file +
    +

    Join our team

    +

    We are fully remote and hiring!

    +

    Our team is a diverse and talented group of individuals from all walks of life.

    + Browse open positions +
    +{{ end }} diff --git a/layouts/page/ai-arch.html b/layouts/page/ai-arch.html index 17181f78de5a..fcbde8981160 100644 --- a/layouts/page/ai-arch.html +++ b/layouts/page/ai-arch.html @@ -1,81 +1,79 @@ {{ define "hero" }} -{{ partial "hero.html" (dict "title" .Params.title) }} + {{ partial "hero.html" (dict "title" .Params.title) }} {{ end }} {{ define "main" }} - -
    -
    -
    -

    {{ .Params.overview.title }}

    -

    {{ .Params.overview.description | markdownify }}

    -
    - Get - Started + +
    +
    +
    +

    {{ .Params.overview.title }}

    +

    {{ .Params.overview.description | markdownify }}

    + +
    +
    + Reference Architecture
    -
    - Reference Architecture -
    -
    -
    + - -
    -

    {{ .Params.diagrams.title }}

    -

    {{ .Params.diagrams.description | markdownify }}

    + +
    +

    {{ .Params.diagrams.title }}

    +

    {{ .Params.diagrams.description | markdownify }}

    - {{ range $diagram := .Params.diagrams.items }} -
    -
    - -
    - -
    -

    {{ $diagram.title }}

    -

    {{ $diagram.content | markdownify }}

    -
    -
    - {{ end }} -
    + {{ range $diagram := .Params.diagrams.items }} +
    +
    + +
    - -
    -

    {{ .Params.benefits.title }}

    -
    - {{ range $benefit := .Params.benefits.benefits.items }} -
    -
    - {{ partial "color-icon.html" (dict "icon" $benefit.icon "icon_color" $benefit.icon_color) }} -
    {{ $benefit.title }}
    -

    {{ $benefit.description | markdownify }}

    +
    +

    {{ $diagram.title }}

    +

    {{ $diagram.content | markdownify }}

    +
    -
    {{ end }} -
    -
    +
    + + +
    +

    {{ .Params.benefits.title }}

    +
    + {{ range $benefit := .Params.benefits.benefits.items }} +
    +
    + {{ partial "color-icon.html" (dict "icon" $benefit.icon "icon_color" $benefit.icon_color) }} +
    {{ $benefit.title }}
    +

    {{ $benefit.description | markdownify }}

    +
    +
    + {{ end }} +
    +
    - + -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    -
    -
    -
    -
    -

    {{ .Params.get_started.get_started.title }}

    -

    {{ .Params.get_started.get_started.description }}

    - {{ - .Params.get_started.get_started.cta_text }} +
    +
    +
    +

    {{ .Params.get_started.get_started.title }}

    +

    {{ .Params.get_started.get_started.description }}

    + {{ .Params.get_started.get_started.cta_text }} +
    -
    -
    -{{ end }} \ No newline at end of file + +{{ end }} diff --git a/layouts/page/automation.html b/layouts/page/automation.html index 6d5ff5db123b..700a6077046b 100644 --- a/layouts/page/automation.html +++ b/layouts/page/automation.html @@ -1,436 +1,438 @@ {{ define "hero" }} -{{ partial "hero" (dict "title" "Automation API") }} + {{ partial "hero" (dict "title" "Automation API") }} {{ end }} {{ define "main" }} -
    -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    +
    +
    -
    - -
    -
    -

    Harness the full power of Infrastructure as Code

    -

    - Pulumi Automation API exposes the full power of infrastructure as code through a programmatic interface, - instead of through CLI commands. Automation API lets - you use the Pulumi engine as an SDK, enabling you to create software that can create, update, configure, - and destroy infrastructure dynamically. This enables - you to build custom cloud interfaces that are tailored to your team, organization, or customers. -

    -
    - Learn More +
    +

    Harness the full power of Infrastructure as Code

    +

    + Pulumi Automation API exposes the full power of infrastructure as code through a programmatic interface, instead of through CLI commands. Automation API lets + you use the Pulumi engine as an SDK, enabling you to create software that can create, update, configure, and destroy infrastructure dynamically. This enables + you to build custom cloud interfaces that are tailored to your team, organization, or customers. +

    +
    -
    -
    +
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    -
    -
    -

    The benefits of using Automation API

    -
    -
    -
    -
    {{ partial "color-icon.html" (dict "icon" "code" "icon_color" "blue") }} +
    +

    The benefits of using Automation API

    +
    +
    +
    +
    {{ partial "color-icon.html" (dict "icon" "code" "icon_color" "blue") }}
    +
    Programmatic Infrastructure as Code
    +

    + Use the Pulumi engine as a strongly typed SDK in your application code, enabling it to call functions that can provision and configure infrastructure on + any cloud. +

    -
    Programmatic Infrastructure as Code
    -

    - Use the Pulumi engine as a strongly typed SDK in your application code, enabling it to call - functions that can provision and configure infrastructure on - any cloud. -

    -
    -
    -
    -
    {{ partial "color-icon.html" (dict "icon" "guage" "icon_color" "yellow") }} +
    +
    +
    {{ partial "color-icon.html" (dict "icon" "guage" "icon_color" "yellow") }}
    +
    Scale the distribution of best practices
    +

    + Codify best practices for cloud infrastructure within custom applications or tools that allow your organization’s developers to easily provision and use + approved infrastructure. +

    -
    Scale the distribution of best practices
    -

    - Codify best practices for cloud infrastructure within custom applications or tools that allow - your organization’s developers to easily provision and use - approved infrastructure. -

    -
    -
    -
    -
    {{ partial "color-icon.html" (dict "icon" "puzzle" "icon_color" "salmon") - }}
    -
    Build abstractions and custom interfaces
    -

    - Automation API enables you to build custom cloud interfaces for your technical end users. For - example, build self-service developer portals, CLIs, - frameworks, and CI/CD workflows. -

    +
    +
    +
    {{ partial "color-icon.html" (dict "icon" "puzzle" "icon_color" "salmon") }}
    +
    Build abstractions and custom interfaces
    +

    + Automation API enables you to build custom cloud interfaces for your technical end users. For example, build self-service developer portals, CLIs, + frameworks, and CI/CD workflows. +

    +
    -
    -
    -
    -
    {{ partial "color-icon.html" (dict "icon" "cloud-with-nodes" "icon_color" - "purple") }}
    -
    Manage single-tenant deployments at scale
    -

    - Easily build high-scale, SaaS applications that serve customers with single-tenant instances. - Automate creating and managing infrastructure for - thousands of unique customers. -

    +
    +
    +
    {{ partial "color-icon.html" (dict "icon" "cloud-with-nodes" "icon_color" "purple") }}
    +
    Manage single-tenant deployments at scale
    +

    + Easily build high-scale, SaaS applications that serve customers with single-tenant instances. Automate creating and managing infrastructure for + thousands of unique customers. +

    +
    -
    -
    + -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    -
    - -
    -

    Use Cases

    -
    - + +
    + +
    {{ .Params.customer_logos.title }}
    + + {{ range $logoBunch := .Params.customer_logos.logos }} + +
    + {{ range $logo := $logoBunch.items }} +
    + {{ partial "customer-logo.html" (dict "logo" $logo "hoverable" true) }}
    -
    + {{ end }}
    - - -
    -
    - + + {{ end }} + + - -
    - -
    {{ .Params.customer_logos.title }}
    - - {{ range $logoBunch := .Params.customer_logos.logos }} - -
    - {{ range $logo := $logoBunch.items }} -
    - {{ partial "customer-logo.html" (dict "logo" $logo "hoverable" true) }} +
    +
    +
    +
    +

    More Examples

    +

    Visit our GitHub repository to see more end-to-end examples of how you can use Automation API.

    + View on GitHub
    - {{ end }}
    - - {{ end }} - -
    -
    -
    -
    -
    -

    More Examples

    -

    Visit our GitHub repository to see more end-to-end examples of how you can use - Automation API.

    - View on GitHub +
    +
    +

    Workshop

    +

    Watch as we build a self-service infrastructure platform with Python and Flask with the Automation API

    + Join now +
    -
    -
    -

    Workshop

    -

    Watch as we build a self-service infrastructure platform with Python and Flask - with the Automation API

    - Join - now +
    +

    Get started today

    +

    To get started with Pulumi Automation API, visit the user guide in our documentation.

    +
    -
    - -
    -

    Get started today

    -

    To get started with Pulumi Automation API, visit the user guide in our documentation.

    - -
    -
    -{{ end }} \ No newline at end of file +
    +{{ end }} diff --git a/layouts/page/cloud-engineering.html b/layouts/page/cloud-engineering.html index 84581bba6aac..b6f4777589aa 100644 --- a/layouts/page/cloud-engineering.html +++ b/layouts/page/cloud-engineering.html @@ -1,254 +1,251 @@ {{ define "hero" }} -{{ partial "hero" (dict "title" .Params.title ) }} + {{ partial "hero" (dict "title" .Params.title ) }} {{ end }} {{ define "main" }} -
    -
    -

    {{ .Params.overview.title }}

    -

    {{ .Params.overview.description }}

    -
    - -
    - -
    -
    -

    {{ .Params.best_practices.title }}

    -

    {{ .Params.best_practices.description | markdownify }}

    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    +
    +
    +

    {{ .Params.overview.title }}

    +

    {{ .Params.overview.description }}

    +
    + +
    + +
    +
    +

    {{ .Params.best_practices.title }}

    +

    {{ .Params.best_practices.description | markdownify }}

    +
    +
    -
    -

    {{ .Params.build.title }}

    -

    {{ .Params.build.description }}

    +
    +
    +
    +
    +
    +
    +
    -
    - {{ range $item := .Params.build.items }} -
    {{ $item.title }}
    -

    {{ $item.description }}

    - {{ end }} -
    -
    -
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +

    {{ .Params.build.title }}

    +

    {{ .Params.build.description }}

    +
    +
    -
    -
    -
    -
    -
    -
    +
    + {{ range $item := .Params.build.items }} +
    {{ $item.title }}
    +

    {{ $item.description }}

    + {{ end }}
    -
    +
    -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    -
    -

    {{ .Params.deploy.title }}

    -

    {{ .Params.deploy.description }}

    +
    +

    {{ .Params.deploy.title }}

    +

    {{ .Params.deploy.description }}

    +
    -
    -
    - {{ range $item := .Params.deploy.items }} -
    {{ $item.title }}
    -

    {{ $item.description }}

    - {{ end }} +
    + {{ range $item := .Params.deploy.items }} +
    {{ $item.title }}
    +

    {{ $item.description }}

    + {{ end }} +
    -
    -
    + -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    +
    -
    -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +

    {{ .Params.manage.title }}

    +

    {{ .Params.manage.description }}

    -
    -

    {{ .Params.manage.title }}

    -

    {{ .Params.manage.description }}

    +
    + {{ range $item := .Params.manage.items }} +
    {{ $item.title }}
    +

    {{ $item.description }}

    + {{ end }}
    +
    -
    - {{ range $item := .Params.manage.items }} -
    {{ $item.title }}
    -

    {{ $item.description }}

    - {{ end }} +
    +
    +
    +
    +
    +
    -
    - -
    -
    -
    -
    -
    +
    +

    {{ .Params.benefits.title | markdownify }}

    +
    + {{ range $item := .Params.benefits.items }} +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} +
    +
    +
    {{ $item.title }}
    +
    +
    +

    {{ $item.description }}

    +
    +
    + {{ end }} +
    -
    +
    -
    -

    {{ .Params.benefits.title | markdownify }}

    -
    - {{ range $item := .Params.benefits.items }} -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} -
    -
    -
    {{ $item.title }}
    -
    -
    -

    {{ $item.description }}

    -
    +
    +
    +
    +
    - {{ end }}
    -
    - -
    -
    -
    -
    +
    +

    {{ .Params.use_cases.title }}

    +
    + {{ range $item := .Params.use_cases.items }} +
    +
    {{ $item | markdownify }}
    +
    + {{ end }} +
    +

    {{ .Params.use_cases.description }}

    + See Solutions
    -
    +
    -
    -

    {{ .Params.use_cases.title }}

    -
    - {{ range $item := .Params.use_cases.items }} -
    -
    {{ $item | markdownify }}
    +
    - - +
    +
    +
    +
    +
    -
    -
    -

    {{ .Params.case_studies.title }}

    -
    - +
    +

    {{ .Params.case_studies.title }}

    + {{ range $item := .Params.case_studies.items }} - -
    -
    -

    {{ $item.quote | markdownify - }}

    -
    -
    -

    {{ $item.name }}

    -

    {{ $item.title }}

    -
    -
    - {{ partial "customer-logo.html" (dict "logo" $item.company) }} + +
    +
    +

    {{ $item.quote }}

    +
    +
    +

    {{ $item.name }}

    +

    {{ $item.title }}

    +
    +
    + {{ partial "customer-logo.html" (dict "logo" $item.company) }} +
    -
    - + {{ end }}
    -
    - -
    -
    -
    -
    -
    -
    - -
    -

    {{ .Params.case_studies.title }}

    - - {{ range $item := .Params.case_studies.items }} - -
    -
    -

    {{ $item.quote }}

    -
    -
    -

    {{ $item.name }}

    -

    {{ $item.title }}

    -
    -
    - {{ partial "customer-logo.html" (dict "logo" $item.company) }} -
    -
    -
    +
    + +
    +
    +
    + +

    {{ .Params.get_started.title }}

    +

    {{ .Params.get_started.description }}

    + - - {{ end }} - -
    -
    - -
    -
    -
    - -

    {{ .Params.get_started.title }}

    -

    {{ .Params.get_started.description }}

    - -
    -
    -
    -
    -{{ end }} \ No newline at end of file +
    +
    + +
    +{{ end }} diff --git a/layouts/page/crosscode.html b/layouts/page/crosscode.html index 9fa3e358ff14..dbbace404644 100644 --- a/layouts/page/crosscode.html +++ b/layouts/page/crosscode.html @@ -1,70 +1,70 @@ {{ define "hero" }} -{{ partial "hero" (dict "title" .Params.title) }} + {{ partial "hero" (dict "title" .Params.title) }} {{ end }} {{ define "main" }} -{{ $pageContext := . }} + {{ $pageContext := . }} -
    -
    -
    -
    -
    -
    -
    -
    -

    {{ .Params.description | markdownify }}

    +
    +
    +
    +
    +
    -
    - Pulumi Cloud Engineering Platform +
    +
    +

    {{ .Params.description | markdownify }}

    +
    +
    + Pulumi Cloud Engineering Platform +
    -
    -
    +
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    -
    -
    - {{ with .Params.capabilities }} -

    {{ .title }}

    -
    - {{ range $item := .items }} -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} -
    -
    {{ $item.title }}
    -

    - {{ $item.description | markdownify }} - {{ if $item.more }} -

    {{ $item.more.label }} →

    +
    + {{ with .Params.capabilities }} +

    {{ .title }}

    +
    + {{ range $item := .items }} +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} +
    +
    {{ $item.title }}
    +

    + {{ $item.description | markdownify }} + {{ if $item.more }} +

    {{ $item.more.label }} →

    + {{ end }} +

    +
    +
    {{ end }} -

    -
    {{ end }}
    - {{ end }} -
    -
    + -
    - {{ with .Params.questions }} -
    -
    -

    {{ .title }}

    -

    {{ .description }}

    -
    - Talk to a human +
    + {{ with .Params.questions }} +
    +
    +

    {{ .title }}

    +

    {{ .description }}

    + +
    -
    -
    - {{ end }} -
    -{{ end }} \ No newline at end of file + {{ end }} + +{{ end }} diff --git a/layouts/page/crossguard.html b/layouts/page/crossguard.html index 4cbc7442b708..64196751f44c 100644 --- a/layouts/page/crossguard.html +++ b/layouts/page/crossguard.html @@ -1,317 +1,299 @@ {{ define "hero" }} -{{ partial "hero" (dict "title" "Policy as Code") }} + {{ partial "hero" (dict "title" "Policy as Code") }} {{ end }} {{ define "main" }} -
    -
    -

    Pulumi CrossGuard

    -

    Enforce your organization's cloud governance — security, compliance, cost controls, and more.

    - -
    -
    - -
    -
    -

    Features

    -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" "shield" "icon_color" "violet") }} -
    Any Policy
    -

    - Use off-the-shelf rules or define your own for security, cost, compliance, reliability best - practices — just about anything. Use package managers - to share and reuse rules. -

    -
    -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" "clouds" "icon_color" "yellow") }} -
    Any Cloud
    -

    - Govern infrastructure resources on any cloud whether they are managed by Pulumi IaC, managed by - another IaC tool, or unmanaged. -

    -
    -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" "rocketship" "icon_color" "salmon") }} -
    Familiar and Powerful
    -

    - Define custom policies using familiar languages like JavaScript and Python. Use great editors, - test frameworks, libraries, and tools for productivity - and correctness. -

    -
    -
    -
    -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" "exchange" "icon_color" "blue") }} -
    Flexible Enforcement
    -

    - Apply policies using coarse- or fine-grained controls. Target individual projects, manage - organization-wide policies, or group projects for differences - in environments and regions. -

    -
    -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" "gear" "icon_color" "purple") }} -
    Configurable
    -

    Define policies that can be configured at the point of application, including enforcement level, - letting you vary behavior based on project needs.

    -
    -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" "cycle" "icon_color" "violet") }} -
    Automate and Integrate
    -

    - Automate governance using programmable libraries and REST APIs, easily integrating with external - services such as web services, asset tracking - databases, pricing lists, and more. -

    -
    +
    +
    +

    Pulumi CrossGuard

    +

    Enforce your organization's cloud governance — security, compliance, cost controls, and more.

    +
    -
    -
    + -
    -
    -
    -

    Enterprise Compliance Enforcement

    -
    - Business Critical customers can enforce compliance and remediate non-compliance using Pulumi provided - policies across your organization. -
    -
    +
    +
    +

    Features

    +
    {{ partial "color-icon.html" (dict "icon" "shield" "icon_color" "violet") }} -
    Compliance-ready Policies
    +
    Any Policy

    - Choose from hundreds of policies for AWS, Azure, Google Cloud, and Kubernetes. Support for - PCI DSS, ISO 27001, SOC 2, and CIS Benchmarks. + Use off-the-shelf rules or define your own for security, cost, compliance, reliability best practices — just about anything. Use package managers + to share and reuse rules.

    - {{ partial "color-icon.html" (dict "icon" "shield" "icon_color" "violet") }} -
    Server-side Enforcement
    + {{ partial "color-icon.html" (dict "icon" "clouds" "icon_color" "yellow") }} +
    Any Cloud

    - Set policy packs that block prohibited deployments across your entire organization, - preventing issues. + Govern infrastructure resources on any cloud whether they are managed by Pulumi IaC, managed by another IaC tool, or unmanaged.

    - {{ partial "color-icon.html" (dict "icon" "shield" "icon_color" "violet") }} -
    Remediation Policies
    + {{ partial "color-icon.html" (dict "icon" "rocketship" "icon_color" "salmon") }} +
    Familiar and Powerful

    - Codify reactive solutions to compliance requirements by transforming non-compliant resources - into compliant ones. + Define custom policies using familiar languages like JavaScript and Python. Use great editors, test frameworks, libraries, and tools for productivity + and correctness.

    -
    - Start a free trial - Talk to a human +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" "exchange" "icon_color" "blue") }} +
    Flexible Enforcement
    +

    + Apply policies using coarse- or fine-grained controls. Target individual projects, manage organization-wide policies, or group projects for differences + in environments and regions. +

    +
    +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" "gear" "icon_color" "purple") }} +
    Configurable
    +

    Define policies that can be configured at the point of application, including enforcement level, letting you vary behavior based on project needs.

    +
    +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" "cycle" "icon_color" "violet") }} +
    Automate and Integrate
    +

    + Automate governance using programmable libraries and REST APIs, easily integrating with external services such as web services, asset tracking + databases, pricing lists, and more. +

    +
    +
    +
    +
    +
    + +
    +
    +
    +

    Enterprise Compliance Enforcement

    +
    + Business Critical customers can enforce compliance and remediate non-compliance using Pulumi provided policies across your organization. +
    +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" "shield" "icon_color" "violet") }} +
    Compliance-ready Policies
    +

    + Choose from hundreds of policies for AWS, Azure, Google Cloud, and Kubernetes. Support for PCI DSS, ISO 27001, SOC 2, and CIS Benchmarks. +

    +
    +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" "shield" "icon_color" "violet") }} +
    Server-side Enforcement
    +

    + Set policy packs that block prohibited deployments across your entire organization, preventing issues. +

    +
    +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" "shield" "icon_color" "violet") }} +
    Remediation Policies
    +

    + Codify reactive solutions to compliance requirements by transforming non-compliant resources into compliant ones. +

    +
    +
    +
    +
    -
    -
    + -
    -
    -

    Policy as Code Scenarios

    -

    Accelerate your organization's delivery while still staying compliant

    -
    -
    -
    -

    Security

    -

    Maintain security across all cloud infrastructure assets.

    -
    - {{ $code := `new PolicyPack("acmecorp-security", { - policies: [{ - name: "prohibited-public-internet", - description: "Reject public internet access.", - enforcementLevel: "mandatory", - validateResource: validateResourceOfType( - aws.ec2.SecurityGroup, - (sg, args, reportViolation) => { +
    +
    +

    Policy as Code Scenarios

    +

    Accelerate your organization's delivery while still staying compliant

    +
    +
    +
    +

    Security

    +

    Maintain security across all cloud infrastructure assets.

    +
    +{{ $code := `new PolicyPack("acmecorp-security", { + policies: [{ + name: "prohibited-public-internet", + description: "Reject public internet access.", + enforcementLevel: "mandatory", + validateResource: validateResourceOfType( + aws.ec2.SecurityGroup, + (sg, args, reportViolation) => { const hasInternetAccess = sg.ingress.find( - rule => rule.cidrBlocks.includes("0.0.0.0/0") + rule => rule.cidrBlocks.includes("0.0.0.0/0") ); if (hasInternetAccess) { - reportViolation("Illegal internet access"); + reportViolation("Illegal internet access"); } - }, - ), - }], - );` - }} + }, + ), + }], +);` +}} - {{ partial "code" (dict "code" $code "lang" "js") }} + {{ partial "code" (dict "code" $code "lang" "js") }} +
    +

    Prohibiting network access from the Internet.

    -

    Prohibiting network access from the Internet.

    -
    -
    -

    Compliance

    -

    Meet, and stay meeting, compliance standards.

    -
    - {{ $code := `new PolicyPack("acmecorp-compliance", { - policies: [{ - name: "required-storage-region", - description: "Data must be stored in the US.", - enforcementLevel: "mandatory", - validateResource: validateResourceOfType( - aws.s3.Bucket, (bucket, args, reportViolation) => { +
    +

    Compliance

    +

    Meet, and stay meeting, compliance standards.

    +
    +{{ $code := `new PolicyPack("acmecorp-compliance", { + policies: [{ + name: "required-storage-region", + description: "Data must be stored in the US.", + enforcementLevel: "mandatory", + validateResource: validateResourceOfType( + aws.s3.Bucket, (bucket, args, reportViolation) => { if (!bucket.region.startsWith("us-")) { - reportViolation("Non-US bucket detected"); + reportViolation("Non-US bucket detected"); } - }, - ), - }], - );` - }} + }, + ), + }], +);` +}} - {{ partial "code" (dict "code" $code "lang" "js") }} + {{ partial "code" (dict "code" $code "lang" "js") }} +
    +

    Disallowing storage outside of specific regions.

    -

    Disallowing storage outside of specific regions.

    -
    -
    -
    -

    Cost Controls

    -

    Ensure cost conscious deployments.

    -
    - {{ $code := `new PolicyPack("acmecorp-cost", { - policies: [{ - name: "required-cost-tags", - description: "Cost tags are required.", - enforcementLevel: "mandatory", - validateResource: (args, reportViolation) => { - if (isTaggable(args.type) && +
    +
    +

    Cost Controls

    +

    Ensure cost conscious deployments.

    +
    +{{ $code := `new PolicyPack("acmecorp-cost", { + policies: [{ + name: "required-cost-tags", + description: "Cost tags are required.", + enforcementLevel: "mandatory", + validateResource: (args, reportViolation) => { + if (isTaggable(args.type) && !args.resource["tags"]["Cost Center"]) { reportViolation("Resource missing tags"); - } - ), - }], - );` - }} + } + ), + }], +);` +}} - {{ partial "code" (dict "code" $code "lang" "js") }} + {{ partial "code" (dict "code" $code "lang" "js") }} +
    +

    Requiring specific cost allocation tags.

    +
    +
    +

    Continuous Delivery

    +

    Catch policy violations before they escape using CI/CD.

    + Policy as Code in CI/CD +

    A live dashboard of organizational violations in Pulumi Cloud.

    -

    Requiring specific cost allocation tags.

    -
    -
    -

    Continuous Delivery

    -

    Catch policy violations before they escape using CI/CD.

    - Policy as Code in CI/CD -

    A live dashboard of organizational violations in Pulumi Cloud.

    -
    -
    +
    -
    -
    -
    -
    -
    -

    - Pulumi supercharged our whole organization by letting us create reusable building blocks that - developers can leverage to provision new resources and - enforce organizational policies for logging, permissions, resource tagging and security. This - has empowered our developer teams to self-provision - resources and ship new capabilities faster without having to wait for the infrastructure team to - deploy new resources on their behalf. -

    -
    -
    -

    Igor Shapiro

    -

    Principal Engineer

    +
    +
    +
    +
    +
    +

    + Pulumi supercharged our whole organization by letting us create reusable building blocks that developers can leverage to provision new resources and + enforce organizational policies for logging, permissions, resource tagging and security. This has empowered our developer teams to self-provision + resources and ship new capabilities faster without having to wait for the infrastructure team to deploy new resources on their behalf. +

    +
    +
    +

    Igor Shapiro

    +

    Principal Engineer

    +
    +
    + {{ partial "customer-logo.html" (dict "logo" "lemonade") }} +
    -
    - {{ partial "customer-logo.html" (dict "logo" "lemonade") }} +
    -
    -
    -
    -
    -

    - CrossGuard gives us the ability to prevent undesired and insecure resources from being deployed - to any environment. It also allows us to block the deployment of certain resource SKUs that may - incur unnecessary expense. -

    -
    -
    -

    Dennis Sauvé

    -

    DevOps Engineer

    +
    +
    +

    + CrossGuard gives us the ability to prevent undesired and insecure resources from being deployed to any environment. It also allows us to block the deployment of certain resource SKUs that may incur unnecessary expense. +

    +
    +
    +

    Dennis Sauvé

    +

    DevOps Engineer

    +
    +
    + {{ partial "customer-logo.html" (dict "logo" "washington-trust") }} +
    -
    - {{ partial "customer-logo.html" (dict "logo" "washington-trust") }} +
    -
    -
    -
    -
    -

    - With Pulumi CrossGuard we can provide reusable infrastructure components to our application - teams and ensure that their implementations adhere to - company standards. -

    -
    -
    -

    Fernando Carlietti

    -

    Lead DevOps Engineer

    +
    +
    +

    + With Pulumi CrossGuard we can provide reusable infrastructure components to our application teams and ensure that their implementations adhere to + company standards. +

    +
    +
    +

    Fernando Carlietti

    +

    Lead DevOps Engineer

    +
    +
    + {{ partial "customer-logo.html" (dict "logo" "credijusto") }} +
    -
    - {{ partial "customer-logo.html" (dict "logo" "credijusto") }} +
    -
    -
    -
    +
    -
    -
    -
    - -

    Getting Started with Policy as Code

    -
    - Get started with - CrossGuard +
    +
    +
    + +

    Getting Started with Policy as Code

    +
    -
    -
    -{{ end }} \ No newline at end of file + +{{ end }} diff --git a/layouts/page/home-b.html b/layouts/page/home-b.html index a2ed6d6e3f29..a2392299aaf1 100644 --- a/layouts/page/home-b.html +++ b/layouts/page/home-b.html @@ -1,380 +1,382 @@ {{ define "hero" }} -
    -
    -
    -
    -

    - {{ index - (.Params.hero.title) 0 }} - {{ index (.Params.hero.title) 1 }} -

    - -

    {{ .Params.hero.description | markdownify }}

    - -
    - {{ - .Params.hero.cta_text }} - {{ .Params.hero.secondary_cta_text }} +
    +
    +
    +
    +

    + {{ index (.Params.hero.title) 0 }} + {{ index (.Params.hero.title) 1 }} +

    + +

    {{ .Params.hero.description | markdownify }}

    + +
    -
    - +
    -
    -
    + {{ end }} {{ define "main" }} -{{ $pageContext := . }} - - -
    -

    {{ .Params.customer_logos.title }}

    - - - -
    - - {{ range $logo := .Params.customer_logos.logos }} - -
    - {{ if $logo.link }} - - {{ partial "customer-logo.html" (dict "logo" $logo.name) }} - - {{ else }} - {{ partial "customer-logo.html" (dict "logo" $logo.name) }} + {{ $pageContext := . }} + + +
    +

    {{ .Params.customer_logos.title }}

    + + + +
    + + {{ range $logo := .Params.customer_logos.logos }} + +
    + {{ if $logo.link }} + + {{ partial "customer-logo.html" (dict "logo" $logo.name) }} + + {{ else }} + {{ partial "customer-logo.html" (dict "logo" $logo.name) }} + {{ end }} +
    +
    + {{ end }} +
    +
    +
    + + +
    +
    +
    +
    + +
    +
    +
    +

    {{ .Params.code_faster.title }}

    +

    {{ .Params.code_faster.description | markdownify }}

    + {{ range $item := .Params.code_faster.items }} +
    {{ $item.title }}
    +

    {{ $item.description | markdownify }}

    {{ end }}
    - - {{ end }} - -
    -
    - - -
    -
    -
    -
    - -
    -
    -
    -

    {{ .Params.code_faster.title }}

    -

    {{ .Params.code_faster.description | markdownify }}

    - {{ range $item := .Params.code_faster.items }} -
    {{ $item.title }}
    -

    {{ $item.description | markdownify }}

    - {{ end }} -
    -
    -
    - - - Pulumi code being written in TypeScript showing autocomplete for creating a new S3 bucket - - - - Pulumi code being written in Python showing autocomplete for creating a new S3 bucket - - - - Pulumi code being written in GO showing autocomplete for creating a new S3 bucket - - - - Pulumi code being written in C# showing autocomplete for creating a new S3 bucket - - - - Pulumi code being written in Java showing autocomplete for creating a new S3 bucket - - - - Pulumi code being written in YAML showing autocomplete for creating a new S3 bucket - - +
    +
    + + + Pulumi code being written in TypeScript showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in Python showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in GO showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in C# showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in Java showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in YAML showing autocomplete for creating a new S3 bucket + + +
    -
    -
    - - -
    - {{ partial "home/quote.html" (dict "quote" .Params.customer_quotes.panther) }} -
    - - -
    -
    -
    -
    - -
    -
    -
    -

    {{ .Params.secrets.title }}

    -

    {{ .Params.secrets.description | markdownify }}

    -
    - Learn more: - Pulumi ESC +
    + + +
    + {{ partial "home/quote.html" (dict "quote" .Params.customer_quotes.panther) }} +
    + + +
    +
    +
    +
    + +
    +
    +
    +

    {{ .Params.secrets.title }}

    +

    {{ .Params.secrets.description | markdownify }}

    +
    + Learn more: + Pulumi ESC +
    -
    -
    - {{ .Params.secrets.alt }} +
    + {{ .Params.secrets.alt }} +
    -
    -
    - - -
    - {{ partial "home/quote.html" (dict "quote" .Params.customer_quotes.starburst) }} -
    - - -
    -
    -
    -
    - -
    -
    -
    -

    {{ .Params.embed.title }}

    -
    {{ .Params.embed.description | markdownify }}
    -
    - Learn more: - Pulumi For Platform - Teams +
    + + +
    + {{ partial "home/quote.html" (dict "quote" .Params.customer_quotes.starburst) }} +
    + + +
    +
    +
    +
    + +
    +
    +
    +

    {{ .Params.embed.title }}

    +
    {{ .Params.embed.description | markdownify }}
    +
    + Learn more: + Pulumi For Platform Teams +
    -
    -
    -
    - {{ .Params.embed.alt }} +
    +
    + {{ .Params.embed.alt }} +
    -
    -
    - - -
    - {{ partial "home/quote.html" (dict "quote" .Params.customer_quotes.snowflake) }} -
    - -
    -
    -
    -
    -

    {{ .Params.security.title }}

    -

    {{ .Params.security.description | markdownify }}

    -
    - Learn more: - Pulumi Insights +
    + + +
    + {{ partial "home/quote.html" (dict "quote" .Params.customer_quotes.snowflake) }} +
    + +
    +
    +
    +
    +

    {{ .Params.security.title }}

    +

    {{ .Params.security.description | markdownify }}

    +
    + Learn more: + Pulumi Insights +
    -
    -
    - +
    + +
    -
    - - - -
    -
    -
    -
    - -
    -
    -
    -

    {{ .Params.ai.title }}

    -

    {{ .Params.ai.description | markdownify }}

    -
    - Try it out: - Pulumi AI +
    + + +
    +
    +
    +
    + +
    +
    +
    +

    {{ .Params.ai.title }}

    +

    {{ .Params.ai.description | markdownify }}

    +
    + Try it out: + Pulumi AI +
    -
    -
    -
    - - - AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in TypeScript - - - - AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in Python - - - - AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in GO - - - - AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in C# - - - - AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in Java - - - - AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in YAML - - +
    +
    + + + AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in TypeScript + + + + AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in Python + + + + AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in GO + + + + AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in C# + + + + AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in Java + + + + AI prompted to 'Give me an AWS static website behind a CloudFront CDN' and outputting Pulumi code in YAML + + +
    -
    -
    - - -
    -
    -
    -

    Built by engineers for engineers. Open source.

    -
    - Join our community, - -

    and let’s build together.

    +
    + + +
    +
    +
    +

    Built by engineers for engineers. Open source.

    +
    + Join our community, + +

    and let’s build together.

    +
    -
    -
    - - {{ range $tweet := .Params.get_started.tweets }} - -
    -
    -

    {{ $tweet.text }}

    -
    -
    - -
    -

    {{ $tweet.username }}

    -
    - Twitter +
    + + {{ range $tweet := .Params.get_started.tweets }} + +
    +
    +

    {{ $tweet.text }}

    +
    +
    + +
    +

    {{ $tweet.username }}

    +
    + Twitter +
    +
    -
    -
    - - {{ end }} - -
    - -
    - - -
    -
    -
    -
    -
    -

    Ready to try Pulumi?

    -
    -
    - Get Started -

    Follow the step-by-step guide

    -
    -
    - Download Open - Source -

    Download our open source SDK

    +
    + + +
    +
    +
    +
    +
    +

    Ready to try Pulumi?

    +
    +
    + Get Started +

    Follow the step-by-step guide

    +
    +
    + Download Open Source +

    Download our open source SDK

    +
    -
    - -{{ end }} \ No newline at end of file + +{{ end }} diff --git a/layouts/page/leadership.html b/layouts/page/leadership.html index 95963c1d18fb..395e75267c96 100644 --- a/layouts/page/leadership.html +++ b/layouts/page/leadership.html @@ -1,59 +1,57 @@ {{ define "hero" }} -{{ partial "hero" (dict "title" .Params.title ) }} + {{ partial "hero" (dict "title" .Params.title ) }} {{ end }} {{ define "main" }} -
    - +
    + -
    -
    -

    Our Leaders

    -
      - {{ range (sort $.Site.Data.team.leadership "weight") }} -
    • -
      - {{ .name }} -
      -
      {{ .name }}
      -
      {{ .title }}
      -
      - -
      -
    • - {{ end }} -
    -
    -
    +
    +
    +

    Our Leaders

    +
      + {{ range (sort $.Site.Data.team.leadership "weight") }} +
    • +
      + {{ .name }} +
      +
      {{ .name }}
      +
      {{ .title }}
      +
      + +
      +
    • + {{ end }} +
    +
    +
    -
    -
    -

    Our Board of Directors

    -
      - {{ range (sort $.Site.Data.team.board "weight") }} -
    • -
      - {{ .name }} -
      -
      {{ .name }}
      -
      {{ .title }}
      -
      {{ .investor }}
      -
      - -
      -
    • - {{ end }} -
    -
    -
    -
    -{{ end }} \ No newline at end of file +
    +
    +

    Our Board of Directors

    +
      + {{ range (sort $.Site.Data.team.board "weight") }} +
    • +
      + {{ .name }} +
      +
      {{ .name }}
      +
      {{ .title }}
      +
      {{ .investor }}
      +
      + +
      +
    • + {{ end }} +
    +
    +
    +
    +{{ end }} diff --git a/layouts/page/microsoft-build.html b/layouts/page/microsoft-build.html index ec43e0c17b65..0cb4e22982b9 100644 --- a/layouts/page/microsoft-build.html +++ b/layouts/page/microsoft-build.html @@ -1,142 +1,133 @@ {{ define "hero" }} -
    -
    - -
    -
    -

    - {{ .Params.display_title | - markdownify }} -

    -
    -
    +
    +
    + +
    +
    +

    + {{ .Params.display_title | markdownify }} +

    +
    +
    {{ end }} {{ define "main" }} -
    - -
    Meet us at Microsoft Build, Booth FP61
    -
    Join us to find out how Pulumi’s Infrastructure as Code reduces cloud complexity, accelerates development - velocity and helps companies scale and innovate.
    -
    +
    + +
    Meet us at Microsoft Build, Booth FP61
    +
    Join us to find out how Pulumi’s Infrastructure as Code reduces cloud complexity, accelerates development velocity and helps companies scale and innovate.
    +
    - + -
    -
    -

    Workshops

    +
    +
    +

    Workshops

    -
    - {{ range .Params.workshops.items }} -
    -
    -
    {{ .title }}
    - - - {{ .date }} - -

    {{ .description }}

    -
    - - {{ .action }} → - +
    + {{ range .Params.workshops.items }} +
    +
    +
    {{ .title }}
    + + + {{ .date }} + +

    {{ .description }}

    + +
    -
    + {{ end }}
    - {{ end }}
    -
    -
    +
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    -
    - Pulumi UP -
    Virtual Conference | September 18, 2024
    -
    + +
    +
    +

    Pulumi Templates for Common Use Cases

    - Whether you're a seasoned engineer or just curious to learn about infrastructure as Code, at PulumiUP - you can hear industry leaders and attend guest sessions, - demos, and panel sessions. + Pulumi templates are the fastest way to deploy infrastructure. Templates come with predefined infrastructure as code so you can get started instantly. Find some of + our templates below, and Happy Templating!

    - Register for PulumiUP -
    - - -
    -
    -

    Pulumi Templates for Common Use Cases

    -

    - Pulumi templates are the fastest way to deploy infrastructure. Templates come with predefined infrastructure - as code so you can get started instantly. Find some of - our templates below, and Happy Templating! -

    -
    -
    -
    - {{ range $item := .Params.templates.items }} -
    -
    - -
    -
    {{ $item.heading }}
    -

    {{ $item.description }}

    -
    - {{ $item.action }} +
    +
    + {{ range $item := .Params.templates.items }} +
    +
    + +
    +
    {{ $item.heading }}
    +

    {{ $item.description }}

    + +
    -
    + {{ end }}
    - {{ end }}
    -
    -
    + -
    -
    -

    Build Your Knowledge on Best Practices

    -

    There are new trends in the rapidly evolving cloud native ecosystem. Be in the know, select a webinar below. -

    -
    -
    -
    - {{ range $item := .Params.knowledge.items }} - - {{ end }} +
    +
    +

    Build Your Knowledge on Best Practices

    +

    There are new trends in the rapidly evolving cloud native ecosystem. Be in the know, select a webinar below.

    -
    -
    +
    +
    + {{ range $item := .Params.knowledge.items }} + + {{ end }} +
    +
    + -{{ partial "virtual-communities" . }} + {{ partial "virtual-communities" . }} -{{ partial "help-links" . }} -{{ end }} \ No newline at end of file + {{ partial "help-links" . }} +{{ end }} diff --git a/layouts/page/pricing.html b/layouts/page/pricing.html index a1d97e5ab644..1a6ec94e9af0 100644 --- a/layouts/page/pricing.html +++ b/layouts/page/pricing.html @@ -1,292 +1,278 @@ {{ define "main" }} -

    Plans for teams of all sizes

    -
    -

    - Start for free. Stay free forever for open source and individuals, or scale with advanced editions for your - team. -

    -
    +

    Plans for teams of all sizes

    +
    +

    + Start for free. Stay free forever for open source and individuals, or scale with advanced editions for your team. +

    +
    -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    +
    +
    -
    -
    -
    -
    - -
    -
    - {{ range $index, $tier := .Params.tiers.trialed.items }} - {{ $mobileBookmarkClass := "" }} - {{ if eq $index 2 }} -
    -

    Popular

    +
    +
    + -
    -
    + -
    -
    + -
    -
    -
    -
    -

    Pulumi for startups

    -
    -
    -

    - Are you a scaling startup? - Apply now to receive $10,000 - in free credits. -

    +
    +
    +
    +
    +

    Pulumi for startups

    +
    +
    +

    + Are you a scaling startup? + Apply now to receive $10,000 + in free credits. +

    +
    -
    -
    + -
    -

    Compare Editions

    - {{ range .Params.comparison_table.sections }} -

    {{ .header }}

    -
      - {{ range .tables }} -
    • - {{ partial "accordian-header" (dict "text" .header "subheader" .subheader "large_header" true "arrow_open" - true) }} - {{ if .subheader }} - {{ .subheader }} - {{ end }} -
      -
      -
      -
      - -
      -
      - Individual -
      -
      - Team -
      -
      - Enterprise -
      -
      - Business Critical -
      -
      - {{ range $row := .rows }} -
      -
      - {{ if $row.link }} - {{ $row.title }} - {{ else }} - {{ $row.title }} - {{ end }} - {{ if $row.tooltip }} - - - - {{ $row.tooltip }} - - - {{ end }} -
      - {{ range $item := $row.items }} -
      - {{ if eq $item.content "_check" }} - - {{ else if eq $item.content "_blank" }} - - {{ else }} - {{ $item.content | markdownify }} - {{ end }} - {{ if $item.tooltip }} - - - - {{ $item.tooltip }} - - - {{ end }} -
      +
      +

      Compare Editions

      + {{ range .Params.comparison_table.sections }} +

      {{ .header }}

      +
        + {{ range .tables }} +
      • + {{ partial "accordian-header" (dict "text" .header "subheader" .subheader "large_header" true "arrow_open" true) }} + {{ if .subheader }} + {{ .subheader }} {{ end }} -
      - {{ end }} -
      -
    • - {{ end }} +
      +
      +
      +
      + +
      +
      + Individual +
      +
      + Team +
      +
      + Enterprise +
      +
      + Business Critical +
      +
      + {{ range $row := .rows }} +
      +
      + {{ if $row.link }} + {{ $row.title }} + {{ else }} + {{ $row.title }} + {{ end }} + {{ if $row.tooltip }} + + + + {{ $row.tooltip }} + + + {{ end }} +
      + {{ range $item := $row.items }} +
      + {{ if eq $item.content "_check" }} + + {{ else if eq $item.content "_blank" }} + + {{ else }} + {{ $item.content | markdownify }} + {{ end }} + {{ if $item.tooltip }} + + + + {{ $item.tooltip }} + + + {{ end }} +
      + {{ end }} +
      + {{ end }} +
      + + {{ end }} {{ end }} -
    + -
    -

    Frequently asked questions

    +
    +

    Frequently asked questions

    - - - + + + - + - {{ range $index, $category := .Params.faq }} -

    {{ $category.category }}

    - {{ $listClass := "list-none p-0 mx-5 xl:ml-12" }} - {{ if not (eq $index 0) }} - {{ $listClass = "list-none p-0 mx-5 xl:ml-12 lg:hidden" }} - {{ end }} -
      - {{ range $question := $category.items }} -
    • - {{ partial "accordian-header" (dict "text" $question.question "large_header" true) }} + {{ range $index, $category := .Params.faq }} +

      {{ $category.category }}

      + {{ $listClass := "list-none p-0 mx-5 xl:ml-12" }} + {{ if not (eq $index 0) }} + {{ $listClass = "list-none p-0 mx-5 xl:ml-12 lg:hidden" }} + {{ end }} +
        + {{ range $question := $category.items }} +
      • + {{ partial "accordian-header" (dict "text" $question.question "large_header" true) }} -
        -

        {{ $question.answer | markdownify }}

        -
        -
      • +
        +

        {{ $question.answer | markdownify }}

        +
        + + {{ end }} +
      {{ end }} -
    - {{ end }} -
    +
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    -
    -
    -
    -
    -

    Ready to try Pulumi Cloud?

    -
    -
    - Start trial -

    14-day trial. No credit card needed.

    -
    -
    - Talk to a human -

    Contact us for a demo & quote.

    +
    +
    +
    +
    +

    Ready to try Pulumi Cloud?

    +
    +
    + Start trial +

    14-day trial. No credit card needed.

    +
    +
    + Talk to a human +

    Contact us for a demo & quote.

    +
    -
    -
    -{{ end }} \ No newline at end of file +
    +{{ end }} diff --git a/layouts/page/product-packages.html b/layouts/page/product-packages.html index ee19b54dac9c..062da7c3d22b 100644 --- a/layouts/page/product-packages.html +++ b/layouts/page/product-packages.html @@ -1,160 +1,160 @@ {{ define "hero" }} -{{ partial "hero" (dict "title" .Params.title ) }} + {{ partial "hero" (dict "title" .Params.title ) }} {{ end }} {{ define "main" }} -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    +
    -
    -
    -

    {{ .Params.overview.title }}

    -
    -
    -

    {{ .Params.overview.description }}

    +
    +

    {{ .Params.overview.title }}

    +
    +
    +

    {{ .Params.overview.description }}

    +
    -
    -
    + -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    -
    -
    -

    {{ .Params.details.title }}

    -

    {{ .Params.details.providers.title }}

    -
    -
    -
    -

    {{ .Params.details.providers.description }}

    +
    +

    {{ .Params.details.title }}

    +

    {{ .Params.details.providers.title }}

    +
    +
    +
    +

    {{ .Params.details.providers.description }}

    +
    +
    +
    + + {{ range $item := .Params.details.providers.ide }} + + {{ partial "code" (dict "lang" $item.language "code" $item.code "mode" "light") }} + + {{ end }} +
    -
    -
    - - {{ range $item := .Params.details.providers.ide }} - - {{ partial "code" (dict "lang" $item.language "code" $item.code "mode" "light") }} - - {{ end }} -
    -
    -
    + -
    -
    -

    {{ .Params.details.components.title }}

    +
    +
    +

    {{ .Params.details.components.title }}

    -
    -
    -
    -

    {{ .Params.details.components.description }}

    +
    +
    +
    +

    {{ .Params.details.components.description }}

    +
    +
    +
    + + {{ range $item := .Params.details.components.ide }} + + {{ partial "code" (dict "lang" $item.language "code" $item.code "mode" "light") }} + + {{ end }} +
    -
    -
    - - {{ range $item := .Params.details.components.ide }} - - {{ partial "code" (dict "lang" $item.language "code" $item.code "mode" "light") }} - - {{ end }} -
    -
    -
    +
    -
    -

    {{ .Params.benefits.title }}

    -
    -
    -
    -
    -
    +
    +

    {{ .Params.benefits.title }}

    +
    +
    +
    +
    +
    +
    -
    -
    - {{ range $item := .Params.benefits.items }} -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} -
    -
    -
    {{ $item.title }}
    -
    -
    -

    {{ $item.description }}

    +
    + {{ range $item := .Params.benefits.items }} +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} +
    +
    +
    {{ $item.title }}
    +
    +
    +

    {{ $item.description }}

    +
    +
    -
    + {{ end }}
    - {{ end }}
    -
    -
    +
    -
    -
    -

    {{ .Params.case_studies.title }}

    -
    - {{ range $item := .Params.case_studies.items }} -
    -
    -

    {{ $item.quote }}

    -
    -
    -

    {{ $item.name }}

    -

    {{ $item.name_title }}

    -
    -
    - {{ partial "customer-logo.html" (dict "logo" $item.company) }} -
    -
    +
    +
    +

    {{ .Params.case_studies.title }}

    +
    + {{ range $item := .Params.case_studies.items }} +
    +
    +

    {{ $item.quote }}

    +
    +
    +

    {{ $item.name }}

    +

    {{ $item.name_title }}

    +
    +
    + {{ partial "customer-logo.html" (dict "logo" $item.company) }} +
    +
    -
    -
    + {{ end }}
    - {{ end }}
    -
    -
    + -
    -
    -

    {{ .Params.get_started.title }}

    +
    +
    +

    {{ .Params.get_started.title }}

    -
    -
    -
    -

    {{ .Params.get_started.browse.title }}

    -

    {{ .Params.get_started.browse.description }}

    - {{ .Params.get_started.browse.cta_text }} +
    +
    +
    +

    {{ .Params.get_started.browse.title }}

    +

    {{ .Params.get_started.browse.description }}

    + {{ .Params.get_started.browse.cta_text }} +
    -
    -
    -
    -

    {{ .Params.get_started.publish.title }}

    -

    {{ .Params.get_started.publish.description }}

    - {{ - .Params.get_started.publish.cta_text }} +
    +
    +

    {{ .Params.get_started.publish.title }}

    +

    {{ .Params.get_started.publish.description }}

    + {{ .Params.get_started.publish.cta_text }} +
    -
    -
    -{{ end }} \ No newline at end of file +
    +{{ end }} diff --git a/layouts/page/pulumi-up-2022.html b/layouts/page/pulumi-up-2022.html index 12c2d1aeec85..e15c20dd324f 100644 --- a/layouts/page/pulumi-up-2022.html +++ b/layouts/page/pulumi-up-2022.html @@ -1,287 +1,277 @@ {{ define "main" }} -{{ $pageContext := . }} + {{ $pageContext := . }} -
    -
    -
    -

    Pulumi

    -
    The Cloud Awakens
    -

    Up

    +
    +
    +
    +

    Pulumi

    +
    The Cloud Awakens
    +

    Up

    +
    -
    -
    -
    -
    -

    PulumiUP

    -

    The Cloud Awakens

    -
    +
    +
    +
    +

    PulumiUP

    +

    The Cloud Awakens

    +
    + +

    + Frustration brought on by vast complexity has engulfed the cloud community. With hundreds of cloud providers, thousands of services, and almost unlimited ways to + interact with those services, Cloud Engineers are faced with an almost impossible task. +

    -

    - Frustration brought on by vast complexity has engulfed the cloud community. With hundreds of cloud - providers, thousands of services, and almost unlimited ways to - interact with those services, Cloud Engineers are faced with an almost impossible task. -

    - -

    - While Tech Twitter endlessly debates the correct approach to ease complexity, Pulumi has secretly dispatched - a platypus, the guardian of simplicity and productivity - in the cloud, to settle the debate.... -

    -
    -
    - -
    -
    -
    -

    MAY 4 - 5, 2022 | ONLINE

    +

    + While Tech Twitter endlessly debates the correct approach to ease complexity, Pulumi has secretly dispatched a platypus, the guardian of simplicity and productivity + in the cloud, to settle the debate.... +

    -
    - -
    -

    May the fourth be with the cloud community.

    - -

    PulumiUP is a free, virtual conference open to all interested in cloud engineering, cloud infrastructure, - software development, modern applications, or Pulumi.

    - -

    - Whether you're a seasoned cloud engineer or just curious to learn about cloud engineering, at PulumiUP you - can hear industry leaders and attend guest sessions, - demos, and panel sessions. -

    -
    - -
    - Watch now -
    - -
    -
    -
    - Pulumi - - +
    + +
    +
    +
    +

    MAY 4 - 5, 2022 | ONLINE

    -
    - -
    -
    -

    Innovation & Future-Forward Thoughts on Cloud

    +
    +

    May the fourth be with the cloud community.

    -
    - {{ $registrationData := .Params.registration.main }} - {{ $people := .Site.Data.team.team }} - {{ range .Params.sessions }} -
    -
    -
    -
    -
    -
    - {{ range $presenter := .presenters }} - {{ $presenterData := index $people $presenter }} -
    - {{ $presenterData.name }} -
    - {{ $presenterData.name }} +

    PulumiUP is a free, virtual conference open to all interested in cloud engineering, cloud infrastructure, software development, modern applications, or Pulumi.

    + +

    + Whether you're a seasoned cloud engineer or just curious to learn about cloud engineering, at PulumiUP you can hear industry leaders and attend guest sessions, + demos, and panel sessions. +

    +
    + +
    + Watch now +
    + +
    +
    +
    + Pulumi + + +
    +
    +
    +
    + +
    +
    +

    Innovation & Future-Forward Thoughts on Cloud

    + +
    + {{ $registrationData := .Params.registration.main }} + {{ $people := .Site.Data.team.team }} + {{ range .Params.sessions }} +
    +
    +
    +
    +
    +
    + {{ range $presenter := .presenters }} + {{ $presenterData := index $people $presenter }} +
    + {{ $presenterData.name }} +
    + {{ $presenterData.name }} +
    +
    + {{ end }}
    - {{ end }} +
    + +
    +
    + {{ .title }} +
    +

    + {{ .description }} +

    +
    + Watch now +
    +
    + {{ end }} +
    +
    +
    -
    -
    - {{ .title }} -
    -

    - {{ .description }} -

    -
    - Watch now -
    +
    +

    Workshops

    + +
    + {{ range .Params.workshops }} +
    +
    +

    {{ .title }}

    +

    {{ .description }}

    +
    -
    {{ end }}
    -
    - - -
    -

    Workshops

    - -
    - {{ range .Params.workshops }} -
    -
    -

    {{ .title }}

    -

    {{ .description }}

    - +
    + +
    +

    Why Attend

    +

    Get ready to be inspired, challenged, and transformed. Learn from experts and success stories about early adopters.

    + +
    +
    + {{ partial "color-icon.html" (dict "icon" "lightning" "icon_color" "yellow") }} +

    + Learn from cloud engineering experts about how they manage and solve frustrations with handling cloud complexity all the way from cloud native applications to + structuring engineering orgs to be productive with the cloud. +

    -
    - {{ end }} -
    - - -
    -

    Why Attend

    -

    Get ready to be inspired, challenged, and transformed. Learn from experts and success stories about early - adopters.

    - -
    -
    - {{ partial "color-icon.html" (dict "icon" "lightning" "icon_color" "yellow") }} -

    - Learn from cloud engineering experts about how they manage and solve frustrations with handling cloud - complexity all the way from cloud native applications to - structuring engineering orgs to be productive with the cloud. -

    -
    -
    - {{ partial "color-icon.html" (dict "icon" "lock" "icon_color" "purple") }} -

    - Unlock the power of the cloud with thought-provoking presentations that are designed to help you - transform your organization, your business, and yourself. - Access open source code on Github and get involved with the community. -

    -
    +
    + {{ partial "color-icon.html" (dict "icon" "lock" "icon_color" "purple") }} +

    + Unlock the power of the cloud with thought-provoking presentations that are designed to help you transform your organization, your business, and yourself. + Access open source code on Github and get involved with the community. +

    +
    -
    - {{ partial "color-icon.html" (dict "icon" "rocketship" "icon_color" "salmon") }} -

    - You will learn how top-performing cloud engineering teams and organizations are leveraging the cloud to - drive remarkable success and how to implement their - techniques within your own organization or team. -

    -
    -
    - -
    - Watch now -
    - -
    -
    -

    Who Should Attend

    -

    Business leaders, engineering managers, developers, and anyone who is interested in learning more about - the cloud and cloud engineering.

    - -
      -
    • Infrastructure and platform engineers
    • -
    • Software engineers and developers
    • -
    • Solutions architects
    • -
    • Technical leaders (CIOs, CTOs, VPs, Directors)
    • -
    • Everyone else interested in cloud engineering
    • -
    +
    + {{ partial "color-icon.html" (dict "icon" "rocketship" "icon_color" "salmon") }} +

    + You will learn how top-performing cloud engineering teams and organizations are leveraging the cloud to drive remarkable success and how to implement their + techniques within your own organization or team. +

    +
    -
    -
    - -
    -
    - -
    {{ .Params.customer_logos.title }}
    -
    - {{ range $logo := .Params.customer_logos.logos }} -
    - {{ $imgClass := "w-full" }} - {{ if eq $logo "aws-logo.svg" }} - {{ $imgClass = "w-2/3 mx-auto" }} - {{ end }} +
    + Watch now +
    - +
    +
    +

    Who Should Attend

    +

    Business leaders, engineering managers, developers, and anyone who is interested in learning more about the cloud and cloud engineering.

    + +
      +
    • Infrastructure and platform engineers
    • +
    • Software engineers and developers
    • +
    • Solutions architects
    • +
    • Technical leaders (CIOs, CTOs, VPs, Directors)
    • +
    • Everyone else interested in cloud engineering
    • +
    - {{ end }}
    -
    -
    - -
    -

    Schedule At A Glance

    -

    Time not work for you? Register and we'll share the on-demand version when its available.

    - - {{ range .Params.schedule_overview }} -
    -
    -

    {{ .day }}

    -

    {{ .time }}

    -

    +
    + +
    +
    + +
    {{ .Params.customer_logos.title }}
    +
    + {{ range $logo := .Params.customer_logos.logos }} +
    + {{ $imgClass := "w-full" }} + {{ if eq $logo "aws-logo.svg" }} + {{ $imgClass = "w-2/3 mx-auto" }} + {{ end }} + + + +
    + {{ end }} +
    +
    + +
    +

    Schedule At A Glance

    +

    Time not work for you? Register and we'll share the on-demand version when its available.

    + + {{ range .Params.schedule_overview }} +
    +
    +

    {{ .day }}

    +

    {{ .time }}

    +

    +
    + +
    +

    {{ .title }}

    +

    + {{ .description | markdownify }} +

    +
    +
    + {{ end }} +
    + +
    +
    +

    About Pulumi

    -
    -

    {{ .title }}

    - {{ .description | markdownify }} + Pulumi's cloud engineering platform brings infrastructure, developer, and security teams together through a unified software engineering process that tames cloud + complexity and accelerates innovation. Using the Pulumi platform, teams can build, deploy, and manage modern cloud applications faster and with more confidence, + using any language, any architecture and any cloud. Pulumi lets teams build Universal Infrastructure as Code using popular programming languages (Python, + JavaScript, TypeScript, Go, .NET/C#, Java) and markup languages (YAML, JSON, CUE). It enables deploying infrastructure and applications together through a unified + delivery process. Finally, teams can manage cloud applications with Policy as Code, better visibility, and controls.

    -
    -
    - {{ end }} -
    - -
    -
    -

    About Pulumi

    - -

    - Pulumi's cloud engineering platform brings infrastructure, developer, and security teams together through a - unified software engineering process that tames cloud - complexity and accelerates innovation. Using the Pulumi platform, teams can build, deploy, and manage modern - cloud applications faster and with more confidence, - using any language, any architecture and any cloud. Pulumi lets teams build Universal Infrastructure as Code - using popular programming languages (Python, - JavaScript, TypeScript, Go, .NET/C#, Java) and markup languages (YAML, JSON, CUE). It enables deploying - infrastructure and applications together through a unified - delivery process. Finally, teams can manage cloud applications with Policy as Code, better visibility, and - controls. -

    - -
    - Watch now -
    -
    -
    - -
    -
    -
    -
    -

    Connect with Peers on GitHub

    -

    Pulumi open source code is available to all. Explore what we are working on and interact - with the community.

    - github.com/pulumi + +
    +
    -
    -
    -

    Live Q&A with Pulumi DAs

    -

    Ask questions when then conference is happening, get answers, and join discussions.

    - #PulumiUP +
    +
    +
    +
    +

    Connect with Peers on GitHub

    +

    Pulumi open source code is available to all. Explore what we are working on and interact with the community.

    + github.com/pulumi +
    +
    + +
    +
    +

    Live Q&A with Pulumi DAs

    +

    Ask questions when then conference is happening, get answers, and join discussions.

    + #PulumiUP +
    -
    - -{{ end }} \ No newline at end of file + +{{ end }} diff --git a/layouts/page/pulumi-up.html b/layouts/page/pulumi-up.html index 6dcae8e0658a..24b46776c007 100644 --- a/layouts/page/pulumi-up.html +++ b/layouts/page/pulumi-up.html @@ -1,108 +1,107 @@ {{ define "main" }} -
    -
    - -
    -
    -

    - Pulumi - UP -

    -
    -
    - Watch The Announcements +
    +
    + +
    +
    +

    + Pulumi + UP +

    +
    +
    -
    -
    -
    -
    -
    -

    Watch The Announcements

    -
    - +
    +
    +
    +
    +

    Watch The Announcements

    +
    + +
    -
    -
    -

    About

    -

    {{ .Params.event_description | markdownify }}

    +
    +

    About

    +

    {{ .Params.event_description | markdownify }}

    -

    Speakers

    -
    - {{ range $id := .Params.speakers }} - {{ $authorPage := $.Site.GetPage (printf "/authors/%s" ($id | urlize)) }} - {{ $authorData := index $.Site.Data.team.team $id }} +

    Speakers

    +
    + {{ range $id := .Params.speakers }} + {{ $authorPage := $.Site.GetPage (printf "/authors/%s" ($id | urlize)) }} + {{ $authorData := index $.Site.Data.team.team $id }} -
    -
    - {{ $authorData.name }} -
    -
    -
    {{ $authorData.name }}
    -

    {{ $authorData.title }}, {{ $authorData.company }}

    -
    +
    +
    + {{ $authorData.name }} +
    +
    +
    {{ $authorData.name }}
    +

    {{ $authorData.title }}, {{ $authorData.company }}

    +
    +
    + {{ end }}
    - {{ end }}
    -
    -
    +
    +
    -
    -
    -

    Supported by our friends at

    -
      -
    • - Amazon Web Services -
    • +
      +

      Supported by our friends at

      +
        +
      • + Amazon Web Services +
      • -
      • - Fenergo -
      • +
      • + Fenergo +
      • -
      • - Github -
      • +
      • + Github +
      • -
      • - Honeycomb -
      • +
      • + Honeycomb +
      • -
      • - JFrog -
      • +
      • + JFrog +
      • -
      • - Snowflake -
      • -
      -
      +
    • + Snowflake +
    • +
    +
    -
    -
    -
    - -

    Get started with Cloud Engineering

    -

    - Pulumi is a cloud engineering platform that brings infrastructure, application development, and - compliance teams together through a unified software engineering - process to deliver and manage modern cloud applications. -

    -
    - Get Started +
    +
    +
    + +

    Get started with Cloud Engineering

    +

    + Pulumi is a cloud engineering platform that brings infrastructure, application development, and compliance teams together through a unified software engineering + process to deliver and manage modern cloud applications. +

    +
    -
    -
    + - -{{ end }} \ No newline at end of file + +{{ end }} diff --git a/layouts/page/reinvent.html b/layouts/page/reinvent.html index f56fef4645c2..993cdbebfcea 100644 --- a/layouts/page/reinvent.html +++ b/layouts/page/reinvent.html @@ -1,23 +1,21 @@ {{ define "hero" }} -
    -
    - - -
    + {{ end }} {{ define "main" }} -
    -

    Plan your re:Invent with Pulumi

    -
    -
    -
    -
    - Code -
    -
    -
    Book Your Tailored AWS Demo
    -
    -
    -

    Skip the line at booth 1127 for a one-on-one Pulumi demo tailored to your AWS use case. Get your - questions answered, - explore best practices, and see how Pulumi can accelerate your cloud journey with a solution - tailored to you.

    -
    -
    - Book my Demo at re:Invent +
    +

    Plan your re:Invent with Pulumi

    +
    +
    +
    +
    + Code +
    +
    +
    Book Your Tailored AWS Demo
    +
    +
    +

    Skip the line at booth 1127 for a one-on-one Pulumi demo tailored to your AWS use case. Get your questions answered, + explore best practices, and see how Pulumi can accelerate your cloud journey with a solution tailored to you.

    +
    +
    -
    -
    -
    -
    - Drink -
    -
    -
    1923 Happy Hour
    -
    -
    -

    Don't miss one of the most anticipated nights of re:Invent. Join Pulumi, Buildkite, Honeycomb, - and Oso at 1923 +

    +
    +
    + Drink +
    +
    +
    1923 Happy Hour
    +
    +
    +

    Don't miss one of the most anticipated nights of re:Invent. Join Pulumi, Buildkite, Honeycomb, and Oso at 1923 Prohibition Bar for craft cocktails, community, and conversations that go late into the night. -

    -

    Date: December 3, at 7:00 - 10:00 pm PT

    -

    Location: 1923 Bar - The Venetian

    -
    -
    - RSVP now +

    +

    Date: December 3, at 7:00 - 10:00 pm PT

    +

    Location: 1923 Bar - The Venetian

    +
    +
    + RSVP now +
    -
    -
    -
    -
    - Restaurant -
    -
    -
    Restaurant Reception with Datadog
    -
    -
    -

    Join Pulumi and Datadog for an exclusive re:Invent evening at one of Las Vegas's top restaurants. - Enjoy exceptional +

    +
    +
    + Restaurant +
    +
    +
    Restaurant Reception with Datadog
    +
    +
    +

    Join Pulumi and Datadog for an exclusive re:Invent evening at one of Las Vegas's top restaurants. Enjoy exceptional food, drinks, and conversations in a private setting. -

    -

    Date: December 1, 6:00 - 8:00 pm PT

    -

    Location: Gjelina - The Venetian

    +

    +

    Date: December 1, 6:00 - 8:00 pm PT

    +

    Location: Gjelina - The Venetian

    -
    - +
    -
    -
    -
    -
    - Workshop -
    -
    -

    ONLINE WORKSHOP

    -
    Day 2 Autonomous Infrastructure Management
    -
    -
    -

    Learn how to simplify and automate maintenance of growing infrastructure inventory with - monitoring, remediation, and +

    +
    +
    + Workshop +
    +
    +

    ONLINE WORKSHOP

    +
    Day 2 Autonomous Infrastructure Management
    +
    +
    +

    Learn how to simplify and automate maintenance of growing infrastructure inventory with monitoring, remediation, and optimization workflows. -

    -

    Date: December 10, 9:00 - 10:00 pm PT

    -
    -
    - Register for the - workshop +

    +

    Date: December 10, 9:00 - 10:00 pm PT

    +
    +
    -
    -
    +
    -
    -
    -
    -

    Deploy AWS Infrastructure at the Speed of AI

    -

    Discover why AWS + Pulumi are better together

    -

    Deploy faster, secure better, and manage everything with confidence - using real programming languages.

    +
    +
    +
    +

    Deploy AWS Infrastructure at the Speed of AI

    +

    Discover why AWS + Pulumi are better together

    +

    Deploy faster, secure better, and manage everything with confidence using real programming languages.

    +
    + The AWS Official Partnership
    - The AWS Official Partnership -
    -
    + -
    -

    Pulumi + AWS at booth 1127

    -

    Discover how Pulumi empowers teams to build, secure, and scale modern cloud applications on AWS.

    -
    -
    -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" "coding" "icon_color" "orange") }} +
    +

    Pulumi + AWS at booth 1127

    +

    Discover how Pulumi empowers teams to build, secure, and scale modern cloud applications on AWS.

    +
    +
    +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" "coding" "icon_color" "orange") }} +
    +
    +
    +
    Product Demos
    +
    +
    +

    Drop in for live sessions every hour: 15-minute demos. Learn how to turn AWS best practices into reusable components, + automate governance, and accelerate delivery. Learn how teams ship AWS services 5x faster while reducing infrastructure + costs by up to 70%

    -
    -
    -
    Product Demos
    -
    -
    -

    Drop in for live sessions every hour: 15-minute demos. Learn how to turn AWS best practices into - reusable components, - automate governance, and accelerate delivery. Learn how teams ship AWS services 5x faster while - reducing infrastructure - costs by up to 70%

    -
    -
    -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" "neo" "icon_color" "blue") }} +
    +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" "neo" "icon_color" "blue") }} +
    -
    -
    -
    Meet Neo
    -
    -
    -

    Pulumi Neo is the first AI agent engineered to orchestrate, secure, and optimize complex cloud - automation at enterprise - scale. It maps dependencies, applies guardrails, and streamlines infrastructure delivery across - large, regulated +

    +
    Meet Neo
    +
    +
    +

    Pulumi Neo is the first AI agent engineered to orchestrate, secure, and optimize complex cloud automation at enterprise + scale. It maps dependencies, applies guardrails, and streamlines infrastructure delivery across large, regulated environments.

    +
    -
    -
    -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" "interests" "icon_color" "purple") }} +
    +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" "interests" "icon_color" "purple") }} +
    -
    -
    -
    Limited-edition Swag
    -
    -
    -

    Pick up exclusive Pulumi merch as you explore how Pulumi and Neo use AI to streamline - infrastructure and security +

    +
    Limited-edition Swag
    +
    +
    +

    Pick up exclusive Pulumi merch as you explore how Pulumi and Neo use AI to streamline infrastructure and security lifecycle management across the cloud.

    +
    -
    -
    +
    - -
    -
    -
    -

    AI-Driven Infrastructure Automation on AWS

    -

    Discover how agentic AI automates AWS operations within your governance - guardrails. Real examples of config +

    +
    +
    +

    AI-Driven Infrastructure Automation on AWS

    +

    Discover how agentic AI automates AWS operations within your governance guardrails. Real examples of config remediation, Lambda updates, and security response.

    +
    + Request a Demo
    - Request a Demo -
    -
    +

    Meet the Pulumi Experts

    -

    At booth 1127, meet the team shaping Pulumi's future. Product leaders, engineers, and enterprise experts will be - there - to answer your questions and share insights tailored to your cloud and platform engineering journey.

    - +

    At booth 1127, meet the team shaping Pulumi's future. Product leaders, engineers, and enterprise experts will be there + to answer your questions and share insights tailored to your cloud and platform engineering journey.

    +
    -
    +
    - ENGINEERING + ENGINEERING

    Meagan Cojocar

    Vice President and GM, IaC

    - +
    -

    Meet the leader guiding Pulumi engineering and - roadmap, ensuring customer success shapes how Infrastructure as Code and - Pulumi evolves.

    +

    Meet the leader guiding Pulumi engineering and roadmap, ensuring customer success shapes how Infrastructure as Code and + Pulumi evolves.

    - +
    - -
    -
    - ENGINEERING -
    -

    Komal Ali

    -

    Director of Engineering, IaC and AI

    -
    - + +
    +
    + ENGINEERING +
    +

    Komal Ali

    +

    Director of Engineering, IaC and AI

    +
    + -
    -

    Meet the engineering leader guiding IaC Cloud, - Deployments, IDP, and ESC, shaping how Pulumi brings platform engineering - together in one unified experience.

    -
    - - -
    -
    -
    -
    +
    +

    Meet the engineering leader guiding IaC Cloud, Deployments, IDP, and ESC, shaping how Pulumi brings platform engineering + together in one unified experience.

    +
    + + +
    +
    +
    +
    -
    +
    - ENTERPRISE - SERVICES + ENTERPRISE SERVICES

    Craig Dillon

    Head of Professional Services

    - +
    -

    Meet Craig to learn how Pulumi’s Professional - Services team accelerates enterprise transformation. - His team helps organizations migrate from legacy tools, bootstrap internal developer platforms, - and set the right - foundation for long-term success.

    - - +

    Meet Craig to learn how Pulumi’s Professional Services team accelerates enterprise transformation. + His team helps organizations migrate from legacy tools, bootstrap internal developer platforms, and set the right + foundation for long-term success.

    + +
    - +
    @@ -327,25 +284,20 @@

    Craig Dillon

    -
    +
    - SOLUTIONS + SOLUTIONS

    Mitch Gerdisch

    Principal Solutions Architect

    - +
    -

    Meet the expert who has guided enterprise - customers to success, with deep skills in security, cloud computing, - orchestration, and API integrations.

    +

    Meet the expert who has guided enterprise customers to success, with deep skills in security, cloud computing, + orchestration, and API integrations.

    - +
    @@ -353,25 +305,20 @@

    Mitch Gerdisch

    -
    +
    - SOLUTIONS + SOLUTIONS

    James Connell

    Senior Solutions Architect

    - +
    -

    Meet the architect specializing in application - modernization and cloud migration, guiding enterprises to streamline - DevOps and scale with modern practices.

    +

    Meet the architect specializing in application modernization and cloud migration, guiding enterprises to streamline + DevOps and scale with modern practices.

    - +
    @@ -380,21 +327,19 @@

    James Connell

    -
    +
    -

    Interested in learning more about Neo + Amazon Bedrock - AgentCore?

    +

    Interested in learning more about Neo + Amazon Bedrock AgentCore?

    Watch it in action guided by our expert engineering team

    Request a Demo
    -{{ end }} \ No newline at end of file +{{ end }} diff --git a/layouts/page/solutions-use-case.html b/layouts/page/solutions-use-case.html index f8a032b3bcaf..e1ffd9faa7cb 100644 --- a/layouts/page/solutions-use-case.html +++ b/layouts/page/solutions-use-case.html @@ -1,114 +1,113 @@ {{ define "hero" }} -{{ partial "hero.html" (dict "title" .Params.title) }} + {{ partial "hero.html" (dict "title" .Params.title) }} {{ end }} {{ define "main" }} - -
    -
    -
    -

    {{ .Params.overview.title }}

    -

    {{ .Params.overview.description | markdownify }}

    -
    -
    - Reference Architecture + +
    +
    +
    +

    {{ .Params.overview.title }}

    +

    {{ .Params.overview.description | markdownify }}

    +
    +
    + Reference Architecture +
    -
    -
    +
    - -
    -

    {{ .Params.benefits.title }}

    + +
    +

    {{ .Params.benefits.title }}

    -

    {{ .Params.benefits.benefits.title }}

    +

    {{ .Params.benefits.benefits.title }}

    -
    - {{ range $benefit := .Params.benefits.benefits.items }} -
    -
    - {{ partial "color-icon.html" (dict "icon" $benefit.icon "icon_color" $benefit.icon_color) }} -
    {{ $benefit.title }}
    -

    {{ $benefit.description | markdownify }}

    -
    +
    + {{ range $benefit := .Params.benefits.benefits.items }} +
    +
    + {{ partial "color-icon.html" (dict "icon" $benefit.icon "icon_color" $benefit.icon_color) }} +
    {{ $benefit.title }}
    +

    {{ $benefit.description | markdownify }}

    +
    +
    + {{ end }}
    - {{ end }} -
    -

    {{ .Params.benefits.help.title }}

    +

    {{ .Params.benefits.help.title }}

    -
    - {{ $rowWidth := "w-1/2" }} - {{ if eq (len .Params.benefits.help.items) 3 }} - {{ $rowWidth = "w-1/3" }} - {{ end }} - {{ range $benefit := .Params.benefits.help.items }} -
    -
    - {{ partial "color-icon.html" (dict "icon" $benefit.icon "icon_color" "salmon") }} -
    {{ $benefit.title }}
    -

    {{ $benefit.description | markdownify }}

    -
    +
    + {{ $rowWidth := "w-1/2" }} + {{ if eq (len .Params.benefits.help.items) 3 }} + {{ $rowWidth = "w-1/3" }} + {{ end }} + {{ range $benefit := .Params.benefits.help.items }} +
    +
    + {{ partial "color-icon.html" (dict "icon" $benefit.icon "icon_color" "salmon") }} +
    {{ $benefit.title }}
    +

    {{ $benefit.description | markdownify }}

    +
    +
    + {{ end }}
    - {{ end }} -
    -
    +
    - -
    -

    {{ .Params.diagrams.title }}

    -

    {{ .Params.diagrams.description | markdownify }}

    + +
    +

    {{ .Params.diagrams.title }}

    +

    {{ .Params.diagrams.description | markdownify }}

    - {{ range $diagram := .Params.diagrams.items }} -
    -
    - -
    + {{ range $diagram := .Params.diagrams.items }} +
    +
    + +
    -
    -

    {{ $diagram.title }}

    -

    {{ $diagram.content | markdownify }}

    -
    -
    - {{ end }} -
    +
    +

    {{ $diagram.title }}

    +

    {{ $diagram.content | markdownify }}

    +
    +
    + {{ end }} + - -
    - {{ $pageContext := . }} + +
    + {{ $pageContext := . }} - -
    {{ .Params.customer_logos.title }}
    -
    - {{ range $logo := .Params.customer_logos.logos }} -
    - - {{ partial "customer-logo.html" (dict "logo" $logo.name "hoverable" true) }} - + +
    {{ .Params.customer_logos.title }}
    +
    + {{ range $logo := .Params.customer_logos.logos }} + + {{ end }}
    - {{ end }} -
    -
    +
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    -
    -
    -

    {{ .Params.get_started.title }}

    +
    +

    {{ .Params.get_started.title }}

    -
    -
    -

    {{ .Params.get_started.get_started.title }}

    -

    {{ .Params.get_started.get_started.description }}

    - {{ - .Params.get_started.get_started.cta_text }} +
    +
    +

    {{ .Params.get_started.get_started.title }}

    +

    {{ .Params.get_started.get_started.description }}

    + {{ .Params.get_started.get_started.cta_text }} +
    -
    -
    -{{ end }} \ No newline at end of file + +{{ end }} diff --git a/layouts/page/solutions.html b/layouts/page/solutions.html index 5869a0d30ccc..d7b29103cb61 100644 --- a/layouts/page/solutions.html +++ b/layouts/page/solutions.html @@ -1,193 +1,192 @@ {{ define "hero" }} -{{ partial "hero" (dict "title" .Params.title ) }} + {{ partial "hero" (dict "title" .Params.title ) }} {{ end }} {{ define "main" }} -
    -

    {{ .Params.overview.title }}

    -

    {{ .Params.overview.description }}

    -
    - -
    -
    -
    -
    -
    -
    +
    +

    {{ .Params.overview.title }}

    +

    {{ .Params.overview.description }}

    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    -
    -
    -
    -
    -
    -

    {{ .Params.use_cases.title }}

    +
    +
    +

    {{ .Params.use_cases.title }}

    -
      - {{ $listLength := len .Params.use_cases.items }} - {{ range $index, $item := .Params.use_cases.items }} - {{ $itemClass := "border-t-2" }} - {{ if eq (add $index 1) $listLength }} - {{ $itemClass = "border-t-2 border-b-2" }} - {{ end }} +
        + {{ $listLength := len .Params.use_cases.items }} + {{ range $index, $item := .Params.use_cases.items }} + {{ $itemClass := "border-t-2" }} + {{ if eq (add $index 1) $listLength }} + {{ $itemClass = "border-t-2 border-b-2" }} + {{ end }} -
      • - {{ partial "accordian-header" (dict "text" $item.name) }} +
      • + {{ partial "accordian-header" (dict "text" $item.name) }} -
        -

        {{ $item.description | markdownify }}

        +
        +

        {{ $item.description | markdownify }}

        - {{ if $item.case_studies }} - - {{ end }} + {{ if $item.case_studies }} + + {{ end }} +
        +
      • + {{ end }} +
      +
    +
    + +
    +

    {{ .Params.architectures.title }}

    + +
    + {{ range $item := .Params.architectures.items }} +
    +
    +

    {{ $item.name }}

    +

    {{ $item.description }}

    +

    Relevant Case Studies

    +
    + {{ range $cs := $item.case_studies }} + + {{ end }} +
    + +
    - {{ end }} - -
    -
    +
    +
    +
    -
    -

    {{ .Params.architectures.title }}

    - -
    - {{ range $item := .Params.architectures.items }} -
    -
    -

    {{ $item.name }}

    -

    {{ $item.description }}

    -

    Relevant Case Studies

    -
    - {{ range $cs := $item.case_studies }} -
    - - {{ partial "customer-logo.html" (dict "logo" $cs.logo "black" true) }} - +
    + + +
    + {{ range $item := .Params.personas.developers.items }} +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} +
    +
    +
    {{ $item.title }}
    +
    +
    +

    {{ $item.description | markdownify }}

    +
    - {{ end }} -
    - -
    -
    - {{ end }} -
    -
    -
    - -
    - - -
    - {{ range $item := .Params.personas.developers.items }} -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} -
    -
    -
    {{ $item.title }}
    -
    -
    -

    {{ $item.description | markdownify }}

    -
    + {{ end }}
    - {{ end }} -
    -
    - - -
    - {{ range $item := .Params.personas.devops.items }} -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} -
    -
    -
    {{ $item.title }}
    -
    -
    -

    {{ $item.description | markdownify }}

    -
    + + + +
    + {{ range $item := .Params.personas.devops.items }} +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} +
    +
    +
    {{ $item.title }}
    +
    +
    +

    {{ $item.description | markdownify }}

    +
    +
    + {{ end }}
    - {{ end }} -
    - - - -
    - {{ range $item := .Params.personas.security.items }} -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} -
    -
    -
    {{ $item.title }}
    -
    -
    -

    {{ $item.description | markdownify }}

    -
    + + + +
    + {{ range $item := .Params.personas.security.items }} +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} +
    +
    +
    {{ $item.title }}
    +
    +
    +

    {{ $item.description | markdownify }}

    +
    +
    + {{ end }}
    - {{ end }} -
    - - - -
    - {{ range $item := .Params.personas.leader.items }} -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} -
    -
    -
    {{ $item.title }}
    -
    -
    -

    {{ $item.description | markdownify }}

    -
    + + + +
    + {{ range $item := .Params.personas.leader.items }} +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} +
    +
    +
    {{ $item.title }}
    +
    +
    +

    {{ $item.description | markdownify }}

    +
    +
    + {{ end }}
    - {{ end }} +
    + +
    +

    + + {{ .Params.personas.title }} + + + + for Developers + + + for DevOps & Infra Teams + + + for Security Engineers + + + for Engineering Leaders + + +

    +
    +
    + +
    +
    +

    {{ .Params.get_started.title }}

    +

    {{ .Params.get_started.description }}

    + - - -
    -

    - - {{ .Params.personas.title }} - - - - for Developers - - - for DevOps & Infra Teams - - - for Security Engineers - - - for Engineering Leaders - - -

    -
    -
    - -
    -
    -

    {{ .Params.get_started.title }}

    -

    {{ .Params.get_started.description }}

    - -
    -
    -{{ end }} \ No newline at end of file + +{{ end }} diff --git a/layouts/partials/blog/series-list-sidebar.html b/layouts/partials/blog/series-list-sidebar.html index 1e39f143c8e2..64f635283c0a 100644 --- a/layouts/partials/blog/series-list-sidebar.html +++ b/layouts/partials/blog/series-list-sidebar.html @@ -8,23 +8,22 @@ {{ $currentTag = .Data.Term }} {{ with .Site.Data.blog_series }} -{{ range .series }} -{{ if eq .slug $currentTag }} -{{ $isSeriesTag = true }} -{{ end }} -{{ end }} + {{ range .series }} + {{ if eq .slug $currentTag }} + {{ $isSeriesTag = true }} + {{ end }} + {{ end }} {{ end }} {{ if $isSeriesTag }}
    {{ else }} -{{ partial "blog/sidebar.html" . }} -{{ end }} \ No newline at end of file + {{ partial "blog/sidebar.html" . }} +{{ end }} diff --git a/layouts/partials/blog/series-sidebar.html b/layouts/partials/blog/series-sidebar.html index 41e9b1dd164d..a7b4434e5072 100644 --- a/layouts/partials/blog/series-sidebar.html +++ b/layouts/partials/blog/series-sidebar.html @@ -4,12 +4,11 @@ \ No newline at end of file + diff --git a/layouts/partials/blog/sidebar.html b/layouts/partials/blog/sidebar.html index f063b5b490d2..f44a93c1962d 100644 --- a/layouts/partials/blog/sidebar.html +++ b/layouts/partials/blog/sidebar.html @@ -4,18 +4,17 @@

    - {{/* Only show the top N blog tags. This lists releases first, then features, then most popular descendingly. - */}} + {{/* Only show the top N blog tags. This lists releases first, then features, then most popular descendingly. */}} {{ $allTags := .Site.Taxonomies.tags.ByCount }} {{ $releases := where $allTags "Name" "pulumi-releases" }} @@ -59,23 +57,25 @@
    Recent Posts
      {{ range $i, $tagInfo := (slice $releases $features (first 40 $others)) }} - {{ range $tagInfo }} - {{ $tag := .Name }} -
    • - - {{ $tag }} - -
    • - {{ end }} + {{ range $tagInfo }} + {{ $tag := .Name }} +
    • + + {{ $tag }} + +
    • + {{ end }} {{ end }}
    - All blog tags → + All blog tags → {{ end }}
    - \ No newline at end of file + diff --git a/layouts/partials/content-tile.html b/layouts/partials/content-tile.html index a9d1bd286fc9..bc4888463b92 100644 --- a/layouts/partials/content-tile.html +++ b/layouts/partials/content-tile.html @@ -1,16 +1,15 @@ -
  • +
  • {{ $href := .link }} {{ $relref := "noopener noreferrer" }} {{ $target := "_blank" }} {{ if eq .external false }} - {{ if not (isset . "multiple") }} - {{ $href = (relref .pageContext .link) }} - {{ end }} + {{ if not (isset . "multiple") }} + {{ $href = (relref .pageContext .link) }} + {{ end }} - {{ $relref = "" }} - {{ $target = "" }} + {{ $relref = "" }} + {{ $target = "" }} {{ end }}
    @@ -18,7 +17,7 @@
    - +
    @@ -39,4 +38,4 @@
    -
  • \ No newline at end of file + diff --git a/layouts/partials/event-schedule.html b/layouts/partials/event-schedule.html index 4161bad1f38f..53d794a3cc0b 100644 --- a/layouts/partials/event-schedule.html +++ b/layouts/partials/event-schedule.html @@ -20,31 +20,29 @@

    {{ .schedule.heading }}

    {{ .schedule.subheading }}

    {{ range $index, $item := .schedule.items }} -
    -
    {{ $item.time }}
    - {{ if $item.time2 }} -
    {{ $item.time2 }}
    - {{ end }} - {{ if $item.description }} -
    - - -
    - {{ $item.description | markdownify }} -
    +
    +
    {{ $item.time }}
    + {{ if $item.time2 }} +
    {{ $item.time2 }}
    + {{ end }} + {{ if $item.description }} +
    + + +
    + {{ $item.description | markdownify }} +
    +
    + {{ else if $item.title }} +
    {{ $item.title }}
    + {{ else }} +
    + {{ end }}
    - {{ else if $item.title }} -
    {{ $item.title }}
    - {{ else }} -
    - {{ end }} -
    {{ end }}
    - \ No newline at end of file + diff --git a/layouts/partials/events/event-card.html b/layouts/partials/events/event-card.html index 8b503ede0011..c75845464836 100644 --- a/layouts/partials/events/event-card.html +++ b/layouts/partials/events/event-card.html @@ -1,15 +1,14 @@ {{ $dataMonth := (lower (.datetime | time.Format "Jan-06")) }} -
  • +
  • {{ $href := .link }} {{ $relref := "noopener noreferrer" }} {{ $target := "_blank" }} {{ if eq .external false }} - {{ $href = (relref .pageContext .link) }} + {{ $href = (relref .pageContext .link) }} - {{ $relref = "" }} - {{ $target = "" }} + {{ $relref = "" }} + {{ $target = "" }} {{ end }}
    @@ -21,17 +20,16 @@ {{ .data.Params.main.event_type | upper }} {{ if .data.Params.main.youtube_url }} - ON-DEMAND + ON-DEMAND {{ else }} - {{ .data.Params.main.location | upper }} + {{ .data.Params.main.location | upper }} {{ end }}
    {{ .data.Params.title }} {{ if .external }}{{ end }}
    - +
    {{ .datetime | time.Format "2" }}
    @@ -49,18 +47,18 @@
    {{ if .data.Params.main.tags }} - {{ partial "events/tags.html" (dict "tags" .data.Params.main.tags) }} + {{ partial "events/tags.html" (dict "tags" .data.Params.main.tags) }} {{ end }} - + {{ if .data.Params.main.youtube_url }} -
    Watch on-demand
    +
    Watch on-demand
    {{ else if .upcoming }} -
    Register
    +
    Register
    {{ end }}
    -
  • \ No newline at end of file + diff --git a/layouts/partials/events/summary.html b/layouts/partials/events/summary.html index 4e2f995521bb..f3b9621056a2 100644 --- a/layouts/partials/events/summary.html +++ b/layouts/partials/events/summary.html @@ -1,21 +1,20 @@
    {{ if .show_cloud }} -
    - - This workshop is taught with Pulumi Cloud. Sign up for free to follow along. -
    +
    + + This workshop is taught with Pulumi Cloud. Sign up for free to follow along. +
    {{ end }}
    {{ .description | markdownify }}
    {{ if .learn }} -
    -
    You'll Learn:
    - {{ range $item := .learn }} -
    - - {{ $item }} +
    +
    You'll Learn:
    + {{ range $item := .learn }} +
    + + {{ $item }} +
    + {{ end }}
    - {{ end }} -
    {{ end }}
    \ No newline at end of file diff --git a/layouts/partials/header.html b/layouts/partials/header.html index f7339a4a9ca5..5cb3a1ebff9d 100644 --- a/layouts/partials/header.html +++ b/layouts/partials/header.html @@ -522,7 +522,7 @@ {{ partial "top-nav-user-toggle" }}
    -
    + diff --git a/layouts/partials/home/console.html b/layouts/partials/home/console.html index bfca3b4d4090..2c91633a00e4 100644 --- a/layouts/partials/home/console.html +++ b/layouts/partials/home/console.html @@ -7,14 +7,16 @@
    -
    +
    + fill="white" + /> + fill="#EE985D" + />
    @@ -49,23 +51,19 @@
    Changes:
    +
        Type                 Name                Status
        Type                 Name                Status
    + class="overflow-x-hidden bg-transparent border-none p-0 m-0 text-white" + >+ pulumi:pulumi:Stack aws-typescript-dev created
    +   pulumi:pulumi:Stack  aws-typescript-dev  created
    -
    -
    -
    +   aws:s3:Bucket        my-bucket           created
    + class="overflow-x-hidden bg-transparent border-none p-0 m-0 text-white" + >+ aws:s3:Bucket my-bucket created
    Resources:
    -
    -
      + 2 created
    -
    +
      + 2 created
    Duration: 8s
    @@ -84,14 +82,14 @@
    -
    +
    pulumi:providers:aws
    default_0_18_27
    -
    +
    aws:s3:Bucket
    @@ -102,4 +100,4 @@
    -
    \ No newline at end of file +
    diff --git a/layouts/partials/how-pulumi-works.html b/layouts/partials/how-pulumi-works.html index 50ef89c3c6fa..d26e9be7011d 100644 --- a/layouts/partials/how-pulumi-works.html +++ b/layouts/partials/how-pulumi-works.html @@ -6,28 +6,28 @@

    How Pulumi Works

    Build

    - + + fill="white" + /> + fill="url(#paint0_linear)" + /> + fill="url(#paint1_linear)" + /> - + - + @@ -36,23 +36,24 @@

    Build

    + fill="#00ACD7" + /> + fill="#00ACD7" + /> - - + + + fill="#CB171E" + /> + fill="black" + />
    @@ -68,57 +69,72 @@

    Build

    Deploy

    - + - + - + + fill="#FF9900" + /> + fill="#0089D6" + /> + fill="#0089D6" + /> + fill="#0089D6" + /> + fill="#EA4335" + /> + fill="#4285F4" + /> + fill="#34A853" + /> + fill="#FBBC05" + /> + fill="#326DE6" + /> + fill="white" + />
    • Preview changes
    • -
    • Run pulumi up to deploy
    • +
    • Run pulumi up to deploy
    • Integrate with CI/CD
    @@ -131,50 +147,53 @@

    Manage

    + fill="black" + /> + fill="#FC6D26" + /> - + + fill="#E24329" + /> - + + fill="#E24329" + /> + fill="#2684FF" + /> + fill="#2684FF" + /> - + + fill="#0092D3" + /> + fill="#0092D3" + />
    @@ -189,7 +208,7 @@

    Manage

    - \ No newline at end of file + diff --git a/layouts/partials/learnmore-ai.html b/layouts/partials/learnmore-ai.html index 650c6224d9fe..d5d1be354072 100644 --- a/layouts/partials/learnmore-ai.html +++ b/layouts/partials/learnmore-ai.html @@ -8,9 +8,8 @@

    Learn more

    -

    Discover the getting started guides and learn about Pulumi concepts.

    - Explore the docs → +

    Discover the getting started guides and learn about Pulumi concepts.

    + Explore the docs →
    @@ -21,9 +20,9 @@

    Learn more

    Pulumi AI

    -

    Generate Pulumi infrastructure-as-code programs in any language.

    - Try Pulumi AI → +

    Generate Pulumi infrastructure-as-code programs in any language.

    + Try Pulumi AI →
    - \ No newline at end of file + diff --git a/layouts/partials/templates/left-nav.html b/layouts/partials/templates/left-nav.html index 4ac27ad3f007..dd326fccfd3c 100644 --- a/layouts/partials/templates/left-nav.html +++ b/layouts/partials/templates/left-nav.html @@ -2,16 +2,16 @@ -
      - {{ range $template := sort $templates ".Params.weight" "asc" }} +
        + {{ range $template := sort $templates ".Params.weight" "asc" }}
      • {{ with $template }} - + {{ end }}
      • - {{ end }} -
      \ No newline at end of file + {{ end }} +
    diff --git a/layouts/partials/virtual-communities.html b/layouts/partials/virtual-communities.html index 47678dad93a3..f4ca749ed23f 100644 --- a/layouts/partials/virtual-communities.html +++ b/layouts/partials/virtual-communities.html @@ -1,8 +1,7 @@ -
    +

    Virtual Developer Communities

    -

    Connect with us. Ask questions, find answers, and share your knowledge and grow with us. -

    +

    Connect with us. Ask questions, find answers, and share your knowledge and grow with us.

    @@ -36,20 +35,15 @@
    Contribute to Pulumiverse
    @@ -57,23 +51,18 @@
     LinkedIn
    - \ No newline at end of file + diff --git a/layouts/partner/aws.html b/layouts/partner/aws.html index a8b4f9252b18..1acc0aee2b2e 100644 --- a/layouts/partner/aws.html +++ b/layouts/partner/aws.html @@ -4,7 +4,7 @@ style="background: linear-gradient(90deg, white 0%, #ddd6fe 50%, white 100%);">
    -
    Official AWS Partnership
    +
    Official AWS Partnership

    Deploy AWS Infrastructure at the Speed of AI

    Built on 8 years of infrastructure-as-code expertise and enhanced with @@ -192,7 +192,7 @@

    One Platform for All AWS Workloads
    -
    +

    Agentic AI with Built-In Governance

    @@ -345,7 +345,7 @@
    Unified Solution For All Services
    -
    +

    Interested in learning more about Neo + Amazon Bedrock diff --git a/layouts/product/infrastructure-as-code.html b/layouts/product/infrastructure-as-code.html index 69e70d26e80b..d7525d426f6f 100644 --- a/layouts/product/infrastructure-as-code.html +++ b/layouts/product/infrastructure-as-code.html @@ -1,255 +1,246 @@ {{ define "hero" }} -{{ partial "hero" (dict "title" .Params.heading "subtitle" .Params.overview.title) }} + {{ partial "hero" (dict "title" .Params.heading "subtitle" .Params.overview.title) }} {{ end }} {{ define "main" }} -
    -
    -

    - {{ .Params.overview.description | markdownify }} -

    -
    - -
    - -
    - {{ range $index, $feature := .Params.key_features_above.items }} -
    - {{ if eq $index 0 }} -
    -

    {{ $feature.title }}

    -
    -
    -

    {{ $feature.sub_title}}

    -

    {{ $feature.description | markdownify }}

    -
    -
    -
    -
    - - - Pulumi code being written in TypeScript showing autocomplete for creating a new S3 bucket - - - - Pulumi code being written in Python showing autocomplete for creating a new S3 bucket - - - - Pulumi code being written in GO showing autocomplete for creating a new S3 bucket - - - - Pulumi code being written in C# showing autocomplete for creating a new S3 bucket - - - - Pulumi code being written in Java showing autocomplete for creating a new S3 bucket - - - - Pulumi code being written in YAML showing autocomplete for creating a new S3 bucket - - +
    +
    +

    + {{ .Params.overview.description | markdownify }} +

    +
    + +
    + +
    + {{ range $index, $feature := .Params.key_features_above.items }} +
    + {{ if eq $index 0 }} +
    +

    {{ $feature.title }}

    +
    +
    +

    {{ $feature.sub_title}}

    +

    {{ $feature.description | markdownify }}

    +
    +
    +
    +
    + + + Pulumi code being written in TypeScript showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in Python showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in GO showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in C# showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in Java showing autocomplete for creating a new S3 bucket + + + + Pulumi code being written in YAML showing autocomplete for creating a new S3 bucket + + +
    +
    +
    + {{ else }} +
    +

    {{ $feature.title }}

    +
    +
    + Pulumi infrastructure as code example +
    +
    +

    {{ $feature.sub_title}}

    +

    {{ $feature.description | markdownify }}

    +
    +
    +
    + {{ end}} + +
    + {{ range $item := $feature.features }} +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.color) }} +
    +
    +
    {{ $item.title }}
    +
    +
    +

    {{ $item.description | markdownify }}

    +
    +
    +
    + {{ end }}
    -
    - {{ else }} -
    -

    {{ $feature.title }}

    -
    -
    - Pulumi infrastructure as code example -
    -
    -

    {{ $feature.sub_title}}

    -

    {{ $feature.description | markdownify }}

    -
    -
    -
    - {{ end}} - -
    - {{ range $item := $feature.features }} -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.color) }} + {{ end }} +
    + +
    +
    +
    +

    {{ .Params.stats.title }}

    +

    + {{ .Params.stats.description | markdownify }} +

    + +
    +
    +
    +

    {{ .Params.stats.community.number }}

    +
    {{ .Params.stats.community.description }}
    -
    -
    {{ $item.title }}
    + +
    +

    {{ .Params.stats.company.number }}

    +
    {{ .Params.stats.company.description }}
    -
    -

    {{ $item.description | markdownify }}

    + +
    +

    {{ .Params.stats.integration.number }}

    +
    {{ .Params.stats.integration.description }}
    - {{ end }}
    -
    - {{ end }} -
    - -
    -
    -
    -

    {{ .Params.stats.title }}

    -

    - {{ .Params.stats.description | markdownify }} -

    +
    -
    -
    -
    -

    {{ .Params.stats.community.number }}

    -
    {{ .Params.stats.community.description }}
    -
    - -
    -

    {{ .Params.stats.company.number }}

    -
    {{ .Params.stats.company.description }}
    -
    + {{ if .Params.customer_quotes.panther }} + +
    + {{ partial "home/quote.html" (dict "quote" .Params.customer_quotes.panther) }} +
    + {{ end }} -
    -

    {{ .Params.stats.integration.number }}

    -
    {{ .Params.stats.integration.description }}
    +
    + {{ range $index, $item := .Params.key_features.items }} +
    +
    +

    {{ $item.title }}

    +

    {{ $item.sub_title }}

    +

    + {{ $item.description | markdownify }} +

    + + {{ if not (eq $item.image nil) }} +
    + Pulumi infrastructure as code example +
    + {{ end }} + {{ if not (eq $item.ide nil) }} +
    + + {{ range $lang := $item.ide }} + + {{ partial "code" (dict "lang" $lang.language "code" $lang.code "mode" "light") }} + + {{ end }} + +
    + {{ end }} +
    +
    + {{ range $feature := $item.features }} +
    +
    +
    {{ $feature.title }}
    +

    {{ $feature.description | markdownify }}

    +
    +
    + {{ end }} +
    -
    -
    -

    - -{{ if .Params.customer_quotes.panther }} - -
    - {{ partial "home/quote.html" (dict "quote" .Params.customer_quotes.panther) }} -
    -{{ end }} - -
    - {{ range $index, $item := .Params.key_features.items }} -
    -
    -

    {{ $item.title }}

    -

    {{ $item.sub_title }}

    -

    - {{ $item.description | markdownify }} -

    - - {{ if not (eq $item.image nil) }} -
    - Pulumi infrastructure as code example -
    - {{ end }} - {{ if not (eq $item.ide nil) }} -
    - - {{ range $lang := $item.ide }} - - {{ partial "code" (dict "lang" $lang.language "code" $lang.code "mode" "light") }} - - {{ end }} -
    - {{ end }} -
    -
    - {{ range $feature := $item.features }} -
    -
    -
    {{ $feature.title }}
    -

    {{ $feature.description | markdownify }}

    -
    + {{ end }} +
    + +
    + {{ range $index, $item := .Params.key_features_below.items }} +
    +
    +

    {{ $item.title }}

    +

    {{ $item.sub_title }}

    +

    + {{ $item.description | markdownify }} +

    + + {{ if not (eq $item.image nil) }} +
    + Pulumi infrastructure as code example +
    + {{ end }} + {{ if not (eq $item.ide nil) }} +
    + + {{ range $lang := $item.ide }} + + {{ partial "code" (dict "lang" $lang.language "code" $lang.code "mode" "light") }} + + {{ end }} + +
    + {{ end }} +
    +
    + {{ range $feature := $item.features }} +
    +
    +
    {{ $feature.title }}
    +

    {{ $feature.description | markdownify }}

    +
    +
    + {{ end }}
    - {{ end }}
    -
    -
    - {{ end }} - - -
    - {{ range $index, $item := .Params.key_features_below.items }} -
    -
    -

    {{ $item.title }}

    -

    {{ $item.sub_title }}

    -

    - {{ $item.description | markdownify }} -

    - - {{ if not (eq $item.image nil) }} -
    - Pulumi infrastructure as code example -
    - {{ end }} - {{ if not (eq $item.ide nil) }} -
    - - {{ range $lang := $item.ide }} - - {{ partial "code" (dict "lang" $lang.language "code" $lang.code "mode" "light") }} - - {{ end }} -
    - {{ end }} -
    -
    - {{ range $feature := $item.features }} -
    -
    -
    {{ $feature.title }}
    -

    {{ $feature.description | markdownify }}

    + {{ end }} +
    + +
    +

    {{ .Params.learn.title }}

    +
    + {{ range $index, $item := .Params.learn.items }} +
    +
    +
    +
    {{ $item.title }}
    +
    +
    +

    {{ $item.description | markdownify }}

    +
    +
    + {{ range $button := $item.buttons }} + {{ $button.action }} + {{ end }}
    - {{ end }}
    -
    -
    -
    - {{ end }} - - -
    -

    {{ .Params.learn.title }}

    -
    - {{ range $index, $item := .Params.learn.items }} -
    -
    -
    -
    {{ $item.title }}
    -
    -
    -

    {{ $item.description | markdownify }}

    -
    -
    - {{ range $button := $item.buttons }} - {{ $button.action }} - {{ end }} -
    -
    + {{ end }}
    - {{ end }} -
    -
    -{{ end }} \ No newline at end of file + +{{ end }} diff --git a/layouts/product/private-previews.html b/layouts/product/private-previews.html index 36b45781e364..46b486fe7cc6 100644 --- a/layouts/product/private-previews.html +++ b/layouts/product/private-previews.html @@ -1,64 +1,63 @@ {{ define "hero" }} -{{ partial "hero" (dict "title" .Params.title) }} + {{ partial "hero" (dict "title" .Params.title) }} {{ end }} {{ define "main" }} -{{ $pageContext := . }} + {{ $pageContext := . }} -
    - {{ with .Params.overview }} -

    {{ .title }}

    -

    {{ .description | markdownify }}

    - {{ end }} -
    +
    + {{ with .Params.overview }} +

    {{ .title }}

    +

    {{ .description | markdownify }}

    + {{ end }} +
    -
    -
    - Pulumi Insights Overview GIF -
    +
    +
    + Pulumi Insights Overview GIF +
    -
    - {{ with .Params.preview1 }} -

    {{ .title }}

    -

    {{ .description | markdownify }}

    - {{ end }} - - -
    +
    + {{ with .Params.preview1 }} +

    {{ .title }}

    +

    {{ .description | markdownify }}

    + {{ end }} + + +
    -
    - {{ with .Params.preview2 }} -

    {{ .title }}

    -

    {{ .description | markdownify }}

    - {{ end }} - - -
    +
    + {{ with .Params.preview2 }} +

    {{ .title }}

    +

    {{ .description | markdownify }}

    + {{ end }} + + +
    -
    -
    -
    - -

    {{ .Params.learn.title }}

    -

    {{ .Params.learn.description }}

    -
    - Read the blog +
    +
    +
    + +

    {{ .Params.learn.title }}

    +

    {{ .Params.learn.description }}

    +
    -
    -
    -{{ end }} \ No newline at end of file + +{{ end }} diff --git a/layouts/product/pulumi-cloud.html b/layouts/product/pulumi-cloud.html index 5c0c546836c9..d482ced93ffa 100644 --- a/layouts/product/pulumi-cloud.html +++ b/layouts/product/pulumi-cloud.html @@ -1,166 +1,165 @@ {{ define "hero" }} -{{ partial "hero" (dict "title" .Params.title) }} + {{ partial "hero" (dict "title" .Params.title) }} {{ end }} {{ define "main" }} -{{ $pageContext := . }} + {{ $pageContext := . }} -
    - {{ with .Params.overview }} -

    {{ .title }}

    -

    {{ .description | markdownify }}

    - {{ end }} -
    -
    -

    - ✨ New - Pulumi Insights 2.0 - Import and Sync All Cloud Infrastructure: - Get started now ✨ -

    +
    + {{ with .Params.overview }} +

    {{ .title }}

    +

    {{ .description | markdownify }}

    + {{ end }} +
    +
    +

    + ✨ New - Pulumi Insights 2.0 - Import and Sync All Cloud Infrastructure: Get started now ✨ +

    +
    -
    -
    + -
    -
    - {{ range $section := .Params.products }} -
    -

    {{ $section.header }}

    -
    - {{ range $index, $subsection := $section.content }} - {{ $tabclass := "" }} - {{ $textClass := "" }} - {{ if eq $index 0 }} - {{ $tabclass = " border-blue-700 "}} - {{ $textClass = "rainbow-text" }} - {{ end }} -
    -
    {{ $subsection.header }}
    -
    - {{ end }} -
    - {{ range $index, $subsection := $section.content }} - {{ $tabclass := ""}} - {{ if not (eq $index 0) }} - {{ $tabclass = " hidden "}} - {{ end }} -
    -

    {{ $subsection.header }}

    - {{ if $subsection.subheader }} - - {{ end }} - +
    +
    + {{ range $section := .Params.products }} +
    +

    {{ $section.header }}

    +
    + {{ range $index, $subsection := $section.content }} + {{ $tabclass := "" }} + {{ $textClass := "" }} + {{ if eq $index 0 }} + {{ $tabclass = " border-blue-600 "}} + {{ $textClass = "rainbow-text" }} + {{ end }} +
    +
    {{ $subsection.header }}
    +
    + {{ end }} +
    + {{ range $index, $subsection := $section.content }} + {{ $tabclass := ""}} + {{ if not (eq $index 0) }} + {{ $tabclass = " hidden "}} + {{ end }} +
    +

    {{ $subsection.header }}

    + {{ if $subsection.subheader }} + + {{ end }} + -
      - {{ $listLength := len $subsection.details }} - {{ range $index, $item := $subsection.details }} - {{ $itemClass := "border-t-2" }} - {{ if eq (add $index 1) $listLength }} - {{ $itemClass = "border-t-2 border-b-2" }} - {{ end }} +
        + {{ $listLength := len $subsection.details }} + {{ range $index, $item := $subsection.details }} + {{ $itemClass := "border-t-2" }} + {{ if eq (add $index 1) $listLength }} + {{ $itemClass = "border-t-2 border-b-2" }} + {{ end }} -
      • - {{ partial "accordian-header" (dict "text" $item.title) }} -

        {{ $item.description | markdownify }}

        +
      • + {{ partial "accordian-header" (dict "text" $item.title) }} +

        {{ $item.description | markdownify }}

        -
        -

        {{ $item.more_info | markdownify }}

        +
        +

        {{ $item.more_info | markdownify }}

        +
        +
      • + {{ end }} +
    - {{ end }} - -
    +
    {{ end }}
    +
    + +
    + {{ with .Params.open_source }} +

    {{ .title }}

    +
    {{ .description | markdownify }}
    + Pulumi Open Source {{ end }} -
    - + -
    - {{ with .Params.open_source }} -

    {{ .title }}

    -
    {{ .description | markdownify }}
    - Pulumi Open Source - {{ end }} -
    +
    +
    + {{ with .Params.security }} +

    {{ .title }}

    +

    {{ .description | markdownify }}

    + Pulumi Open Source + {{ end }} +
    +
    -
    -
    - {{ with .Params.security }} -

    {{ .title }}

    -

    {{ .description | markdownify }}

    - Pulumi Open Source - {{ end }} -
    -
    +
    +
    +

    {{ .Params.case_studies.title }}

    +
    + {{ range .Params.case_studies.items }} +
    +
    +
    {{ partial "customer-logo.html" (dict "logo" .logo) }}
    +
    {{ .name }}
    +

    {{ .description | markdownify }}

    + +
    +
    + {{ end }} +
    +
    +
    -
    -
    -

    {{ .Params.case_studies.title }}

    -
    - {{ range .Params.case_studies.items }} -
    -
    -
    {{ partial "customer-logo.html" (dict "logo" .logo) }}
    -
    {{ .name }}
    -

    {{ .description | markdownify }}

    -
    - {{ .name }} - Case Study +
    +

    {{ .Params.deployment.title }}

    +
    + {{ range $item := .Params.deployment.items }} +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} +
    +
    +
    {{ $item.title }}
    +
    +
    +

    {{ $item.description | markdownify }}

    +
    -
    {{ end }}
    -
    -
    + -
    -

    {{ .Params.deployment.title }}

    -
    - {{ range $item := .Params.deployment.items }} -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} -
    -
    -
    {{ $item.title }}
    -
    -
    -

    {{ $item.description | markdownify }}

    -
    +
    + {{ with .Params.pricing }} +

    {{ .title }}

    +

    {{ .description | markdownify }}

    + -
    {{ end }} -
    -
    - -
    - {{ with .Params.pricing }} -

    {{ .title }}

    -

    {{ .description | markdownify }}

    -
    - Pricing -
    - {{ end }} -
    + -
    -
    -
    - -

    {{ .Params.get_started.title }}

    -

    {{ .Params.get_started.description }}

    -
    - Get Started +
    +
    +
    + +

    {{ .Params.get_started.title }}

    +

    {{ .Params.get_started.description }}

    +
    -
    -
    -{{ end }} \ No newline at end of file + +{{ end }} diff --git a/layouts/product/self-hosted.html b/layouts/product/self-hosted.html index 3f62dc38d46d..e40dfd73cbae 100644 --- a/layouts/product/self-hosted.html +++ b/layouts/product/self-hosted.html @@ -1,176 +1,172 @@ {{ define "hero" }} -{{ partial "hero" (dict "title" .Params.title) }} + {{ partial "hero" (dict "title" .Params.title) }} {{ end }} {{ define "main" }} -{{ $pageContext := . }} + {{ $pageContext := . }} -
    -
    -
    -
    +
    +
    +
    +
    +
    -
    -
    - {{ with .Params.overview }} -

    {{ .title }}

    -
    -

    {{ .descriptionTop | markdownify }}

    -

    {{ .descriptionBottom | markdownify }}

    +
    + {{ with .Params.overview }} +

    {{ .title }}

    +
    +

    {{ .descriptionTop | markdownify }}

    +

    {{ .descriptionBottom | markdownify }}

    +
    + {{ end }}
    - {{ end }} -
    -
    + -
    - {{ with .Params.deployment }} -

    {{ .title }}

    -
    -

    {{ .descriptionTop | markdownify }}

    -

    {{ .descriptionBottom | markdownify }}

    -
    -
    -
    - AWS -
    AWS
    - AWS Docs -
    +
    + {{ with .Params.deployment }} +

    {{ .title }}

    +
    +

    {{ .descriptionTop | markdownify }}

    +

    {{ .descriptionBottom | markdownify }}

    +
    +
    +
    + AWS +
    AWS
    + AWS Docs +
    -
    - Azure -
    Azure
    - Azure Docs -
    +
    + Azure +
    Azure
    + Azure Docs +
    -
    - Docker -
    Docker
    - Docker - Docs -
    -
    -
    -
    -
    - Google Cloud +
    + Docker +
    Docker
    + Docker Docs +
    -
    Google Cloud
    - Google - Docs -
    +
    +
    +
    + Google Cloud +
    +
    Google Cloud
    + Google Docs +
    -
    -
    - Kubernetes -
    -
    Kubernetes
    - Kubernetes Docs -
    +
    +
    + Kubernetes +
    +
    Kubernetes
    + Kubernetes Docs +
    -
    - VMware -
    VMware
    - Talk to a human -
    -
    - {{ end }} -
    +
    + VMware +
    VMware
    + Talk to a human +
    +
    + {{ end }} +
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    -
    -
    - {{ with .Params.capabilities }} -

    {{ .title }}

    -
    - {{ range $item := .items }} -
    -
    -
    - {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} -
    -
    {{ $item.title }}
    -

    {{ $item.description | markdownify }}

    +
    + {{ with .Params.capabilities }} +

    {{ .title }}

    +
    + {{ range $item := .items }} +
    +
    +
    + {{ partial "color-icon.html" (dict "icon" $item.icon "icon_color" $item.icon_color) }} +
    +
    {{ $item.title }}
    +

    {{ $item.description | markdownify }}

    - {{ if $item.items }} - - -

    Identity providers include Azure Active Directory, Bitbucket, GitHub, GitLab, - and SAML SSO.

    + {{ if $item.items }} + + +

    Identity providers include Azure Active Directory, Bitbucket, GitHub, GitLab, and SAML SSO.

    + {{ end }} +
    +
    {{ end }}
    -
    {{ end }}
    - {{ end }} -
    -
    + -
    -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    +
    -
    -
    -
    - {{ with .Params.pricing }} -

    {{ .title }}

    -

    {{ .description | markdownify }}

    -
    - Pricing +
    +
    + {{ with .Params.pricing }} +

    {{ .title }}

    +

    {{ .description | markdownify }}

    +
    + Pricing +
    + {{ end }}
    - {{ end }}
    -
    -
    + -
    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    -
    -
    - {{ with .Params.trial }} -

    {{ .title }}

    -

    {{ .description | markdownify }}

    -
    - +
    + {{ with .Params.trial }} +

    {{ .title }}

    +

    {{ .description | markdownify }}

    +
    + +
    + {{ end }}
    - {{ end }} -
    -
    + -
    - {{ with .Params.questions }} -
    -
    -

    {{ .title }}

    -

    {{ .description }}

    -
    - Talk to a human - Self-Hosted Docs +
    + {{ with .Params.questions }} +
    +
    +

    {{ .title }}

    +

    {{ .description }}

    + +
    -
    -
    - {{ end }} -
    -{{ end }} \ No newline at end of file + {{ end }} + +{{ end }} diff --git a/layouts/shortcodes/github-buttons.html b/layouts/shortcodes/github-buttons.html index a9ded3f159d5..76bcaa74c337 100644 --- a/layouts/shortcodes/github-buttons.html +++ b/layouts/shortcodes/github-buttons.html @@ -4,29 +4,33 @@ {{ $langs := (dict "js" "JavaScript" "ts" "TypeScript" "py" "Python" "go" "Go" "cs" "C#") }} {{ if gt $numberOfArguments 0 }} -

    - {{ range (seq 0 (sub $numberOfArguments 1)) }} - {{ $project := ($.Get .) }} +

    + {{ range (seq 0 (sub $numberOfArguments 1)) }} + {{ $project := ($.Get .) }} - {{/* Arguments are expected to be in the form "cloud-language-name" (e.g., "aws-ts-webserver"). */}} - {{ $tokens := (split $project "-") }} + {{/* Arguments are expected to be in the form "cloud-language-name" (e.g., "aws-ts-webserver"). */}} + {{ $tokens := (split $project "-") }} - {{ if $tokens }} + {{ if $tokens }} - {{/* Language should be the second item in the list. */}} - {{ $lang := index $tokens 1 }} + {{/* Language should be the second item in the list. */}} + {{ $lang := index $tokens 1 }} - {{ if $lang }} - {{ $langName := index $langs $lang }} + {{ if $lang }} + {{ $langName := index $langs $lang }} - {{ if $langName }} - - View {{ $langName }} Code - - {{ end }} - {{ end }} - {{ end }} - {{ end }} -

    -{{ end }} \ No newline at end of file + {{ if $langName }} + + View {{ $langName }} Code + + {{ end }} + {{ end }} + {{ end }} + {{ end }} +

    +{{ end }} diff --git a/layouts/taxonomy/tag.html b/layouts/taxonomy/tag.html index b688f9ce3d4c..819ab43a094c 100644 --- a/layouts/taxonomy/tag.html +++ b/layouts/taxonomy/tag.html @@ -1,109 +1,109 @@ {{ define "main" }} -
    -
    -
    - {{ partial "blog/series-list-sidebar.html" . }} -
    - -
    - {{ $authorData := index $.Site.Data.team.team .Data.Term }} - {{ $blogPosts := where .Data.Pages "Section" "blog" }} +
    +
    +
    + {{ partial "blog/series-list-sidebar.html" . }} +
    - - {{ $chronologicalTags := slice }} - {{ $currentSeries := false }} - {{ with .Site.Data.blog_series }} - {{ range .series }} - {{ $chronologicalTags = $chronologicalTags | append .slug }} - {{ if eq .slug $.Data.Term }} - {{ $currentSeries = . }} - {{ end }} - {{ end }} - {{ end }} +
    + {{ $authorData := index $.Site.Data.team.team .Data.Term }} + {{ $blogPosts := where .Data.Pages "Section" "blog" }} + + + {{ $chronologicalTags := slice }} + {{ $currentSeries := false }} + {{ with .Site.Data.blog_series }} + {{ range .series }} + {{ $chronologicalTags = $chronologicalTags | append .slug }} + {{ if eq .slug $.Data.Term }} + {{ $currentSeries = . }} + {{ end }} + {{ end }} + {{ end }} + + + {{ if in $chronologicalTags .Data.Term }} + + {{ $blogPosts := where .Data.Pages "Section" "blog" }} + {{ $paginator := .Paginate $blogPosts.ByDate }} - - {{ if in $chronologicalTags .Data.Term }} - - {{ $blogPosts := where .Data.Pages "Section" "blog" }} - {{ $paginator := .Paginate $blogPosts.ByDate }} +
    + {{ if $currentSeries }} +

    {{ $currentSeries.title }}

    +

    {{ $currentSeries.description }}

    + {{ if $currentSeries.video_id }} +
    + {{ partial "youtube" (dict "id" $currentSeries.video_id "title" $currentSeries.title) }} +
    + {{ end }} + {{ else }} +

    + Posts Tagged + + {{ .Data.Term | lower }} + +

    + {{ end }} +
    -
    - {{ if $currentSeries }} -

    {{ $currentSeries.title }}

    -

    {{ $currentSeries.description }}

    - {{ if $currentSeries.video_id }} -
    - {{ partial "youtube" (dict "id" $currentSeries.video_id "title" $currentSeries.title) }} -
    - {{ end }} + {{ range $paginator.Pages }} +
    +

    {{ .Title }}

    +
    + +
    +
    + {{ partial "blog/poster" . }} + {{ partial "blog/summary" . }} +
    +
    + {{ end }} {{ else }} -

    - Posts Tagged - - {{ .Data.Term | lower }} - -

    - {{ end }} -
    + + {{ $blogPosts := where .Data.Pages "Section" "blog" }} + {{ $paginator := .Paginate $blogPosts.ByDate.Reverse }} - {{ range $paginator.Pages }} -
    -

    {{ .Title }}

    -
    - -
    -
    - {{ partial "blog/poster" . }} - {{ partial "blog/summary" . }} -
    -
    - {{ end }} - {{ else }} - - {{ $blogPosts := where .Data.Pages "Section" "blog" }} - {{ $paginator := .Paginate $blogPosts.ByDate.Reverse }} +
    + {{ if $currentSeries }} +

    {{ $currentSeries.title }}

    +

    {{ $currentSeries.description }}

    + {{ if $currentSeries.video_id }} +
    + {{ partial "youtube" (dict "id" $currentSeries.video_id "title" $currentSeries.title) }} +
    + {{ end }} + {{ else }} +

    + Posts Tagged + + {{ .Data.Term | lower }} + +

    + {{ end }} +
    -
    - {{ if $currentSeries }} -

    {{ $currentSeries.title }}

    -

    {{ $currentSeries.description }}

    - {{ if $currentSeries.video_id }} -
    - {{ partial "youtube" (dict "id" $currentSeries.video_id "title" $currentSeries.title) }} -
    - {{ end }} - {{ else }} -

    - Posts Tagged - - {{ .Data.Term | lower }} - -

    + {{ range $paginator.Pages }} +
    +

    {{ .Title }}

    +
    + +
    +
    + {{ partial "blog/poster" . }} + {{ partial "blog/summary" . }} +
    +
    + {{ end }} {{ end }} -
    - {{ range $paginator.Pages }} -
    -

    {{ .Title }}

    -
    - -
    -
    - {{ partial "blog/poster" . }} - {{ partial "blog/summary" . }} -
    -
    - {{ end }} - {{ end }} + {{ partial "blog/paginator.html" . }} +
    - {{ partial "blog/paginator.html" . }} +
    - -
    -
    -{{ end }} \ No newline at end of file +{{ end }} diff --git a/layouts/taxonomy/taxonomy.html b/layouts/taxonomy/taxonomy.html index 90998aaf79c3..3152ac56b8cd 100644 --- a/layouts/taxonomy/taxonomy.html +++ b/layouts/taxonomy/taxonomy.html @@ -1,40 +1,40 @@ {{ define "main" }} -
    -
    -
    - {{ partial "blog/sidebar.html" . }} -
    +
    +
    +
    + {{ partial "blog/sidebar.html" . }} +
    -
    - {{ $paginator := .Paginate .Data.Pages.ByDate.Reverse }} +
    + {{ $paginator := .Paginate .Data.Pages.ByDate.Reverse }} -
    -

    - {{ .Data.Singular | title }}: - - {{ .Data.Term }} - -

    -
    +
    +

    + {{ .Data.Singular | title }}: + + {{ .Data.Term }} + +

    +
    - {{ range $paginator.Pages }} -
    -

    {{ .Title }}

    -
    - -
    -
    - {{ .Summary }} -
    -
    - {{ end }} + {{ range $paginator.Pages }} +
    +

    {{ .Title }}

    +
    + +
    +
    + {{ .Summary }} +
    +
    + {{ end }} - {{ partial "blog/paginator.html" . }} -
    + {{ partial "blog/paginator.html" . }} +
    -
    +
    +
    -
    -{{ end }} \ No newline at end of file +{{ end }} diff --git a/layouts/tutorials/module.html b/layouts/tutorials/module.html index a8f9b39db9a6..616b00d82ed9 100644 --- a/layouts/tutorials/module.html +++ b/layouts/tutorials/module.html @@ -1,108 +1,106 @@ {{ define "main" }} -
    -
    -
    -
    - +
    +
    +
    +
    + +
    +
    +
    +
    -
    -
    -
    -
    -
    -
    -
    - {{ partial "tutorials/breadcrumb.html" . }} -
    -
    -

    {{ .Title }}

    -
    -
    - {{ if .Params.meta_image }} -
    - -
    - {{ end }} -
    - {{ .Summary }} -
    -
    -
    -

    In this tutorial, you'll learn:

    -
      - {{ range .Params.youll_learn }} -
    • - - {{ . }} -
    • - {{ end }} -
    +
    +
    +
    + {{ partial "tutorials/breadcrumb.html" . }} +
    +
    +

    {{ .Title }}

    +
    -
    -
    -
    -

    Prerequisites:

    + {{ if .Params.meta_image }} +
    + +
    + {{ end }} +
    + {{ .Summary }} +
    +
    +
    +

    In this tutorial, you'll learn:

    +
      + {{ range .Params.youll_learn }} +
    • + + {{ . }} +
    • + {{ end }} +
    +
    +
    +
    +
    +

    Prerequisites:

      {{ range .Params.prereqs }} -
    • - - {{ . | markdownify }} -
    • +
    • + + {{ . | markdownify }} +
    • {{ end }}
    +
    -
    -
    - {{ .Content }} -
    -

    Topics

    - {{ $estimated_time := 0 }} - {{ range $topic := .Pages }} - {{ $estimated_time = (add $estimated_time (int $topic.Params.estimated_time)) }} - {{ end }} -

    - This tutorial has {{ len .Pages }} topic{{ if ne (len .Pages) 1 }}s{{ end }} and takes about {{ - $estimated_time }} minutes to complete. -

    -
    -
      - {{ $pageCount := len .Pages }} - {{ range $index, $page := .Pages.ByWeight }} -
    • - - {{ $page.Title }} - - - - {{ $page.Params.estimated_time }} minutes - - -
    • - {{ end }} -
    -
    - Start the tutorial → +
    + {{ .Content }} +
    +

    Topics

    + {{ $estimated_time := 0 }} + {{ range $topic := .Pages }} + {{ $estimated_time = (add $estimated_time (int $topic.Params.estimated_time)) }} + {{ end }} +

    + This tutorial has {{ len .Pages }} topic{{ if ne (len .Pages) 1 }}s{{ end }} and takes about {{ $estimated_time }} minutes to complete. +

    +
    +
      + {{ $pageCount := len .Pages }} + {{ range $index, $page := .Pages.ByWeight }} +
    • + + {{ $page.Title }} + + + + {{ $page.Params.estimated_time }} minutes + + +
    • + {{ end }} +
    +
    -
    -
    - {{ partial "tutorials/feedback.html" . }} - {{ partial "tutorials/right-nav-ad.html" }} +
    + {{ partial "tutorials/feedback.html" . }} + {{ partial "tutorials/right-nav-ad.html" }} +
    -
    {{ end }} {{ define "footer" }} -{{ end }} \ No newline at end of file +{{ end }} diff --git a/layouts/webinars/cloud-engineering-days-replay.html b/layouts/webinars/cloud-engineering-days-replay.html index 21c7775ea85b..7874da6df325 100644 --- a/layouts/webinars/cloud-engineering-days-replay.html +++ b/layouts/webinars/cloud-engineering-days-replay.html @@ -1,165 +1,161 @@ {{ define "hero" }} -{{ partial "hero" (dict "title" .Params.title ) }} + {{ partial "hero" (dict "title" .Params.title ) }} {{ end }} {{ define "main" }} - -{{ $webinars := (where $.Site.Pages "Type" "webinars") }} - - - -{{ $cedKeynote := slice }} -{{ $cedCustomers := slice }} -{{ $cedAutomation := slice }} -{{ $cedBestPractices := slice }} - -{{ range sort $webinars ".Params.main.sortable_date" "asc" }} -{{ if isset .Params "cloud_engineering_days" }} -{{ if eq .Params.cloud_engineering_days.track "keynote" }} -{{ $cedKeynote = $cedKeynote | append . }} -{{ end }} - -{{ if eq .Params.cloud_engineering_days.track "customer_stories" }} -{{ $cedCustomers = $cedCustomers | append . }} -{{ end }} - -{{ if eq .Params.cloud_engineering_days.track "automate_deploy" }} -{{ $cedAutomation = $cedAutomation | append . }} -{{ end }} - -{{ if eq .Params.cloud_engineering_days.track "best_practices" }} -{{ $cedBestPractices = $cedBestPractices | append . }} -{{ end }} -{{ end }} -{{ end }} - - -
    -

    Cloud Engineering Days 2022

    -
    -
    -
    -
    + + {{ $webinars := (where $.Site.Pages "Type" "webinars") }} + + + + {{ $cedKeynote := slice }} + {{ $cedCustomers := slice }} + {{ $cedAutomation := slice }} + {{ $cedBestPractices := slice }} + + {{ range sort $webinars ".Params.main.sortable_date" "asc" }} + {{ if isset .Params "cloud_engineering_days" }} + {{ if eq .Params.cloud_engineering_days.track "keynote" }} + {{ $cedKeynote = $cedKeynote | append . }} + {{ end }} + + {{ if eq .Params.cloud_engineering_days.track "customer_stories" }} + {{ $cedCustomers = $cedCustomers | append . }} + {{ end }} + + {{ if eq .Params.cloud_engineering_days.track "automate_deploy" }} + {{ $cedAutomation = $cedAutomation | append . }} + {{ end }} + + {{ if eq .Params.cloud_engineering_days.track "best_practices" }} + {{ $cedBestPractices = $cedBestPractices | append . }} + {{ end }} + {{ end }} + {{ end }} + + +
    +

    Cloud Engineering Days 2022

    +
    +
    +
    +
    +
    -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    +
    -
    - -
    -
    -
    -
    -

    Watch more sessions

    - -
      -
    • - {{ partial "accordian-header" (dict "text" "Keynote" "large_header" true) }} - -
      - -
      -
    • +
      +
      +
      +
      +

      Watch more sessions

      + +
        +
      • + {{ partial "accordian-header" (dict "text" "Keynote" "large_header" true) }} + + +
        + +
        +
      • -
      • - {{ partial "accordian-header" (dict "text" "Customer Stories" "large_header" true) }} +
      • + {{ partial "accordian-header" (dict "text" "Customer Stories" "large_header" true) }} -
        - -
        -
      • +
        + +
        + -
      • - {{ partial "accordian-header" (dict "text" "Automate & Deploy" "large_header" true) }} +
      • + {{ partial "accordian-header" (dict "text" "Automate & Deploy" "large_header" true) }} -
        - -
        -
      • +
        + +
        + -
      • - {{ partial "accordian-header" (dict "text" "Infrastructure Best Practices" "large_header" - true) }} +
      • + {{ partial "accordian-header" (dict "text" "Infrastructure Best Practices" "large_header" true) }} -
        - -
        -
      • -
      +
      + +
      + +
    +
    -
    -
    -
    -

    Session Information

    +
    +
    +

    Session Information

    -
    -

    {{ .Params.main.description | markdownify }}

    +
    +

    {{ .Params.main.description | markdownify }}

    -
    Presenters
    -
      - {{ range .Params.main.presenters }} -
    • -
      {{ .name }}
      -
      {{ .role }}
      -
    • - {{ end }} -
    +
    Presenters
    +
      + {{ range .Params.main.presenters }} +
    • +
      {{ .name }}
      +
      {{ .role }}
      +
    • + {{ end }} +
    +
    -
    - - -
    -
    -

    Get started today

    -

    Pulumi is open source and free to get started. Deploy your first stack today.

    -
    + +
    +
    +

    Get started today

    +

    Pulumi is open source and free to get started. Deploy your first stack today.

    +
    -
    - -{{ end }} \ No newline at end of file + +{{ end }} diff --git a/layouts/webinars/cloud-engineering-summit-replay.html b/layouts/webinars/cloud-engineering-summit-replay.html index 4dd0731d503e..147acfcbc808 100644 --- a/layouts/webinars/cloud-engineering-summit-replay.html +++ b/layouts/webinars/cloud-engineering-summit-replay.html @@ -1,176 +1,173 @@ {{ define "hero" }} -{{ partial "hero" (dict "title" .Params.title ) }} + {{ partial "hero" (dict "title" .Params.title ) }} {{ end }} {{ define "main" }} - -{{ $webinars := (where $.Site.Pages "Type" "webinars") }} - - - -{{ $cesKeynotes := slice }} -{{ $cesBuild := slice }} -{{ $cesDeploy := slice }} -{{ $cesManage := slice }} - -{{ range sort $webinars ".Params.main.sortable_date" "asc" }} -{{ if isset .Params "cloud_engineering_summit" }} -{{ if eq .Params.cloud_engineering_summit.track "keynote" }} -{{ $cesKeynotes = $cesKeynotes | append . }} -{{ end }} - -{{ if eq .Params.cloud_engineering_summit.track "build" }} -{{ $cesBuild = $cesBuild | append . }} -{{ end }} - -{{ if eq .Params.cloud_engineering_summit.track "deploy" }} -{{ $cesDeploy = $cesDeploy | append . }} -{{ end }} - -{{ if eq .Params.cloud_engineering_summit.track "manage" }} -{{ $cesManage = $cesManage | append . }} -{{ end }} -{{ end }} -{{ end }} - - -
    -
    -
    -
    -
    + + {{ $webinars := (where $.Site.Pages "Type" "webinars") }} + + + + {{ $cesKeynotes := slice }} + {{ $cesBuild := slice }} + {{ $cesDeploy := slice }} + {{ $cesManage := slice }} + + {{ range sort $webinars ".Params.main.sortable_date" "asc" }} + {{ if isset .Params "cloud_engineering_summit" }} + {{ if eq .Params.cloud_engineering_summit.track "keynote" }} + {{ $cesKeynotes = $cesKeynotes | append . }} + {{ end }} + + {{ if eq .Params.cloud_engineering_summit.track "build" }} + {{ $cesBuild = $cesBuild | append . }} + {{ end }} + + {{ if eq .Params.cloud_engineering_summit.track "deploy" }} + {{ $cesDeploy = $cesDeploy | append . }} + {{ end }} + + {{ if eq .Params.cloud_engineering_summit.track "manage" }} + {{ $cesManage = $cesManage | append . }} + {{ end }} + {{ end }} + {{ end }} + + +
    +
    +
    +
    +
    +
    -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    +
    -
    -
    -
    -
    -
    -

    Watch more sessions

    +
    +
    +
    +
    +

    Watch more sessions

    + +
      +
    • + {{ partial "accordian-header" (dict "text" "Keynotes" "large_header" true) }} + + +
      + +
      +
    • -
        -
      • - {{ partial "accordian-header" (dict "text" "Keynotes" "large_header" true) }} +
      • + {{ partial "accordian-header" (dict "text" "Build" "large_header" true) }} -
        - -
        -
      • +
        + +
        + -
      • - {{ partial "accordian-header" (dict "text" "Build" "large_header" true) }} +
      • + {{ partial "accordian-header" (dict "text" "Deploy" "large_header" true) }} -
        - -
        -
      • +
        + +
        + -
      • - {{ partial "accordian-header" (dict "text" "Deploy" "large_header" true) }} +
      • + {{ partial "accordian-header" (dict "text" "Manage" "large_header" true) }} -
        - -
        -
      • +
        + +
        + +
      +
    +
    -
  • - {{ partial "accordian-header" (dict "text" "Manage" "large_header" true) }} +
    +
    +

    Session Information

    +
    +

    {{ .Params.main.description | markdownify }}

    -
    -
      - {{ range $cesManage }} -
    • - {{ .Params.title }} +
      Presenters
      +
        + {{ range .Params.main.presenters }} +
      • +
        {{ .name }}
        +
        {{ .role }}
      • - {{ end }} -
      -
    -
  • - -
    -
    + {{ end }} + +
    -
    -
    -

    Session Information

    +
      +
    • + {{ partial "accordian-header" (dict "text" "Session Transcript" "large_header" true) }} -
      -

      {{ .Params.main.description | markdownify }}

      -
      Presenters
      -
        - {{ range .Params.main.presenters }} -
      • -
        {{ .name }}
        -
        {{ .role }}
        +
        +

        + {{ .Params.transcript | markdownify }} +

        +
      • - {{ end }}
      - -
        -
      • - {{ partial "accordian-header" (dict "text" "Session Transcript" "large_header" true) }} - - -
        -

        - {{ .Params.transcript | markdownify }} -

        -
        -
      • -
    -
    - - -
    -
    -

    Get started today

    -

    Pulumi is open source and free to get started. Deploy your first stack today.

    -
    + +
    +
    +

    Get started today

    +

    Pulumi is open source and free to get started. Deploy your first stack today.

    +
    -
    - -{{ end }} \ No newline at end of file + +{{ end }} diff --git a/layouts/webinars/single.html b/layouts/webinars/single.html index 83f3646b7bd4..651353a53e6c 100644 --- a/layouts/webinars/single.html +++ b/layouts/webinars/single.html @@ -1,77 +1,69 @@ {{ define "hero" }} -{{ partial "hero.html" (dict "title" "Events" "small_title" "true" "headingLevel" 3) }} + {{ partial "hero.html" (dict "title" "Events" "small_title" "true" "headingLevel" 3) }} {{ end }} {{ define "main" }} - -{{ $nowUnix := now.UnixMilli }} - -{{ $eventDateUnix := (add (.Params.main.sortable_date | time.AsTime).UnixMilli (duration "hour" 24).Milliseconds) }} -{{ $timePassed := gt $nowUnix $eventDateUnix }} + + {{ $nowUnix := now.UnixMilli }} + + {{ $eventDateUnix := (add (.Params.main.sortable_date | time.AsTime).UnixMilli (duration "hour" 24).Milliseconds) }} + {{ $timePassed := gt $nowUnix $eventDateUnix }} -
    -
    -
    - -
    -
    - {{ if .Params.main.youtube_url }} - -
    All on-demand recordings
    -
    - {{ else }} - -
    All upcoming events
    -
    - {{ end }} - {{ .Params.main.event_type | upper }} - - {{ if .Params.main.youtube_url }} - ON-DEMAND - {{ else }} - VIRTUAL - {{ end }} -

    {{ .Params.title }}

    +
    +
    +
    +
    + {{ if .Params.main.youtube_url }} +
    All on-demand recordings
    + {{ else }} +
    All upcoming events
    + {{ end }} + {{ .Params.main.event_type | upper }} + + {{ if .Params.main.youtube_url }} + ON-DEMAND + {{ else }} + VIRTUAL + {{ end }} +

    {{ .Params.title }}

    -
    -
    - {{ if not .Params.main.youtube_url }} - {{ partial "events/timing-info.html" (dict "datetime" .Params.main.sortable_date "duration" - .Params.main.duration) }} - {{ end }} - {{ $show_cloud := true }} - {{ if eq .Params.main.event_type "event" }} - {{ $show_cloud = false }} - {{ end }} - {{ partial "events/summary.html" (dict "description" .Params.main.description "learn" - .Params.main.learn "show_cloud" $show_cloud ) }} -
    - -
    - {{ if .Params.main.youtube_url }} - -
    - +
    +
    + {{ if not .Params.main.youtube_url }} + {{ partial "events/timing-info.html" (dict "datetime" .Params.main.sortable_date "duration" .Params.main.duration) }} + {{ end }} + {{ $show_cloud := true }} + {{ if eq .Params.main.event_type "event" }} + {{ $show_cloud = false }} + {{ end }} + {{ partial "events/summary.html" (dict "description" .Params.main.description "learn" .Params.main.learn "show_cloud" $show_cloud ) }}
    - {{ else if and .Params.gated (not $timePassed) }} -
    -
    Register today
    - + +
    + {{ if .Params.main.youtube_url }} + +
    + +
    + {{ else if and .Params.gated (not $timePassed) }} +
    +
    Register today
    + +
    + {{ end }}
    - {{ end }}
    -
    - - {{ if .Params.main.presenters }} - {{ partial "events/event-speakers.html" (dict "presenters" .Params.main.presenters) }} - {{ end }} + + {{ if .Params.main.presenters }} + {{ partial "events/event-speakers.html" (dict "presenters" .Params.main.presenters) }} + {{ end }} +
    -
    -
    -{{ end }} \ No newline at end of file +
    +{{ end }} + \ No newline at end of file diff --git a/layouts/what-is/single.html b/layouts/what-is/single.html index bfb602a9a098..2c3078d59416 100644 --- a/layouts/what-is/single.html +++ b/layouts/what-is/single.html @@ -56,15 +56,15 @@

    {{ .title }}

    -
    +
    - -

    Get started today

    -

    Pulumi is open source and free to get started. Deploy your first stack today.

    - + +

    Get started today

    +

    Pulumi is open source and free to get started. Deploy your first stack today.

    +
    -{{ end }} \ No newline at end of file +{{ end }} diff --git a/theme/src/scss/_algolia.scss b/theme/src/scss/_algolia.scss index f9bfcbd324a4..fc37c16f08f5 100644 --- a/theme/src/scss/_algolia.scss +++ b/theme/src/scss/_algolia.scss @@ -18,8 +18,7 @@ } // Use our standard rounding for the button and the modal. -.aa-Form, -.aa-DetachedSearchButton { +.aa-Form, .aa-DetachedSearchButton { @apply rounded; } @@ -55,7 +54,7 @@ @apply bg-white z-40 m-0 absolute top-0 right-0 left-0; // We need a bit more specificity here to override the defaults set by the control. - .aa-DetachedContainer & { + .aa-DetachedContainer & { @apply my-0; } @@ -97,9 +96,8 @@ } // When active, show a strong underline. - &.active, - &.active:hover:not(.disabled) { - @apply text-gray-900 border-violet-700; + &.active, &.active:hover:not(.disabled) { + @apply text-gray-900 border-violet-600; button { img { @@ -163,7 +161,7 @@ // The highlight indicator (i.e., the portion of item, if any, that matches the search query). mark { - @apply bg-transparent border-b border-blue-700 border-opacity-50; + @apply bg-transparent border-b border-blue-600 border-opacity-50; } } @@ -171,10 +169,10 @@ .aa-SourceFooter { @apply bg-white z-40 py-2 mt-2 px-2 absolute right-0 bottom-0 left-0 text-xs text-gray-600; - >div { + > div { @apply pt-2 border-t border-gray-300 flex items-center justify-start; - >span { + > span { @apply mr-4; } } @@ -208,4 +206,4 @@ @apply text-gray-600; } } -} \ No newline at end of file +} diff --git a/theme/src/scss/_api-nodejs.scss b/theme/src/scss/_api-nodejs.scss index e279fce23882..e8f31885fbea 100644 --- a/theme/src/scss/_api-nodejs.scss +++ b/theme/src/scss/_api-nodejs.scss @@ -3,20 +3,20 @@ h3.pdoc-module-header { } // Indent all elements preceded by this header. -h3.pdoc-module-header~* { +h3.pdoc-module-header ~ * { @apply ml-4; } // ...except equal or larger headers. -h3.pdoc-module-header~h3, -h3.pdoc-module-header~h2 { +h3.pdoc-module-header ~ h3, +h3.pdoc-module-header ~ h2 { @apply ml-0; } // We want visually recognizable links here. .highlight { a { - @apply text-blue-700; + @apply text-blue-600; &:hover { @apply text-blue-700; @@ -79,8 +79,7 @@ ul.api { } } - &.datasource, - // TODO: Remove `datasource` when it's no longer referenced anywhere. + &.datasource, // TODO: Remove `datasource` when it's no longer referenced anywhere. &.function { &:before { content: "F"; @@ -96,4 +95,4 @@ ul.api { } } } -} \ No newline at end of file +} diff --git a/theme/src/scss/_buttons.scss b/theme/src/scss/_buttons.scss index f0406ae4ac8e..5733962e8c30 100644 --- a/theme/src/scss/_buttons.scss +++ b/theme/src/scss/_buttons.scss @@ -5,7 +5,7 @@ @include transition; @apply cursor-pointer text-sm whitespace-nowrap py-2 px-3 rounded inline-block; - @apply bg-blue-700 border border-blue-700 text-white text-center; + @apply bg-blue-600 border border-blue-600 text-white text-center; &:hover { @apply bg-blue-500 border-blue-500 text-white; @@ -17,7 +17,7 @@ } .btn-secondary { - @apply bg-white border border-blue-500 text-blue-700; + @apply bg-white border border-blue-500 text-blue-600; &:hover { @apply bg-blue-500 text-white; @@ -100,4 +100,4 @@ left: 0px; z-index: 0; width: 100%; -} \ No newline at end of file +} diff --git a/theme/src/scss/_colors.scss b/theme/src/scss/_colors.scss index 034b075031ea..b3d3eeab5b21 100644 --- a/theme/src/scss/_colors.scss +++ b/theme/src/scss/_colors.scss @@ -22,161 +22,122 @@ $brand-blue: map-get($brand, "blue"); $gray: ( 100: #f9f9f9, - 200: #dfdfdf, - 300: #d0d0d2, - 400: #aaa, - 500: #8f8f90, - 600: #757576, - 700: #5b5b5b, + 112: #f9f9fa, + 125: #f2f2f4, + 150: #e5e5e9, + 200: #e0e0e0, + 300: #dcdcdc, + 350: #bebfc9, + 400: #b0b0b0, + 450: #8e8f97, + 500: #808080, + 600: #5a5a5a, + 650: #5f6065, + 675: #4a5568, + 700: #484848, 800: #404041, - 900: #353537, - 1000: #2b2b2c + 900: #2b2b2c, + 925: #2f3032, + 950: #131314, ); $yellow: ( - 100: #fffcf5, - 200: #fdf0ce, - 300: #fce3a7, - 400: #fad780, - 500: #f9cb59, + 100: #fef9ea, + 200: #fdf2d4, + 300: #fce5aa, + 400: #fad97f, + 500: #f9cc55, 600: $brand-yellow, - 700: #987c37, - 800: #685525, - 900: #584412, - 1000: #413005 + 700: #c69922, + 800: #947319, + 900: #634c11, ); $salmon: ( - 100: #fff7f8, - 200: #fbd4d8, + 100: #fef1f2, + 200: #fce2e5, 300: #fac5cb, - 400: #f9b7bf, - 500: #f69aa5, - 600: #f26e7e, - 700: #c45966, - 800: #902e3c, - 900: #6c232d, - 1000: #511a22 + 400: #f7a8b2, + 500: #f58b98, + 600: $brand-salmon, + 700: #c25865, + 800: #91424c, + 900: #612c32, ); $fuchsia: ( - 100: #fff5fa, - 200: #ffe8f3, - 300: #ffd5eb, - 400: #eeb2d1, - 500: #de90b8, - 600: #cd6e9e, - 700: #bd4c85, - 800: #872c5c, - 900: #701c4d, - 1000: #5a163e + 100: #f8edf3, + 200: #f2dbe7, + 300: #e5b7ce, + 400: #d794b6, + 500: #ca709d, + 600: $brand-fuchsia, + 700: #973d6a, + 800: #712e50, + 900: #4c1e35, ); $purple: ( - 100: #fdf4fd, - 200: #f6e6f7, - 300: #edd3ef, - 400: #d4abd7, - 500: #bb83c0, - 600: #a25ba8, - 700: #8a3391, - 800: #752d7b, - 900: #0c0a0c, - 1000: #421645 + 100: #f3ebf4, + 200: #e8d6e9, + 300: #d0add3, + 400: #b985bd, + 500: #a15ca7, + 600: $brand-purple, + 700: #6e2974, + 800: #531f57, + 900: #37143a, ); $violet: ( - 100: #faf9fd, - 200: #e5dff1, - 300: #d7cdea, - 400: #bba9da, - 500: #a68ecf, - 600: #9174c3, - 700: #805ac3, - 800: #673eac, - 900: #481a96, - 1000: #2d0472 + 100: #f2eff9, + 200: #e6def3, + 300: #ccbde7, + 400: #b39cdb, + 500: #997bcf, + 600: $brand-violet, + 700: #66489c, + 800: #4d3675, + 900: #33244e, ); $blue: ( - 100: #f9f9fe, - 200: #dde0f8, - 300: #cbd0f6, - 400: #a5aced, - 500: #8992e8, - 600: #6d79e2, - 700: #4d5bd9, - 800: #3545d7, - 900: #091bbf, - 1000: #000280 + 100: #edeffb, + 200: #dbdef7, + 250: #cacef4, + 300: #b8bdf0, + 350: #a6adec, + 400: #949de8, + 450: #828ce4, + 500: #717ce1, + 600: $brand-blue, + 700: #3e49ae, + 750: #364098, + 800: #2e3782, + 850: #272e6d, + 900: #1f2457, ); $orange: ( - 100: #fefbf8, - 200: #f8e1cc, - 300: #f3c9a5, - 400: #ecac74, - 500: #e69148, - 600: #e0771c, - 700: #aa5a15, - 800: #733d0e, - 900: #652d00, - 1000: #4e1d00 + 100: #fff7eb, + 200: #fde6c4, + 300: #fad49e, + 400: #f6ba7e, + 500: #ee975c, + 600: #e17d47, + 700: #d86131, + 800: #ba4a2c, + 900: #993d29, ); $green: ( - 100: #f8faf8, - 200: #d8e5d7, - 300: #c1d4bf, - 400: #99ba96, - 500: #79a476, - 600: #5a8f55, - 700: #3a7a35, - 800: #1a6414, - 900: #095703, - 1000: #004200 + 100: #e0fff2, + 200: #b2fbe0, + 300: #81eeca, + 400: #4ce1b4, + 500: #2fc89f, + 600: #25a78b, + 700: #1d8673, + 800: #19675b, + 900: #155148, ); - -$aqua: ( - // Background 1 - 100: #f7fcfc, - // Background 2 - 200: #d1eeee, - // Background 3 - 300: #b4e3e2, - - 400: #84d2d1, - 500: #56bfbc, - - // Tertiary - 600: #30a2a0, - // Secondary - 700: #26817f, - // Primary - 800: #1b5e5c, - - 900: #144746, - 1000: #0c2f2f -); - -$red: ( - // Background 1 - 100: #fcf9f9, - // Background 2 - 200: #efdada, - // Background 3 - 300: #e7caca, - - 400: #d49e9e, - 500: #c68080, - - // Tertiary - 600: #b96262, - // Secondary - 700: #ab4444, - // Primary, Error, Destructive - 800: #9e2626, - - 900: #890b0b, - 1000: #670000 -); \ No newline at end of file diff --git a/theme/src/scss/_header.scss b/theme/src/scss/_header.scss index d63af4fd0f28..0a16c50e84ee 100644 --- a/theme/src/scss/_header.scss +++ b/theme/src/scss/_header.scss @@ -41,7 +41,7 @@ .top-nav-banner-text { // TODO: update color - color: #505bd1; //#4d5bd9; + color: #505bd1; //#4d5bd9; } } } @@ -56,7 +56,7 @@ position: relative; &.is-pinned { - box-shadow: 0 1px 12px 0 rgba(0, 0, 0, .06), 0 1px 4px 0 rgba(0, 0, 0, .04); + box-shadow: 0 1px 12px 0 rgba(0,0,0,.06),0 1px 4px 0 rgba(0,0,0,.04); @screen md { @apply shadow-none; @@ -105,7 +105,7 @@ border: 1px solid #805ac3; border-radius: 20px; - background: linear-gradient(90deg, #be5188, #805ac3) border-box; + background: linear-gradient(90deg,#be5188,#805ac3) border-box; color: #fff; &:hover, @@ -128,7 +128,7 @@ } .header-container { - @apply z-40 bg-white py-0; + @apply z-40 bg-white py-0 ; top: -1px; @screen lg { @@ -137,7 +137,7 @@ &.is-pinned { @apply sticky; - box-shadow: 0 1px 12px 0 rgba(0, 0, 0, .06), 0 1px 4px 0 rgba(0, 0, 0, .04); + box-shadow: 0 1px 12px 0 rgba(0,0,0,.06),0 1px 4px 0 rgba(0,0,0,.04); } .logo-container { @@ -182,12 +182,12 @@ .dropdown-title { @apply pl-4 pr-8 text-base; - + @screen lg { @apply text-sm pl-2; } } - + @screen xl { .dropdown-title { @apply text-base pl-4; @@ -195,7 +195,6 @@ } &:hover { - a, .dropdown-title { color: $brand-violet; @@ -209,18 +208,15 @@ .header-nav-drop-down-menu { @apply w-full absolute hidden mt-5 pt-3 top-0 z-50; min-width: fit-content; - ul { @apply bg-white text-left rounded shadow-3xl p-5 whitespace-nowrap; min-width: fit-content; - div { .header-nav-drop-down-heading { border-top: 2px solid; border-image-slice: 1; border-image-source: linear-gradient(90deg, #f7bf2a 0%, #f26e7e 18.23%, #be5188 38.02%, #8a3391 53.65%, #805ac3 74.48%, #7682f4 100%); } - .header-nav-drop-down-heading-text { @apply font-medium; @apply mx-auto; @@ -246,7 +242,6 @@ .header-nav-two-col-drop-down { @apply flex flex-wrap w-full pt-2; - li { @apply pl-1 pr-2 py-2 flex-col w-1/2; } @@ -267,11 +262,9 @@ &:hover { @apply font-semibold; - a { @apply font-semibold; color: $brand-violet; - .list-sub-title { color: theme("colors.gray.800"); } @@ -282,10 +275,9 @@ a { @apply px-0; color: theme("colors.gray.800"); - i { min-width: 1.5rem; - color: theme("colors.gray.700"); + color:theme("colors.gray.700"); } } @@ -302,7 +294,6 @@ .product { min-width: 70ch; @apply -left-24; - @screen xl { @apply left-0; } @@ -339,7 +330,7 @@ } } } - + @screen xl { @apply mx-8; } @@ -349,7 +340,7 @@ @apply hidden; } - .mobile-menu-toggle:checked+.mobile-menu-icon { + .mobile-menu-toggle:checked + .mobile-menu-icon { .mobile-menu-closed { @apply hidden; } @@ -374,7 +365,6 @@ div { @apply flex flex-wrap; - &:not(:first-of-type) { @apply mt-4; } @@ -394,7 +384,6 @@ .mobile-menu-item { @apply text-2xl font-display text-gray-800 mt-4; - a { @apply ml-3.5; } @@ -416,11 +405,9 @@ [class*="mobile-menu-subitems-"] { @apply mt-2 text-base hidden; flex-basis: 100%; - a { @apply text-xl font-medium text-gray-700 mt-4; color: theme("colors.gray.800"); - i { min-width: 2rem; color: theme("colors.gray.700"); @@ -440,37 +427,33 @@ opacity: 0%; } - #why-pulumi-mobile-menu:checked~ { + #why-pulumi-mobile-menu:checked ~ { .mobile-menu-subitems-why-pulumi { @apply block; } - .mobile-menu-heading { color: $brand-violet; } - - label>span.dropdown-menu-caret { + label > span.dropdown-menu-caret { @apply opacity-50; transform: rotate(180deg); } } - #product-mobile-menu:checked~ { + #product-mobile-menu:checked ~ { .mobile-menu-subitems-product { @apply block; } - .mobile-menu-heading { color: $brand-violet; } - - label>span.dropdown-menu-caret { + label > span.dropdown-menu-caret { @apply opacity-50; transform: rotate(180deg); } } - #learn-mobile-menu:checked~ { + #learn-mobile-menu:checked ~ { .mobile-menu-subitems-learn { @apply block; } @@ -479,13 +462,13 @@ color: $brand-violet; } - label>span.dropdown-menu-caret { + label > span.dropdown-menu-caret { @apply opacity-50; transform: rotate(180deg); } } - #company-mobile-menu:checked~ { + #company-mobile-menu:checked ~ { .mobile-menu-subitems-company { @apply block; } @@ -494,7 +477,7 @@ color: $brand-violet; } - label>span.dropdown-menu-caret { + label > span.dropdown-menu-caret { @apply opacity-50; transform: rotate(180deg); } @@ -502,7 +485,7 @@ } } - .mobile-menu-toggle:checked+.mobile-menu-icon+.mobile-menu { + .mobile-menu-toggle:checked + .mobile-menu-icon + .mobile-menu { @apply block; @screen lg { @@ -512,16 +495,13 @@ .mobile-menu-footer { @apply block w-full h-screen overflow-y-auto; - .get-started { @apply flex flex-col h-16 items-center; - a { @apply flex h-full w-full justify-center items-center; } } - @screen lg { @apply hidden; } @@ -540,8 +520,7 @@ } } -.registry-hero, -.docs-hero { +.registry-hero, .docs-hero { @apply w-full flex relative flex-col justify-center; .dot-overlay { @@ -573,17 +552,15 @@ .header-pinned-container { width: 315px; - .get-started-pinned-search-container { width: 136px; - .get-started-pinned-search-button { - @apply flex items-center justify-center text-violet-700 text-sm; + @apply flex items-center justify-center text-violet-600 text-sm; height: 33px; padding: 8px 16px; - border: 1px solid theme("colors.violet.700"); + border: 1px solid theme("colors.violet.600"); border-radius: 20px; width: max-content; @@ -597,4 +574,4 @@ } } } -} \ No newline at end of file +} diff --git a/theme/src/scss/_hero.scss b/theme/src/scss/_hero.scss index ec90b559bcfa..499588c49c68 100644 --- a/theme/src/scss/_hero.scss +++ b/theme/src/scss/_hero.scss @@ -11,10 +11,10 @@ $bc1: theme("colors.yellow.600"); $bc2: theme("colors.salmon.600"); - $bc3: theme("colors.fuchsia.700"); - $bc4: theme("colors.purple.700"); - $bc5: theme("colors.violet.700"); - $bc6: theme("colors.blue.700"); + $bc3: theme("colors.fuchsia.600"); + $bc4: theme("colors.purple.600"); + $bc5: theme("colors.violet.600"); + $bc6: theme("colors.blue.600"); background-image: linear-gradient(to right, $bc1 0%, $bc2 10%, $bc3 20%, $bc4 30%, $bc5 40%, $bc6 50%, $bc5 60%, $bc4 70%, $bc3 80%, $bc2 90%, $bc1 100%); background-size: 200%; @@ -41,12 +41,10 @@ } @keyframes wave { - 0%, 100% { background-position: 0vw center; } - 50% { background-position: -100vw center; } @@ -110,13 +108,11 @@ p { @apply text-lg rounded px-2 mx-auto; background-color: rgba(255, 255, 255, 0.7); - max-width: 48rem; - /* Limit width to match header better */ + max-width: 48rem; /* Limit width to match header better */ @screen lg { @apply mx-0; - max-width: 42rem; - /* Slightly narrower on desktop */ + max-width: 42rem; /* Slightly narrower on desktop */ } } @@ -146,7 +142,6 @@ h1 { @apply text-center max-w-4xl; font-weight: 700; - @screen lg { font-size: 3.75rem; line-height: 1.3; @@ -155,7 +150,6 @@ h2 { @apply text-center max-w-4xl; - @screen lg { font-size: 3rem; line-height: 1.3; @@ -164,7 +158,6 @@ h3 { @apply text-center max-w-4xl; - @screen lg { font-size: 2.5rem; line-height: 1.3; @@ -206,4 +199,4 @@ &::after { @apply top-0; } -} \ No newline at end of file +} diff --git a/theme/src/scss/_hubspot.scss b/theme/src/scss/_hubspot.scss index 1009e6bba987..c620318effbe 100644 --- a/theme/src/scss/_hubspot.scss +++ b/theme/src/scss/_hubspot.scss @@ -111,7 +111,7 @@ } &.hs-button { - @apply block btn btn-lg btn border-none py-3 px-6 rounded-lg w-auto bg-violet-700 ml-2; + @apply block btn btn-lg btn border-none py-3 px-6 rounded-lg w-auto bg-violet-600 ml-2; } &:focus { diff --git a/theme/src/scss/_icons.scss b/theme/src/scss/_icons.scss index 9acb56be550d..ac18484f69e9 100644 --- a/theme/src/scss/_icons.scss +++ b/theme/src/scss/_icons.scss @@ -5,56 +5,55 @@ $fa-font-path: "/fonts/fontawesome"; @import "fontawesome/fa-regular.scss"; @import "fontawesome/fa-brands.scss"; -@each $icon in "team" -"abstract-shapes" -"accordion-closed" -"accordion-open" -"alert" -"architecture" -"buildings" -"clipboard" -"clock" -"clode-with-nodes" -"cloud-with-nodes" -"cloud" -"clouds" -"code-window" -"code" -"collab" -"cycle" -"delivery" -"download-from-cloud" -"exchange" -"eye" -"gavel" -"gear" -"git-merged" -"global" -"guage" -"hamburger-closed" -"hamburger-open" -"lightning" -"lock" -"monitor" -"nodes-and-rays" -"nodes" -"pen" -"program" -"puzzle" -"security" -"shield" -"ship" -"testing" -"type-cursor" -"upload-to-cloud" - - { +@each $icon + in "team" + "abstract-shapes" + "accordion-closed" + "accordion-open" + "alert" + "architecture" + "buildings" + "clipboard" + "clock" + "clode-with-nodes" + "cloud-with-nodes" + "cloud" + "clouds" + "code-window" + "code" + "collab" + "cycle" + "delivery" + "download-from-cloud" + "exchange" + "eye" + "gavel" + "gear" + "git-merged" + "global" + "guage" + "hamburger-closed" + "hamburger-open" + "lightning" + "lock" + "monitor" + "nodes-and-rays" + "nodes" + "pen" + "program" + "puzzle" + "security" + "shield" + "ship" + "testing" + "type-cursor" + "upload-to-cloud" +{ .icon-#{ $icon } { @apply rounded-full inline-block p-4 w-20 h-20; &-small { @apply p-2 w-10 h-10; - svg { max-width: 24px; max-height: 24px; @@ -89,7 +88,7 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-fuchsia-100; svg * { - stroke: theme("colors.fuchsia.700"); + stroke: theme("colors.fuchsia.600"); } } @@ -97,7 +96,7 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-purple-100; svg * { - stroke: theme("colors.purple.700"); + stroke: theme("colors.purple.600"); } } @@ -105,7 +104,7 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-violet-100; svg * { - stroke: theme("colors.violet.700"); + stroke: theme("colors.violet.600"); } } @@ -113,7 +112,7 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-blue-100; svg * { - stroke: theme("colors.blue.700"); + stroke: theme("colors.blue.600"); } } } @@ -125,7 +124,6 @@ $fa-font-path: "/fonts/fontawesome"; &-small { @apply p-2 w-10 h-10; - svg { max-width: 24px; max-height: 24px; @@ -163,8 +161,8 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-fuchsia-100; svg * { - stroke: theme("colors.fuchsia.700"); - fill: theme("colors.fuchsia.700") !important; + stroke: theme("colors.fuchsia.600"); + fill: theme("colors.fuchsia.600") !important; } } @@ -172,12 +170,12 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-purple-100; svg * { - stroke: theme("colors.purple.700"); - fill: theme("colors.purple.700"); + stroke: theme("colors.purple.600"); + fill: theme("colors.purple.600"); } svg rect { - fill: theme("colors.purple.700"); + fill: theme("colors.purple.600"); } } @@ -185,8 +183,8 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-violet-100; svg * { - stroke: theme("colors.violet.700"); - fill: theme("colors.violet.700") !important; + stroke: theme("colors.violet.600"); + fill: theme("colors.violet.600") !important; } } @@ -194,8 +192,8 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-blue-100; svg * { - stroke: theme("colors.blue.700"); - fill: theme("colors.blue.700") !important; + stroke: theme("colors.blue.600"); + fill: theme("colors.blue.600") !important; } } } @@ -207,7 +205,6 @@ $fa-font-path: "/fonts/fontawesome"; &-small { @apply p-2 w-10 h-10; - svg { max-width: 24px; max-height: 24px; @@ -254,11 +251,11 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-fuchsia-100; svg * { - stroke: theme("colors.fuchsia.700"); + stroke: theme("colors.fuchsia.600"); } svg rect { - fill: theme("colors.fuchsia.700"); + fill: theme("colors.fuchsia.600"); } } @@ -266,11 +263,11 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-purple-100; svg * { - stroke: theme("colors.purple.700"); + stroke: theme("colors.purple.600"); } svg rect { - fill: theme("colors.purple.700"); + fill: theme("colors.purple.600"); } } @@ -278,11 +275,11 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-violet-100; svg * { - stroke: theme("colors.violet.700"); + stroke: theme("colors.violet.600"); } svg rect { - fill: theme("colors.violet.700"); + fill: theme("colors.violet.600"); } } @@ -290,12 +287,12 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-blue-100; svg * { - stroke: theme("colors.blue.700"); + stroke: theme("colors.blue.600"); } svg rect { - fill: theme("colors.blue.700"); + fill: theme("colors.blue.600"); } } } -} \ No newline at end of file +} diff --git a/theme/src/scss/_lists.scss b/theme/src/scss/_lists.scss index db594176d1b6..e8fb2a7a8ae2 100644 --- a/theme/src/scss/_lists.scss +++ b/theme/src/scss/_lists.scss @@ -1,9 +1,9 @@ dl { - &.resources-properties, &.package-details, &.tabular, - body.section-templates & { + body.section-templates & + { @apply mb-8 mt-4 p-1 flex flex-col items-start items-stretch bg-gray-100 border rounded border-gray-300 text-sm text-gray-700; @screen lg { @@ -65,7 +65,7 @@ dl { } a { - @apply text-blue-700; + @apply text-blue-600; } } @@ -98,7 +98,7 @@ dl { } &.property-deprecated { - ~dd { + ~ dd { .property-message { @apply bg-orange-200 text-orange-600 my-4 px-5 py-4 rounded text-sm; @@ -123,9 +123,8 @@ dl { .property-type { @apply block font-normal font-mono mt-2 text-xs; - a { - @apply text-blue-700; + @apply text-blue-600; } } @@ -134,4 +133,4 @@ dl { } } } -} \ No newline at end of file +} diff --git a/theme/src/scss/_marketing.scss b/theme/src/scss/_marketing.scss index 45d8bf01afc0..2b05cfeca2f6 100644 --- a/theme/src/scss/_marketing.scss +++ b/theme/src/scss/_marketing.scss @@ -10,23 +10,18 @@ body { h1 { @apply text-5xl; } - h2 { @apply text-4xl; } - h3 { @apply text-3xl; } - h4 { @apply text-2xl; } - h5 { @apply text-xl; } - h6 { @apply text-base; } @@ -89,7 +84,7 @@ body { } .btn-secondary { - @apply bg-white text-violet-700 border-2 border-violet-700; + @apply bg-white text-violet-600 border-2 border-violet-600; @include transition; &.disabled { @@ -97,7 +92,7 @@ body { } &:hover { - @apply bg-violet-700 text-white; + @apply bg-violet-600 text-white; } &:focus { @@ -106,13 +101,13 @@ body { } // Make the borders transparent when the button is over a background of the same color. - .bg-violet-700 .btn-secondary { + .bg-violet-600 .btn-secondary { @apply border-transparent; } - // white secondary button for violet-700 background + // white secondary button for violet-600 background .btn-secondary-home-action { - @apply bg-violet-700 text-white border-2 border-white whitespace-normal; + @apply bg-violet-600 text-white border-2 border-white whitespace-normal; @include transition; &.disabled { @@ -136,23 +131,18 @@ body { @apply text-5xl; } } - h2 { @apply text-5xl; } - h3 { @apply text-4xl; } - h4 { @apply text-3xl; } - h5 { @apply text-2xl; } - h6 { @apply text-lg; } @@ -161,7 +151,6 @@ body { .home-page-build-section-background { @apply w-full h-full overflow-hidden absolute top-0 left-0 border-gray-300; - .home-page-build-section-image { @apply w-full h-full; opacity: 0.5; @@ -197,7 +186,7 @@ body { .section-partner { .btn-primary:hover { - background: linear-gradient(90deg, #be5188 0%, #805ac3 100%) + background:linear-gradient(90deg, #be5188 0%, #805ac3 100%) } } @@ -208,4 +197,4 @@ body { pulumi-copilot { display: none; } -} \ No newline at end of file +} diff --git a/theme/src/scss/_mixins.scss b/theme/src/scss/_mixins.scss index 6c25daa40f4b..12ae61b71142 100644 --- a/theme/src/scss/_mixins.scss +++ b/theme/src/scss/_mixins.scss @@ -22,11 +22,11 @@ } @mixin gradient-background() { - background: linear-gradient(90deg, #be5188 0%, theme("colors.violet.700") 100%); + background: linear-gradient(90deg, #be5188 0%, theme("colors.violet.600") 100%); } @mixin gradient-button { - @apply relative text-white bg-violet-700 border-violet-700 border-2 rounded-lg cursor-pointer z-auto; + @apply relative text-white bg-violet-600 border-violet-600 border-2 rounded-lg cursor-pointer z-auto; &:hover { @apply no-underline; @@ -68,6 +68,6 @@ } &:focus { - @apply bg-blue-700 border-blue-700; + @apply bg-blue-600 border-blue-600; } -} \ No newline at end of file +} diff --git a/theme/src/scss/_search.scss b/theme/src/scss/_search.scss index 9665fecbfb45..b6ba8375ab5f 100644 --- a/theme/src/scss/_search.scss +++ b/theme/src/scss/_search.scss @@ -11,7 +11,7 @@ @apply flex flex-grow gap-3 items-center font-display text-base py-3 px-6 border-b-4 mt-1 border-transparent text-gray-700; &.tab-selected { - @apply font-bold border-violet-700 text-gray-900 bg-gray-100; + @apply font-bold border-violet-600 text-gray-900 bg-gray-100; } img { @@ -43,26 +43,20 @@ padding: 3px; margin-left: 12px; cursor: pointer; - .expand-content { display: none; - @media (min-width: 1526px) { display: block; } - &.hide { display: none; } } - .collapse-content { display: none; - @media (min-width: 1526px) { display: block; } - &.hide { display: none; } @@ -80,4 +74,4 @@ @screen lg { @apply mx-auto justify-start; } -} \ No newline at end of file +} diff --git a/theme/src/scss/components/_audio.scss b/theme/src/scss/components/_audio.scss index a616dce7b434..fa7113348342 100644 --- a/theme/src/scss/components/_audio.scss +++ b/theme/src/scss/components/_audio.scss @@ -3,7 +3,7 @@ $orange400: theme("colors.orange.400"); $orange600: theme("colors.orange.600"); $blue400: theme("colors.blue.400"); -$blue600: theme("colors.blue.700"); +$blue600: theme("colors.blue.600"); $green200: theme("colors.green.200"); $green400: theme("colors.green.400"); @@ -17,7 +17,6 @@ pulumi-audio { .audio-container { @apply cursor-pointer text-center; - i { @apply mr-4; } @@ -28,4 +27,4 @@ pulumi-audio { box-shadow: 0 0 15px, 0 0 2px, 0 0 1em $orange600, 0 0 0.5em $orange600, 0 0 0.1em $orange600; } } -} \ No newline at end of file +} diff --git a/theme/src/scss/components/_convert.scss b/theme/src/scss/components/_convert.scss index 68a86d45e8b4..e1e4f6d42591 100644 --- a/theme/src/scss/components/_convert.scss +++ b/theme/src/scss/components/_convert.scss @@ -6,7 +6,7 @@ pulumi-convert { @apply flex-row; .CodeMirror { - ~.CodeMirror { + ~ .CodeMirror { @apply ml-4; } } @@ -33,7 +33,7 @@ pulumi-convert { @apply cursor-default bg-blue-800 border-blue-800 text-gray-400; } - @screen xl { + @screen xl { @apply w-auto justify-start; } } @@ -66,7 +66,7 @@ pulumi-convert { p { a { - @apply text-blue-700; + @apply text-blue-600; &:hover { @apply underline; @@ -291,4 +291,4 @@ pulumi-convert { } } } -} \ No newline at end of file +} diff --git a/theme/src/scss/docs/_packages.scss b/theme/src/scss/docs/_packages.scss index 5883e7110093..d64078e7c0b7 100644 --- a/theme/src/scss/docs/_packages.scss +++ b/theme/src/scss/docs/_packages.scss @@ -1,10 +1,10 @@ .all-packages { .package { - ~.no-results { + ~ .no-results { @apply block; } - &:not([class*="hidden"])~.no-results { + &:not([class*="hidden"]) ~ .no-results { @apply hidden; } } @@ -131,12 +131,11 @@ } .packages { - .featured-packages .featured-package, .all-packages .package { a:hover { .title { - @apply text-blue-700 underline; + @apply text-blue-600 underline; } } } @@ -147,7 +146,6 @@ } div.packages { - section.featured-packages, section.all-packages { h2 { @@ -179,8 +177,7 @@ div.packages section.featured-packages { border-radius: 12px; display: flex; flex-direction: column; - flex-basis: 100%; - ; + flex-basis: 100%;; align-items: center; justify-content: stretch; padding: 18px; @@ -192,14 +189,14 @@ div.packages section.featured-packages { text-align: center; flex: 1; } - + .package-logo { display: flex; align-items: center; justify-content: center; height: 32px; } - + .package-title { flex-grow: 1; font-family: 'Gilroy'; @@ -210,7 +207,7 @@ div.packages section.featured-packages { align-items: center; justify-content: center; } - + .package-version { font-family: 'Gilroy'; font-weight: 500; @@ -230,8 +227,7 @@ div.packages section.featured-packages { div.featured-package { flex-basis: 25%; } - flex-wrap: nowrap; } } -} \ No newline at end of file +} diff --git a/theme/src/scss/main.scss b/theme/src/scss/main.scss index f8766cca158c..33ff647ddc98 100644 --- a/theme/src/scss/main.scss +++ b/theme/src/scss/main.scss @@ -97,7 +97,6 @@ h6 { @apply font-display text-gray-800 mb-2; &:not(:first-child) { - // Don't apply top margin when one's being specified. &:not([class*="mt-"]):not([class*="m-"]) { @apply mt-8; @@ -161,7 +160,7 @@ main { blockquote, table { a { - @apply text-blue-700 break-words; + @apply text-blue-600 break-words; &:hover { @apply text-blue-700; @@ -216,22 +215,20 @@ main { @apply text-blue-700; } -.section-blog, -.section-tags, -.section-authors { +.section-blog, .section-tags, .section-authors { .tags { .tag { @apply lowercase border border-blue-200 rounded py-1 px-2 mr-1; &.tag-blog { - @apply bg-gray-100 text-blue-700; + @apply bg-gray-100 text-blue-600; &:hover { @apply border-blue-300 text-blue-700 no-underline; } &.active { - @apply border-blue-700 bg-blue-700 text-white; + @apply border-blue-600 bg-blue-600 text-white; &:hover { @apply text-white; @@ -256,7 +253,7 @@ main { } .github-widget { - >span { + > span { @apply flex; } } @@ -326,14 +323,12 @@ $sitenav-offset: calc($sitenav-height + 16px); } .section-docs { - // Hide the language-specific SDK-docs tables until we've removed them from the provider builds. - main .container dl.package-details+p+dl.tabular { + main .container dl.package-details + p + dl.tabular { @apply hidden; } - // Hide input and output type notes as well. - #supporting-types~h4~div pulumi-choosable .active blockquote { + #supporting-types ~ h4 ~ div pulumi-choosable .active blockquote { @apply hidden; } } @@ -392,7 +387,6 @@ pulumi-tree-item { &::part(expand-collapse-button) { @apply text-xs; } - &.expanded { .glyph { transform: rotateZ(90deg); @@ -407,10 +401,9 @@ section.newsletter-input pulumi-hubspot-form input.hs-input { #segment-consent-manager:empty { @apply hidden; } - #segment-consent-manager { - @apply text-black fixed bottom-0 right-0 left-0 m-4 border-2 border-violet-700 rounded-lg shadow-lg; + @apply text-black fixed bottom-0 right-0 left-0 m-4 border-2 border-violet-600 rounded-lg shadow-lg; z-index: 99999; @screen lg { @@ -418,9 +411,9 @@ section.newsletter-input pulumi-hubspot-form input.hs-input { } div { - @apply bg-white; + @apply bg-white; } - + p { @apply text-black text-left text-sm pr-2; @@ -439,7 +432,7 @@ section.newsletter-input pulumi-hubspot-form input.hs-input { } .manage-cookies-btn { - @apply mt-2 bg-violet-700 text-white font-bold border-2 border-violet-700 no-underline p-3 rounded-md; + @apply mt-2 bg-violet-600 text-white font-bold border-2 border-violet-600 no-underline p-3 rounded-md; @include transition; &.disabled { @@ -456,4 +449,4 @@ section.newsletter-input pulumi-hubspot-form input.hs-input { } } -@tailwind utilities; \ No newline at end of file +@tailwind utilities; diff --git a/theme/src/scss/marketing/_pricing.scss b/theme/src/scss/marketing/_pricing.scss index 1c3b76b9b696..b581f282691b 100644 --- a/theme/src/scss/marketing/_pricing.scss +++ b/theme/src/scss/marketing/_pricing.scss @@ -74,7 +74,7 @@ } .compare-table-link { - @apply underline text-blue-700; + @apply underline text-blue-600; } } } @@ -83,7 +83,7 @@ .pricing-faq { @each $filter-type in "product" "billing" "pricing" { #faq-#{$filter-type}:target { - ~#faq-headers { + ~ #faq-headers { li { @apply border-none; @@ -93,14 +93,14 @@ } li[data-faq-label="#{$filter-type}"] { - @apply border-b-4 border-solid border-blue-700; + @apply border-b-4 border-solid border-blue-600; a { @apply text-black; } } - @if $filter-type !="pricing" { + @if $filter-type != "pricing" { li[data-faq-label="pricing"] { @apply border-none; @@ -111,13 +111,13 @@ } } - @if $filter-type !="pricing" { - ~ul[data-faq-type="faq-pricing"] { + @if $filter-type != "pricing" { + ~ ul[data-faq-type="faq-pricing"] { @apply hidden; } } - ~ul[data-faq-type="faq-#{$filter-type}"] { + ~ ul[data-faq-type="faq-#{$filter-type}"] { @apply block; } } @@ -139,7 +139,6 @@ } &:hover { - p, i { @apply text-gray-700; @@ -148,11 +147,11 @@ } input[type="checkbox"]:checked { - ~.faq-item-label i { + ~ .faq-item-label i { transform: rotate(180deg); } - ~.faq-item-text { + ~ .faq-item-text { @apply block; } } @@ -164,7 +163,7 @@ } .trialed-editions { - .edition>div { + .edition > div { @apply rounded-xl; box-shadow: 0px 6px 36px rgba(0, 0, 0, 0.1); } @@ -179,7 +178,7 @@ @apply rounded-xl; box-shadow: 0px 6px 36px rgba(0, 0, 0, 0.1); - .edition>div { + .edition > div { border-radius: none; box-shadow: none; } @@ -189,12 +188,10 @@ .edition, .trialed-editions, .ready-cta { - p, span { color: map-get($gray, 800) !important; } - span.tooltip-content span { color: white !important; } @@ -204,4 +201,4 @@ &.gradient { background: linear-gradient(90deg, #f7bf2a 0%, #f26e7e 18.23%, #be5188 38.02%, #8a3391 53.65%, #805ac3 74.48%, #7682f4 100%); } -} \ No newline at end of file +} diff --git a/theme/src/scss/marketing/_product.scss b/theme/src/scss/marketing/_product.scss index edc9fc5be272..e5d998aa4d38 100644 --- a/theme/src/scss/marketing/_product.scss +++ b/theme/src/scss/marketing/_product.scss @@ -3,7 +3,7 @@ @apply text-gray-700 underline; &:hover { - @apply text-blue-700; + @apply text-blue-600; } } } @@ -25,19 +25,18 @@ @each $filter-type in "build" "deploy" "manage" { ##{$filter-type}:target { - ~.product-carousel-headers li[data-product-carousel-type="#{$filter-type}"] { + ~ .product-carousel-headers li[data-product-carousel-type="#{$filter-type}"] { @include gradient-border; a { @apply text-gray-800; } } - - ~.product-carousel-items-list li[data-product-carousel-type="#{$filter-type}"] { + ~ .product-carousel-items-list li[data-product-carousel-type="#{$filter-type}"] { @apply block; } - ~.product-carousel-headers li:not([data-product-carousel-type="#{$filter-type}"]) { + ~ .product-carousel-headers li:not([data-product-carousel-type="#{$filter-type}"]) { @apply font-display p-0 m-0 border-b-2 transition border-gray-300; border-image-source: none; @@ -45,8 +44,7 @@ @apply text-gray-700; } } - - ~.product-carousel-items-list li:not([data-product-carousel-type="#{$filter-type}"]) { + ~ .product-carousel-items-list li:not([data-product-carousel-type="#{$filter-type}"]) { @apply hidden; } } @@ -94,4 +92,4 @@ .product-carousel-items-list { @apply list-none relative px-2; } -} \ No newline at end of file +} diff --git a/theme/src/scss/marketing/_shape-backgrounds.scss b/theme/src/scss/marketing/_shape-backgrounds.scss index 18eca66628be..cab8bfeb42fd 100644 --- a/theme/src/scss/marketing/_shape-backgrounds.scss +++ b/theme/src/scss/marketing/_shape-backgrounds.scss @@ -16,7 +16,7 @@ } &.about-awards-section { - .circle-top-left { + .circle-top-left { @apply rounded-full absolute bg-yellow-600; width: 17rem; height: 17rem; @@ -32,8 +32,8 @@ bottom: 14rem; } - .circle-bottom-left { - @apply rounded-full absolute bg-purple-700; + .circle-bottom-left { + @apply rounded-full absolute bg-purple-600; width: 12rem; height: 12rem; left: 0rem; @@ -50,8 +50,8 @@ } &.about-what-we-believe { - .circle-top-left { - @apply rounded-full absolute bg-fuchsia-700; + .circle-top-left { + @apply rounded-full absolute bg-fuchsia-600; width: 22rem; height: 22rem; left: .75rem; @@ -74,8 +74,8 @@ bottom: 16rem; } - .circle-bottom-left { - @apply rounded-full absolute bg-purple-700; + .circle-bottom-left { + @apply rounded-full absolute bg-purple-600; width: 5.5rem; height: 5.5rem; left: 0rem; @@ -92,7 +92,6 @@ } &.home-build-section { - .circle-left, .circle-center, .circle-right { @@ -166,7 +165,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; width: 10.5rem; height: 10.5rem; left: -5.25rem; @@ -174,7 +173,7 @@ } .circle-right { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; width: 20.25rem; height: 20.25rem; right: -1.5rem; @@ -202,7 +201,7 @@ &.home-video-section { .circle-left { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; width: 13.75rem; height: 13.75rem; left: 2rem; @@ -301,7 +300,7 @@ .circle-left, .circle-right { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; } .circle-left { @@ -334,7 +333,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; width: 20.25rem; height: 20.25rem; left: -1.5rem; @@ -342,7 +341,7 @@ } .circle-right { - @apply rounded-full absolute bg-purple-700 top-0; + @apply rounded-full absolute bg-purple-600 top-0; width: 10.5rem; height: 10.5rem; right: -5.25rem; @@ -397,7 +396,7 @@ @apply absolute top-0 left-0; } } - + .circle-left { @apply rounded-full absolute bg-salmon-600; width: 20.25rem; @@ -487,7 +486,7 @@ &.cloud-engineering-manage-section { .circle-left { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; width: 20.25rem; height: 20.25rem; left: -10rem; @@ -495,7 +494,7 @@ } .circle-right { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; width: 8.313rem; height: 8.313rem; right: 6rem; @@ -523,7 +522,7 @@ &.cloud-engineering-use-cases-section { .circle-right { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; width: 13.25rem; height: 13.25rem; right: -6.125rem; @@ -571,7 +570,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; width: 12.75rem; height: 12.75rem; left: -6.375rem; @@ -702,7 +701,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; width: 12.5rem; height: 12.5rem; left: -6.25rem; @@ -720,7 +719,7 @@ } .circle-right { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; width: 12.5rem; height: 12.5rem; right: -6.25rem; @@ -745,7 +744,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; width: 12.5rem; height: 12.5rem; left: -6.25rem; @@ -808,7 +807,7 @@ } .circle-bottom { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; width: 20.25rem; height: 20.25rem; bottom: -2rem; @@ -820,7 +819,7 @@ height: 48rem; .circle-right { - @apply rounded-full absolute bg-blue-700; + @apply rounded-full absolute bg-blue-600; width: 19rem; height: 19rem; right: -8.5rem; @@ -828,7 +827,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; width: 12.75rem; height: 12.75rem; left: -6.375rem; @@ -856,7 +855,7 @@ &.automation-video { .circle-left { - @apply rounded-full absolute bg-violet-700; + @apply rounded-full absolute bg-violet-600; width: 5rem; height: 5rem; left: -2.5rem; @@ -864,7 +863,7 @@ } .circle-right { - @apply rounded-full absolute bg-fuchsia-700; + @apply rounded-full absolute bg-fuchsia-600; width: 8rem; height: 8rem; right: -4rem; @@ -902,7 +901,7 @@ &.pulumi-service-capabilities { .circle-top { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; width: 19rem; height: 19rem; right: -9.5rem; @@ -928,7 +927,7 @@ &.pulumi-service-security { .circle-right { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; width: 20rem; height: 20rem; left: -10rem; @@ -938,7 +937,7 @@ &.self-hosted-overview { .circle-right { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; width: 12rem; height: 12rem; right: -7rem; @@ -974,7 +973,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; width: 12.75rem; height: 12.75rem; left: -6rem; @@ -990,7 +989,7 @@ right: 6rem; top: 20rem; } - + .circle-left { @apply rounded-full absolute bg-salmon-600; width: 14rem; @@ -1002,13 +1001,13 @@ &.developer-advocates-giveaway-section { .circle-top { - @apply rounded-full absolute bg-purple-700; + @apply rounded-full absolute bg-purple-600; width: 10rem; height: 10rem; right: -4.5rem; top: 0.75rem; } - + .circle-center { @apply rounded-full absolute bg-salmon-600; width: 7rem; @@ -1016,7 +1015,7 @@ right: 27rem; top: -3.5rem; } - + .circle-bottom { @apply rounded-full absolute bg-yellow-600; width: 21.25rem; @@ -1025,4 +1024,4 @@ bottom: -17rem; } } -} \ No newline at end of file +} diff --git a/theme/src/ts/pulumi-cloud.ts b/theme/src/ts/pulumi-cloud.ts index 22a847eddee7..83178a240c16 100644 --- a/theme/src/ts/pulumi-cloud.ts +++ b/theme/src/ts/pulumi-cloud.ts @@ -8,11 +8,11 @@ $(function () { productTabs.forEach(id => { if (id !== tab) { $(`#${id}-content`).addClass("hidden"); - $(`#${id}`).removeClass("border-blue-700"); + $(`#${id}`).removeClass("border-blue-600"); $(`#${id}-text`).removeClass("rainbow-text"); } }); - $(`#${tab}`).addClass("border-blue-700"); + $(`#${tab}`).addClass("border-blue-600"); $(`#${tab}-text`).addClass("rainbow-text") $(`#${tab}-content`).removeClass("hidden") }); @@ -23,11 +23,11 @@ $(function () { capabilityTabs.forEach(id => { if (id !== tab) { $(`#${id}-content`).addClass("hidden"); - $(`#${id}`).removeClass("border-blue-700"); + $(`#${id}`).removeClass("border-blue-600"); $(`#${id}-text`).removeClass("rainbow-text"); } }); - $(`#${tab}`).addClass("border-blue-700"); + $(`#${tab}`).addClass("border-blue-600"); $(`#${tab}-text`).addClass("rainbow-text") $(`#${tab}-content`).removeClass("hidden") }); From 631c9a1dea9ecd8fa811328b14ef521c1ca7e1aa Mon Sep 17 00:00:00 2001 From: Kimberley Mackenzie Date: Wed, 12 Nov 2025 16:23:15 -0800 Subject: [PATCH 3/3] Fix formatting; update brand colors --- layouts/case-studies/list.html | 2 +- layouts/case-studies/single.html | 2 +- layouts/index.html | 8 +- layouts/page/about.html | 16 +- layouts/page/ai-arch.html | 2 +- layouts/page/automation.html | 2 +- layouts/page/cloud-engineering.html | 2 +- layouts/page/crosscode.html | 2 +- layouts/page/crossguard.html | 2 +- layouts/page/home-b.html | 2 +- layouts/page/leadership.html | 6 +- layouts/page/microsoft-build.html | 2 +- layouts/page/pricing.html | 16 +- layouts/page/product-packages.html | 2 +- layouts/page/pulumi-up-2022.html | 2 +- layouts/page/pulumi-up.html | 2 +- layouts/page/reinvent.html | 10 +- layouts/page/solutions-use-case.html | 2 +- layouts/page/solutions.html | 2 +- .../partials/blog/series-list-sidebar.html | 6 +- layouts/partials/blog/series-sidebar.html | 6 +- layouts/partials/blog/sidebar.html | 2 +- layouts/partials/content-tile.html | 2 +- layouts/partials/event-schedule.html | 2 +- layouts/partials/events/event-card.html | 2 +- layouts/partials/events/summary.html | 4 +- layouts/partials/header.html | 2 +- layouts/partials/home/console.html | 6 +- layouts/partials/how-pulumi-works.html | 2 +- layouts/partials/learnmore-ai.html | 4 +- layouts/partials/templates/left-nav.html | 2 +- layouts/partials/virtual-communities.html | 2 +- layouts/partner/aws.html | 6 +- layouts/product/infrastructure-as-code.html | 4 +- layouts/product/private-previews.html | 2 +- layouts/product/pulumi-cloud.html | 4 +- layouts/product/self-hosted.html | 2 +- layouts/shortcodes/github-buttons.html | 2 +- layouts/taxonomy/tag.html | 4 +- layouts/taxonomy/taxonomy.html | 2 +- layouts/tutorials/module.html | 2 +- .../cloud-engineering-days-replay.html | 2 +- .../cloud-engineering-summit-replay.html | 2 +- layouts/webinars/single.html | 4 +- layouts/what-is/single.html | 2 +- theme/src/scss/_algolia.scss | 4 +- theme/src/scss/_api-nodejs.scss | 2 +- theme/src/scss/_buttons.scss | 4 +- theme/src/scss/_colors.scss | 221 ++++++++++-------- theme/src/scss/_header.scss | 4 +- theme/src/scss/_hero.scss | 8 +- theme/src/scss/_hubspot.scss | 2 +- theme/src/scss/_icons.scss | 42 ++-- theme/src/scss/_lists.scss | 4 +- theme/src/scss/_marketing.scss | 10 +- theme/src/scss/_mixins.scss | 6 +- theme/src/scss/_search.scss | 2 +- theme/src/scss/components/_audio.scss | 2 +- theme/src/scss/components/_convert.scss | 2 +- theme/src/scss/docs/_packages.scss | 2 +- theme/src/scss/main.scss | 10 +- theme/src/scss/marketing/_pricing.scss | 4 +- theme/src/scss/marketing/_product.scss | 2 +- .../scss/marketing/_shape-backgrounds.scss | 52 ++--- theme/src/ts/pulumi-cloud.ts | 8 +- 65 files changed, 297 insertions(+), 258 deletions(-) diff --git a/layouts/case-studies/list.html b/layouts/case-studies/list.html index 13bbd46a0324..8c08f84b1d83 100644 --- a/layouts/case-studies/list.html +++ b/layouts/case-studies/list.html @@ -23,7 +23,7 @@

    Customer Stories

    -
    +
    {{ if .Params.featured_customer.headline_stat }}
    {{ .Params.featured_customer.headline_stat }}
    diff --git a/layouts/case-studies/single.html b/layouts/case-studies/single.html index 5ad9089a68a7..29b4a0fef244 100644 --- a/layouts/case-studies/single.html +++ b/layouts/case-studies/single.html @@ -18,7 +18,7 @@ {{ end }}
    -
    +
    {{ if .Params.quote_block.headline_stat }}
    {{ .Params.quote_block.headline_stat }}
    diff --git a/layouts/index.html b/layouts/index.html index 1608e7afef31..f8c7012a909e 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -236,7 +236,7 @@

    {{ .Params.idp.title }}

    -
    +

    Open source. Built by engineers for engineers.

    diff --git a/layouts/page/about.html b/layouts/page/about.html index d596da7190e4..4a12f7a34dbc 100644 --- a/layouts/page/about.html +++ b/layouts/page/about.html @@ -76,7 +76,7 @@

    {{ $value.title }}

    -

    Like what we stand for? Join us.

    +

    Like what we stand for? Join us.

    We are looking for new teammates who want to build the future of cloud infrastructure together.

    @@ -143,24 +143,24 @@

    Our journey

    Pulumi Service launch
    $15M Series A fundraise
    -
    +
    2019
    Sep
    Pulumi 1.0 launch
    -
    +
    2020
    Apr
    Pulumi 2.0 launch
    Oct
    $37.5M Series B fundraise
    -
    +
    2021
    Apr
    Pulumi 3.0 launch
    -
    +
    2022
    May
    Universal IaC Launch
    @@ -204,7 +204,7 @@

    Our awards & recognition

    {{ end }}
    @@ -226,7 +226,7 @@
    {{ .title }}
    {{ end }} - View all press releases + View all press releases

    Recent News

    @@ -240,7 +240,7 @@
    {{ .title }}
    {{ end }} - View all recent news + View all recent news
    diff --git a/layouts/page/ai-arch.html b/layouts/page/ai-arch.html index fcbde8981160..39546fd7bcc4 100644 --- a/layouts/page/ai-arch.html +++ b/layouts/page/ai-arch.html @@ -68,7 +68,7 @@
    {{ $benefit.title }}
    -
    +

    {{ .Params.get_started.get_started.title }}

    {{ .Params.get_started.get_started.description }}

    {{ .Params.get_started.get_started.cta_text }} diff --git a/layouts/page/automation.html b/layouts/page/automation.html index 700a6077046b..86fd2cf3db6b 100644 --- a/layouts/page/automation.html +++ b/layouts/page/automation.html @@ -427,7 +427,7 @@

    Workshop

    -
    +

    Get started today

    To get started with Pulumi Automation API, visit the user guide in our documentation.

    diff --git a/layouts/page/cloud-engineering.html b/layouts/page/cloud-engineering.html index b6f4777589aa..c7caf1aa392c 100644 --- a/layouts/page/cloud-engineering.html +++ b/layouts/page/cloud-engineering.html @@ -236,7 +236,7 @@

    {{ .Params.case_studies.title }}

    -
    +

    {{ .Params.get_started.title }}

    diff --git a/layouts/page/crosscode.html b/layouts/page/crosscode.html index dbbace404644..392917ceab2a 100644 --- a/layouts/page/crosscode.html +++ b/layouts/page/crosscode.html @@ -56,7 +56,7 @@
    {{ $item.title }}
    {{ with .Params.questions }} -
    +

    {{ .title }}

    {{ .description }}

    diff --git a/layouts/page/crossguard.html b/layouts/page/crossguard.html index 64196751f44c..3c1c200fd558 100644 --- a/layouts/page/crossguard.html +++ b/layouts/page/crossguard.html @@ -286,7 +286,7 @@

    Continuous Delivery

    -
    +

    Getting Started with Policy as Code

    diff --git a/layouts/page/home-b.html b/layouts/page/home-b.html index a2392299aaf1..fc588b764989 100644 --- a/layouts/page/home-b.html +++ b/layouts/page/home-b.html @@ -282,7 +282,7 @@

    {{ .Params.ai.title }}

    -
    +

    Built by engineers for engineers. Open source.

    - @@ -21,7 +21,7 @@

    Our Leaders

    {{ .name }}
    {{ .title }}
    - @@ -44,7 +44,7 @@

    Our Board of Directors

    {{ .title }}
    {{ .investor }}
    - diff --git a/layouts/page/microsoft-build.html b/layouts/page/microsoft-build.html index 0cb4e22982b9..8da6c2b6f48e 100644 --- a/layouts/page/microsoft-build.html +++ b/layouts/page/microsoft-build.html @@ -52,7 +52,7 @@
    {{ .title }}

    {{ .description }}

    diff --git a/layouts/page/pricing.html b/layouts/page/pricing.html index 1a6ec94e9af0..d75c285b329f 100644 --- a/layouts/page/pricing.html +++ b/layouts/page/pricing.html @@ -57,20 +57,20 @@

    {{ $tier.title }}

    {{ if eq $index 0 }} {{ else if eq $index 1 }} {{ else if eq $index 2 }} {{ else }} {{ end }}
    @@ -169,7 +169,7 @@

    {{ .header }}

    {{ if $row.tooltip }} - + {{ $row.tooltip }} @@ -187,7 +187,7 @@

    {{ .header }}

    {{ if $item.tooltip }} - + {{ $item.tooltip }} @@ -210,7 +210,7 @@

    Frequently asked questions

    -
    +

    Get started with Cloud Engineering

    diff --git a/layouts/page/reinvent.html b/layouts/page/reinvent.html index 993cdbebfcea..57c7771aa799 100644 --- a/layouts/page/reinvent.html +++ b/layouts/page/reinvent.html @@ -3,7 +3,7 @@
    --> -
    +

    AI-Driven Infrastructure Automation on AWS

    @@ -327,7 +327,7 @@

    James Connell

    -
    +

    Interested in learning more about Neo + Amazon Bedrock AgentCore?

    diff --git a/layouts/page/solutions-use-case.html b/layouts/page/solutions-use-case.html index e1ffd9faa7cb..9cf0ef9b7c11 100644 --- a/layouts/page/solutions-use-case.html +++ b/layouts/page/solutions-use-case.html @@ -102,7 +102,7 @@
    {{ .Params.customer_logos.title }}

    {{ .Params.get_started.title }}

    -
    +

    {{ .Params.get_started.get_started.title }}

    {{ .Params.get_started.get_started.description }}

    {{ .Params.get_started.get_started.cta_text }} diff --git a/layouts/page/solutions.html b/layouts/page/solutions.html index d7b29103cb61..f29ac5497548 100644 --- a/layouts/page/solutions.html +++ b/layouts/page/solutions.html @@ -181,7 +181,7 @@

    -
    +

    {{ .Params.get_started.title }}

    {{ .Params.get_started.description }}

    diff --git a/layouts/partials/blog/series-list-sidebar.html b/layouts/partials/blog/series-list-sidebar.html index 64f635283c0a..010bd272911b 100644 --- a/layouts/partials/blog/series-list-sidebar.html +++ b/layouts/partials/blog/series-list-sidebar.html @@ -45,12 +45,12 @@
    All Blog Series
    {{ .title }}
    {{ substr .description 0 50 }}{{ if gt (len .description) 50 }}...{{ end }}
    -
    Current series
    +
    Current series
    {{ else }} diff --git a/layouts/partials/blog/series-sidebar.html b/layouts/partials/blog/series-sidebar.html index a7b4434e5072..8977f37e241f 100644 --- a/layouts/partials/blog/series-sidebar.html +++ b/layouts/partials/blog/series-sidebar.html @@ -75,7 +75,7 @@
    In This Series
    {{ if $titleSubText }}
    {{ $titleSubText }}
    {{ end }} -
    Current post
    +
    Current post
    {{ else }} @@ -93,7 +93,7 @@
    In This Series
    {{ else }} {{ end }} diff --git a/layouts/partials/blog/sidebar.html b/layouts/partials/blog/sidebar.html index f44a93c1962d..e4a435f649d0 100644 --- a/layouts/partials/blog/sidebar.html +++ b/layouts/partials/blog/sidebar.html @@ -71,7 +71,7 @@
    Recent Posts
    {{ end }} {{ end }} - All blog tags → + All blog tags → {{ end }}
    diff --git a/layouts/partials/content-tile.html b/layouts/partials/content-tile.html index bc4888463b92..3d6da6968302 100644 --- a/layouts/partials/content-tile.html +++ b/layouts/partials/content-tile.html @@ -17,7 +17,7 @@
    - +
    diff --git a/layouts/partials/event-schedule.html b/layouts/partials/event-schedule.html index 53d794a3cc0b..f65bf8b88268 100644 --- a/layouts/partials/event-schedule.html +++ b/layouts/partials/event-schedule.html @@ -30,7 +30,7 @@

    {{ .schedule.heading }}

    {{ $item.description | markdownify }} diff --git a/layouts/partials/events/event-card.html b/layouts/partials/events/event-card.html index c75845464836..64987fe59fbb 100644 --- a/layouts/partials/events/event-card.html +++ b/layouts/partials/events/event-card.html @@ -50,7 +50,7 @@
    {{ partial "events/tags.html" (dict "tags" .data.Params.main.tags) }} {{ end }} - + {{ if .data.Params.main.youtube_url }}
    Watch on-demand
    {{ else if .upcoming }} diff --git a/layouts/partials/events/summary.html b/layouts/partials/events/summary.html index f3b9621056a2..53c104219ee0 100644 --- a/layouts/partials/events/summary.html +++ b/layouts/partials/events/summary.html @@ -1,8 +1,8 @@
    {{ if .show_cloud }}
    - - This workshop is taught with Pulumi Cloud. Sign up for free to follow along. + + This workshop is taught with Pulumi Cloud. Sign up for free to follow along.
    {{ end }}
    {{ .description | markdownify }}
    diff --git a/layouts/partials/header.html b/layouts/partials/header.html index 5cb3a1ebff9d..f7339a4a9ca5 100644 --- a/layouts/partials/header.html +++ b/layouts/partials/header.html @@ -522,7 +522,7 @@ {{ partial "top-nav-user-toggle" }}
    -
    + diff --git a/layouts/partials/home/console.html b/layouts/partials/home/console.html index 2c91633a00e4..e9ccd30a5f3c 100644 --- a/layouts/partials/home/console.html +++ b/layouts/partials/home/console.html @@ -7,7 +7,7 @@
    -
    +
    -
    +
    pulumi:providers:aws
    default_0_18_27
    -
    +
    aws:s3:Bucket
    diff --git a/layouts/partials/how-pulumi-works.html b/layouts/partials/how-pulumi-works.html index d26e9be7011d..3a2d580a048d 100644 --- a/layouts/partials/how-pulumi-works.html +++ b/layouts/partials/how-pulumi-works.html @@ -134,7 +134,7 @@

    Deploy

    • Preview changes
    • -
    • Run pulumi up to deploy
    • +
    • Run pulumi up to deploy
    • Integrate with CI/CD
    diff --git a/layouts/partials/learnmore-ai.html b/layouts/partials/learnmore-ai.html index d5d1be354072..45539a439784 100644 --- a/layouts/partials/learnmore-ai.html +++ b/layouts/partials/learnmore-ai.html @@ -9,7 +9,7 @@

    Learn more

    Discover the getting started guides and learn about Pulumi concepts.

    - Explore the docs → + Explore the docs →
    @@ -21,7 +21,7 @@

    Learn more

    Pulumi AI

    Generate Pulumi infrastructure-as-code programs in any language.

    - Try Pulumi AI → + Try Pulumi AI →
    diff --git a/layouts/partials/templates/left-nav.html b/layouts/partials/templates/left-nav.html index dd326fccfd3c..ea4ba7355a5b 100644 --- a/layouts/partials/templates/left-nav.html +++ b/layouts/partials/templates/left-nav.html @@ -9,7 +9,7 @@
  • {{ with $template }} {{ end }}
  • diff --git a/layouts/partials/virtual-communities.html b/layouts/partials/virtual-communities.html index f4ca749ed23f..c6cb19b0477e 100644 --- a/layouts/partials/virtual-communities.html +++ b/layouts/partials/virtual-communities.html @@ -1,4 +1,4 @@ -
    +

    Virtual Developer Communities

    Connect with us. Ask questions, find answers, and share your knowledge and grow with us.

    diff --git a/layouts/partner/aws.html b/layouts/partner/aws.html index 1acc0aee2b2e..a8b4f9252b18 100644 --- a/layouts/partner/aws.html +++ b/layouts/partner/aws.html @@ -4,7 +4,7 @@ style="background: linear-gradient(90deg, white 0%, #ddd6fe 50%, white 100%);">
    -
    Official AWS Partnership
    +
    Official AWS Partnership

    Deploy AWS Infrastructure at the Speed of AI

    Built on 8 years of infrastructure-as-code expertise and enhanced with @@ -192,7 +192,7 @@

    One Platform for All AWS Workloads
    -
    +

    Agentic AI with Built-In Governance

    @@ -345,7 +345,7 @@
    Unified Solution For All Services
    -
    +

    Interested in learning more about Neo + Amazon Bedrock diff --git a/layouts/product/infrastructure-as-code.html b/layouts/product/infrastructure-as-code.html index d7525d426f6f..1c9a49d436f9 100644 --- a/layouts/product/infrastructure-as-code.html +++ b/layouts/product/infrastructure-as-code.html @@ -166,7 +166,7 @@

    {{ $item.sub_title }}

    {{ range $feature := $item.features }}
    -
    {{ $feature.title }}
    +
    {{ $feature.title }}

    {{ $feature.description | markdownify }}

    @@ -209,7 +209,7 @@

    {{ $item.sub_title }}

    {{ range $feature := $item.features }}
    -
    {{ $feature.title }}
    +
    {{ $feature.title }}

    {{ $feature.description | markdownify }}

    diff --git a/layouts/product/private-previews.html b/layouts/product/private-previews.html index 46b486fe7cc6..b38f7b679c67 100644 --- a/layouts/product/private-previews.html +++ b/layouts/product/private-previews.html @@ -49,7 +49,7 @@

    {{ .title }}

    -
    +

    {{ .Params.learn.title }}

    diff --git a/layouts/product/pulumi-cloud.html b/layouts/product/pulumi-cloud.html index d482ced93ffa..619711f46a02 100644 --- a/layouts/product/pulumi-cloud.html +++ b/layouts/product/pulumi-cloud.html @@ -30,7 +30,7 @@

    {{ $section.header }}

    {{ $tabclass := "" }} {{ $textClass := "" }} {{ if eq $index 0 }} - {{ $tabclass = " border-blue-600 "}} + {{ $tabclass = " border-blue-700 "}} {{ $textClass = "rainbow-text" }} {{ end }}
    @@ -151,7 +151,7 @@

    {{ .title }}

    -
    +

    {{ .Params.get_started.title }}

    diff --git a/layouts/product/self-hosted.html b/layouts/product/self-hosted.html index e40dfd73cbae..c98a1c7b1df5 100644 --- a/layouts/product/self-hosted.html +++ b/layouts/product/self-hosted.html @@ -157,7 +157,7 @@

    {{ .title }}

    {{ with .Params.questions }} -
    +

    {{ .title }}

    {{ .description }}

    diff --git a/layouts/shortcodes/github-buttons.html b/layouts/shortcodes/github-buttons.html index 76bcaa74c337..7c6bdb0e5cd5 100644 --- a/layouts/shortcodes/github-buttons.html +++ b/layouts/shortcodes/github-buttons.html @@ -21,7 +21,7 @@ {{ if $langName }} {{ $currentSeries.title }} {{ else }}

    Posts Tagged - + {{ .Data.Term | lower }}

    @@ -77,7 +77,7 @@

    {{ $currentSeries.title }}

    {{ else }}

    Posts Tagged - + {{ .Data.Term | lower }}

    diff --git a/layouts/taxonomy/taxonomy.html b/layouts/taxonomy/taxonomy.html index 3152ac56b8cd..706b724ea6de 100644 --- a/layouts/taxonomy/taxonomy.html +++ b/layouts/taxonomy/taxonomy.html @@ -11,7 +11,7 @@

    {{ .Data.Singular | title }}: - + {{ .Data.Term }}

    diff --git a/layouts/tutorials/module.html b/layouts/tutorials/module.html index 616b00d82ed9..bf74f4fb810a 100644 --- a/layouts/tutorials/module.html +++ b/layouts/tutorials/module.html @@ -81,7 +81,7 @@

    Topics

    - + diff --git a/layouts/webinars/cloud-engineering-days-replay.html b/layouts/webinars/cloud-engineering-days-replay.html index 7874da6df325..f225a17f2be7 100644 --- a/layouts/webinars/cloud-engineering-days-replay.html +++ b/layouts/webinars/cloud-engineering-days-replay.html @@ -150,7 +150,7 @@
    Presenters
    -
    +

    Get started today

    Pulumi is open source and free to get started. Deploy your first stack today.

    diff --git a/layouts/webinars/cloud-engineering-summit-replay.html b/layouts/webinars/cloud-engineering-summit-replay.html index 147acfcbc808..0f464192b715 100644 --- a/layouts/webinars/cloud-engineering-summit-replay.html +++ b/layouts/webinars/cloud-engineering-summit-replay.html @@ -162,7 +162,7 @@
    Presenters
    -
    +

    Get started today

    Pulumi is open source and free to get started. Deploy your first stack today.

    diff --git a/layouts/webinars/single.html b/layouts/webinars/single.html index 651353a53e6c..9d68d1fa8dda 100644 --- a/layouts/webinars/single.html +++ b/layouts/webinars/single.html @@ -15,9 +15,9 @@
    {{ if .Params.main.youtube_url }} -
    All on-demand recordings
    +
    All on-demand recordings
    {{ else }} -
    All upcoming events
    +
    All upcoming events
    {{ end }} {{ .Params.main.event_type | upper }} diff --git a/layouts/what-is/single.html b/layouts/what-is/single.html index 2c3078d59416..663285ce7357 100644 --- a/layouts/what-is/single.html +++ b/layouts/what-is/single.html @@ -56,7 +56,7 @@

    {{ .title }}

    -
    +

    Get started today

    diff --git a/theme/src/scss/_algolia.scss b/theme/src/scss/_algolia.scss index fc37c16f08f5..88e78d651315 100644 --- a/theme/src/scss/_algolia.scss +++ b/theme/src/scss/_algolia.scss @@ -97,7 +97,7 @@ // When active, show a strong underline. &.active, &.active:hover:not(.disabled) { - @apply text-gray-900 border-violet-600; + @apply text-gray-900 border-violet-700; button { img { @@ -161,7 +161,7 @@ // The highlight indicator (i.e., the portion of item, if any, that matches the search query). mark { - @apply bg-transparent border-b border-blue-600 border-opacity-50; + @apply bg-transparent border-b border-blue-700 border-opacity-50; } } diff --git a/theme/src/scss/_api-nodejs.scss b/theme/src/scss/_api-nodejs.scss index e8f31885fbea..02c055035015 100644 --- a/theme/src/scss/_api-nodejs.scss +++ b/theme/src/scss/_api-nodejs.scss @@ -16,7 +16,7 @@ h3.pdoc-module-header ~ h2 { // We want visually recognizable links here. .highlight { a { - @apply text-blue-600; + @apply text-blue-700; &:hover { @apply text-blue-700; diff --git a/theme/src/scss/_buttons.scss b/theme/src/scss/_buttons.scss index 5733962e8c30..4cd23d388ae5 100644 --- a/theme/src/scss/_buttons.scss +++ b/theme/src/scss/_buttons.scss @@ -5,7 +5,7 @@ @include transition; @apply cursor-pointer text-sm whitespace-nowrap py-2 px-3 rounded inline-block; - @apply bg-blue-600 border border-blue-600 text-white text-center; + @apply bg-blue-700 border border-blue-700 text-white text-center; &:hover { @apply bg-blue-500 border-blue-500 text-white; @@ -17,7 +17,7 @@ } .btn-secondary { - @apply bg-white border border-blue-500 text-blue-600; + @apply bg-white border border-blue-500 text-blue-700; &:hover { @apply bg-blue-500 text-white; diff --git a/theme/src/scss/_colors.scss b/theme/src/scss/_colors.scss index b3d3eeab5b21..034b075031ea 100644 --- a/theme/src/scss/_colors.scss +++ b/theme/src/scss/_colors.scss @@ -22,122 +22,161 @@ $brand-blue: map-get($brand, "blue"); $gray: ( 100: #f9f9f9, - 112: #f9f9fa, - 125: #f2f2f4, - 150: #e5e5e9, - 200: #e0e0e0, - 300: #dcdcdc, - 350: #bebfc9, - 400: #b0b0b0, - 450: #8e8f97, - 500: #808080, - 600: #5a5a5a, - 650: #5f6065, - 675: #4a5568, - 700: #484848, + 200: #dfdfdf, + 300: #d0d0d2, + 400: #aaa, + 500: #8f8f90, + 600: #757576, + 700: #5b5b5b, 800: #404041, - 900: #2b2b2c, - 925: #2f3032, - 950: #131314, + 900: #353537, + 1000: #2b2b2c ); $yellow: ( - 100: #fef9ea, - 200: #fdf2d4, - 300: #fce5aa, - 400: #fad97f, - 500: #f9cc55, + 100: #fffcf5, + 200: #fdf0ce, + 300: #fce3a7, + 400: #fad780, + 500: #f9cb59, 600: $brand-yellow, - 700: #c69922, - 800: #947319, - 900: #634c11, + 700: #987c37, + 800: #685525, + 900: #584412, + 1000: #413005 ); $salmon: ( - 100: #fef1f2, - 200: #fce2e5, + 100: #fff7f8, + 200: #fbd4d8, 300: #fac5cb, - 400: #f7a8b2, - 500: #f58b98, - 600: $brand-salmon, - 700: #c25865, - 800: #91424c, - 900: #612c32, + 400: #f9b7bf, + 500: #f69aa5, + 600: #f26e7e, + 700: #c45966, + 800: #902e3c, + 900: #6c232d, + 1000: #511a22 ); $fuchsia: ( - 100: #f8edf3, - 200: #f2dbe7, - 300: #e5b7ce, - 400: #d794b6, - 500: #ca709d, - 600: $brand-fuchsia, - 700: #973d6a, - 800: #712e50, - 900: #4c1e35, + 100: #fff5fa, + 200: #ffe8f3, + 300: #ffd5eb, + 400: #eeb2d1, + 500: #de90b8, + 600: #cd6e9e, + 700: #bd4c85, + 800: #872c5c, + 900: #701c4d, + 1000: #5a163e ); $purple: ( - 100: #f3ebf4, - 200: #e8d6e9, - 300: #d0add3, - 400: #b985bd, - 500: #a15ca7, - 600: $brand-purple, - 700: #6e2974, - 800: #531f57, - 900: #37143a, + 100: #fdf4fd, + 200: #f6e6f7, + 300: #edd3ef, + 400: #d4abd7, + 500: #bb83c0, + 600: #a25ba8, + 700: #8a3391, + 800: #752d7b, + 900: #0c0a0c, + 1000: #421645 ); $violet: ( - 100: #f2eff9, - 200: #e6def3, - 300: #ccbde7, - 400: #b39cdb, - 500: #997bcf, - 600: $brand-violet, - 700: #66489c, - 800: #4d3675, - 900: #33244e, + 100: #faf9fd, + 200: #e5dff1, + 300: #d7cdea, + 400: #bba9da, + 500: #a68ecf, + 600: #9174c3, + 700: #805ac3, + 800: #673eac, + 900: #481a96, + 1000: #2d0472 ); $blue: ( - 100: #edeffb, - 200: #dbdef7, - 250: #cacef4, - 300: #b8bdf0, - 350: #a6adec, - 400: #949de8, - 450: #828ce4, - 500: #717ce1, - 600: $brand-blue, - 700: #3e49ae, - 750: #364098, - 800: #2e3782, - 850: #272e6d, - 900: #1f2457, + 100: #f9f9fe, + 200: #dde0f8, + 300: #cbd0f6, + 400: #a5aced, + 500: #8992e8, + 600: #6d79e2, + 700: #4d5bd9, + 800: #3545d7, + 900: #091bbf, + 1000: #000280 ); $orange: ( - 100: #fff7eb, - 200: #fde6c4, - 300: #fad49e, - 400: #f6ba7e, - 500: #ee975c, - 600: #e17d47, - 700: #d86131, - 800: #ba4a2c, - 900: #993d29, + 100: #fefbf8, + 200: #f8e1cc, + 300: #f3c9a5, + 400: #ecac74, + 500: #e69148, + 600: #e0771c, + 700: #aa5a15, + 800: #733d0e, + 900: #652d00, + 1000: #4e1d00 ); $green: ( - 100: #e0fff2, - 200: #b2fbe0, - 300: #81eeca, - 400: #4ce1b4, - 500: #2fc89f, - 600: #25a78b, - 700: #1d8673, - 800: #19675b, - 900: #155148, + 100: #f8faf8, + 200: #d8e5d7, + 300: #c1d4bf, + 400: #99ba96, + 500: #79a476, + 600: #5a8f55, + 700: #3a7a35, + 800: #1a6414, + 900: #095703, + 1000: #004200 ); + +$aqua: ( + // Background 1 + 100: #f7fcfc, + // Background 2 + 200: #d1eeee, + // Background 3 + 300: #b4e3e2, + + 400: #84d2d1, + 500: #56bfbc, + + // Tertiary + 600: #30a2a0, + // Secondary + 700: #26817f, + // Primary + 800: #1b5e5c, + + 900: #144746, + 1000: #0c2f2f +); + +$red: ( + // Background 1 + 100: #fcf9f9, + // Background 2 + 200: #efdada, + // Background 3 + 300: #e7caca, + + 400: #d49e9e, + 500: #c68080, + + // Tertiary + 600: #b96262, + // Secondary + 700: #ab4444, + // Primary, Error, Destructive + 800: #9e2626, + + 900: #890b0b, + 1000: #670000 +); \ No newline at end of file diff --git a/theme/src/scss/_header.scss b/theme/src/scss/_header.scss index 0a16c50e84ee..d53f39253240 100644 --- a/theme/src/scss/_header.scss +++ b/theme/src/scss/_header.scss @@ -555,12 +555,12 @@ .get-started-pinned-search-container { width: 136px; .get-started-pinned-search-button { - @apply flex items-center justify-center text-violet-600 text-sm; + @apply flex items-center justify-center text-violet-700 text-sm; height: 33px; padding: 8px 16px; - border: 1px solid theme("colors.violet.600"); + border: 1px solid theme("colors.violet.700"); border-radius: 20px; width: max-content; diff --git a/theme/src/scss/_hero.scss b/theme/src/scss/_hero.scss index 499588c49c68..127c24d5f7a1 100644 --- a/theme/src/scss/_hero.scss +++ b/theme/src/scss/_hero.scss @@ -11,10 +11,10 @@ $bc1: theme("colors.yellow.600"); $bc2: theme("colors.salmon.600"); - $bc3: theme("colors.fuchsia.600"); - $bc4: theme("colors.purple.600"); - $bc5: theme("colors.violet.600"); - $bc6: theme("colors.blue.600"); + $bc3: theme("colors.fuchsia.700"); + $bc4: theme("colors.purple.700"); + $bc5: theme("colors.violet.700"); + $bc6: theme("colors.blue.700"); background-image: linear-gradient(to right, $bc1 0%, $bc2 10%, $bc3 20%, $bc4 30%, $bc5 40%, $bc6 50%, $bc5 60%, $bc4 70%, $bc3 80%, $bc2 90%, $bc1 100%); background-size: 200%; diff --git a/theme/src/scss/_hubspot.scss b/theme/src/scss/_hubspot.scss index c620318effbe..1009e6bba987 100644 --- a/theme/src/scss/_hubspot.scss +++ b/theme/src/scss/_hubspot.scss @@ -111,7 +111,7 @@ } &.hs-button { - @apply block btn btn-lg btn border-none py-3 px-6 rounded-lg w-auto bg-violet-600 ml-2; + @apply block btn btn-lg btn border-none py-3 px-6 rounded-lg w-auto bg-violet-700 ml-2; } &:focus { diff --git a/theme/src/scss/_icons.scss b/theme/src/scss/_icons.scss index ac18484f69e9..5025d316e5f5 100644 --- a/theme/src/scss/_icons.scss +++ b/theme/src/scss/_icons.scss @@ -88,7 +88,7 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-fuchsia-100; svg * { - stroke: theme("colors.fuchsia.600"); + stroke: theme("colors.fuchsia.700"); } } @@ -96,7 +96,7 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-purple-100; svg * { - stroke: theme("colors.purple.600"); + stroke: theme("colors.purple.700"); } } @@ -104,7 +104,7 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-violet-100; svg * { - stroke: theme("colors.violet.600"); + stroke: theme("colors.violet.700"); } } @@ -112,7 +112,7 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-blue-100; svg * { - stroke: theme("colors.blue.600"); + stroke: theme("colors.blue.700"); } } } @@ -161,8 +161,8 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-fuchsia-100; svg * { - stroke: theme("colors.fuchsia.600"); - fill: theme("colors.fuchsia.600") !important; + stroke: theme("colors.fuchsia.700"); + fill: theme("colors.fuchsia.700") !important; } } @@ -170,12 +170,12 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-purple-100; svg * { - stroke: theme("colors.purple.600"); - fill: theme("colors.purple.600"); + stroke: theme("colors.purple.700"); + fill: theme("colors.purple.700"); } svg rect { - fill: theme("colors.purple.600"); + fill: theme("colors.purple.700"); } } @@ -183,8 +183,8 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-violet-100; svg * { - stroke: theme("colors.violet.600"); - fill: theme("colors.violet.600") !important; + stroke: theme("colors.violet.700"); + fill: theme("colors.violet.700") !important; } } @@ -192,8 +192,8 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-blue-100; svg * { - stroke: theme("colors.blue.600"); - fill: theme("colors.blue.600") !important; + stroke: theme("colors.blue.700"); + fill: theme("colors.blue.700") !important; } } } @@ -251,11 +251,11 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-fuchsia-100; svg * { - stroke: theme("colors.fuchsia.600"); + stroke: theme("colors.fuchsia.700"); } svg rect { - fill: theme("colors.fuchsia.600"); + fill: theme("colors.fuchsia.700"); } } @@ -263,11 +263,11 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-purple-100; svg * { - stroke: theme("colors.purple.600"); + stroke: theme("colors.purple.700"); } svg rect { - fill: theme("colors.purple.600"); + fill: theme("colors.purple.700"); } } @@ -275,11 +275,11 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-violet-100; svg * { - stroke: theme("colors.violet.600"); + stroke: theme("colors.violet.700"); } svg rect { - fill: theme("colors.violet.600"); + fill: theme("colors.violet.700"); } } @@ -287,11 +287,11 @@ $fa-font-path: "/fonts/fontawesome"; @apply bg-blue-100; svg * { - stroke: theme("colors.blue.600"); + stroke: theme("colors.blue.700"); } svg rect { - fill: theme("colors.blue.600"); + fill: theme("colors.blue.700"); } } } diff --git a/theme/src/scss/_lists.scss b/theme/src/scss/_lists.scss index e8fb2a7a8ae2..992af254e7a4 100644 --- a/theme/src/scss/_lists.scss +++ b/theme/src/scss/_lists.scss @@ -65,7 +65,7 @@ dl { } a { - @apply text-blue-600; + @apply text-blue-700; } } @@ -124,7 +124,7 @@ dl { .property-type { @apply block font-normal font-mono mt-2 text-xs; a { - @apply text-blue-600; + @apply text-blue-700; } } diff --git a/theme/src/scss/_marketing.scss b/theme/src/scss/_marketing.scss index 2b05cfeca2f6..bc76367e91ca 100644 --- a/theme/src/scss/_marketing.scss +++ b/theme/src/scss/_marketing.scss @@ -84,7 +84,7 @@ body { } .btn-secondary { - @apply bg-white text-violet-600 border-2 border-violet-600; + @apply bg-white text-violet-700 border-2 border-violet-700; @include transition; &.disabled { @@ -92,7 +92,7 @@ body { } &:hover { - @apply bg-violet-600 text-white; + @apply bg-violet-700 text-white; } &:focus { @@ -101,13 +101,13 @@ body { } // Make the borders transparent when the button is over a background of the same color. - .bg-violet-600 .btn-secondary { + .bg-violet-700 .btn-secondary { @apply border-transparent; } - // white secondary button for violet-600 background + // white secondary button for violet-700 background .btn-secondary-home-action { - @apply bg-violet-600 text-white border-2 border-white whitespace-normal; + @apply bg-violet-700 text-white border-2 border-white whitespace-normal; @include transition; &.disabled { diff --git a/theme/src/scss/_mixins.scss b/theme/src/scss/_mixins.scss index 12ae61b71142..0fee03bcaab1 100644 --- a/theme/src/scss/_mixins.scss +++ b/theme/src/scss/_mixins.scss @@ -22,11 +22,11 @@ } @mixin gradient-background() { - background: linear-gradient(90deg, #be5188 0%, theme("colors.violet.600") 100%); + background: linear-gradient(90deg, #be5188 0%, theme("colors.violet.700") 100%); } @mixin gradient-button { - @apply relative text-white bg-violet-600 border-violet-600 border-2 rounded-lg cursor-pointer z-auto; + @apply relative text-white bg-violet-700 border-violet-700 border-2 rounded-lg cursor-pointer z-auto; &:hover { @apply no-underline; @@ -68,6 +68,6 @@ } &:focus { - @apply bg-blue-600 border-blue-600; + @apply bg-blue-700 border-blue-700; } } diff --git a/theme/src/scss/_search.scss b/theme/src/scss/_search.scss index b6ba8375ab5f..f0db77766815 100644 --- a/theme/src/scss/_search.scss +++ b/theme/src/scss/_search.scss @@ -11,7 +11,7 @@ @apply flex flex-grow gap-3 items-center font-display text-base py-3 px-6 border-b-4 mt-1 border-transparent text-gray-700; &.tab-selected { - @apply font-bold border-violet-600 text-gray-900 bg-gray-100; + @apply font-bold border-violet-700 text-gray-900 bg-gray-100; } img { diff --git a/theme/src/scss/components/_audio.scss b/theme/src/scss/components/_audio.scss index fa7113348342..dbc3167bdc00 100644 --- a/theme/src/scss/components/_audio.scss +++ b/theme/src/scss/components/_audio.scss @@ -3,7 +3,7 @@ $orange400: theme("colors.orange.400"); $orange600: theme("colors.orange.600"); $blue400: theme("colors.blue.400"); -$blue600: theme("colors.blue.600"); +$blue600: theme("colors.blue.700"); $green200: theme("colors.green.200"); $green400: theme("colors.green.400"); diff --git a/theme/src/scss/components/_convert.scss b/theme/src/scss/components/_convert.scss index e1e4f6d42591..37188b278727 100644 --- a/theme/src/scss/components/_convert.scss +++ b/theme/src/scss/components/_convert.scss @@ -66,7 +66,7 @@ pulumi-convert { p { a { - @apply text-blue-600; + @apply text-blue-700; &:hover { @apply underline; diff --git a/theme/src/scss/docs/_packages.scss b/theme/src/scss/docs/_packages.scss index d64078e7c0b7..fb07a4232b83 100644 --- a/theme/src/scss/docs/_packages.scss +++ b/theme/src/scss/docs/_packages.scss @@ -135,7 +135,7 @@ .all-packages .package { a:hover { .title { - @apply text-blue-600 underline; + @apply text-blue-700 underline; } } } diff --git a/theme/src/scss/main.scss b/theme/src/scss/main.scss index 33ff647ddc98..0dccf7eca865 100644 --- a/theme/src/scss/main.scss +++ b/theme/src/scss/main.scss @@ -160,7 +160,7 @@ main { blockquote, table { a { - @apply text-blue-600 break-words; + @apply text-blue-700 break-words; &:hover { @apply text-blue-700; @@ -221,14 +221,14 @@ main { @apply lowercase border border-blue-200 rounded py-1 px-2 mr-1; &.tag-blog { - @apply bg-gray-100 text-blue-600; + @apply bg-gray-100 text-blue-700; &:hover { @apply border-blue-300 text-blue-700 no-underline; } &.active { - @apply border-blue-600 bg-blue-600 text-white; + @apply border-blue-700 bg-blue-700 text-white; &:hover { @apply text-white; @@ -403,7 +403,7 @@ section.newsletter-input pulumi-hubspot-form input.hs-input { } #segment-consent-manager { - @apply text-black fixed bottom-0 right-0 left-0 m-4 border-2 border-violet-600 rounded-lg shadow-lg; + @apply text-black fixed bottom-0 right-0 left-0 m-4 border-2 border-violet-700 rounded-lg shadow-lg; z-index: 99999; @screen lg { @@ -432,7 +432,7 @@ section.newsletter-input pulumi-hubspot-form input.hs-input { } .manage-cookies-btn { - @apply mt-2 bg-violet-600 text-white font-bold border-2 border-violet-600 no-underline p-3 rounded-md; + @apply mt-2 bg-violet-700 text-white font-bold border-2 border-violet-700 no-underline p-3 rounded-md; @include transition; &.disabled { diff --git a/theme/src/scss/marketing/_pricing.scss b/theme/src/scss/marketing/_pricing.scss index b581f282691b..a8ab643a7c7b 100644 --- a/theme/src/scss/marketing/_pricing.scss +++ b/theme/src/scss/marketing/_pricing.scss @@ -74,7 +74,7 @@ } .compare-table-link { - @apply underline text-blue-600; + @apply underline text-blue-700; } } } @@ -93,7 +93,7 @@ } li[data-faq-label="#{$filter-type}"] { - @apply border-b-4 border-solid border-blue-600; + @apply border-b-4 border-solid border-blue-700; a { @apply text-black; diff --git a/theme/src/scss/marketing/_product.scss b/theme/src/scss/marketing/_product.scss index e5d998aa4d38..60ff76019415 100644 --- a/theme/src/scss/marketing/_product.scss +++ b/theme/src/scss/marketing/_product.scss @@ -3,7 +3,7 @@ @apply text-gray-700 underline; &:hover { - @apply text-blue-600; + @apply text-blue-700; } } } diff --git a/theme/src/scss/marketing/_shape-backgrounds.scss b/theme/src/scss/marketing/_shape-backgrounds.scss index cab8bfeb42fd..a0b03e0e0a82 100644 --- a/theme/src/scss/marketing/_shape-backgrounds.scss +++ b/theme/src/scss/marketing/_shape-backgrounds.scss @@ -33,7 +33,7 @@ } .circle-bottom-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 12rem; height: 12rem; left: 0rem; @@ -51,7 +51,7 @@ &.about-what-we-believe { .circle-top-left { - @apply rounded-full absolute bg-fuchsia-600; + @apply rounded-full absolute bg-fuchsia-700; width: 22rem; height: 22rem; left: .75rem; @@ -75,7 +75,7 @@ } .circle-bottom-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 5.5rem; height: 5.5rem; left: 0rem; @@ -165,7 +165,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 10.5rem; height: 10.5rem; left: -5.25rem; @@ -173,7 +173,7 @@ } .circle-right { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 20.25rem; height: 20.25rem; right: -1.5rem; @@ -201,7 +201,7 @@ &.home-video-section { .circle-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 13.75rem; height: 13.75rem; left: 2rem; @@ -300,7 +300,7 @@ .circle-left, .circle-right { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; } .circle-left { @@ -333,7 +333,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 20.25rem; height: 20.25rem; left: -1.5rem; @@ -341,7 +341,7 @@ } .circle-right { - @apply rounded-full absolute bg-purple-600 top-0; + @apply rounded-full absolute bg-purple-700 top-0; width: 10.5rem; height: 10.5rem; right: -5.25rem; @@ -486,7 +486,7 @@ &.cloud-engineering-manage-section { .circle-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 20.25rem; height: 20.25rem; left: -10rem; @@ -494,7 +494,7 @@ } .circle-right { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 8.313rem; height: 8.313rem; right: 6rem; @@ -522,7 +522,7 @@ &.cloud-engineering-use-cases-section { .circle-right { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 13.25rem; height: 13.25rem; right: -6.125rem; @@ -570,7 +570,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 12.75rem; height: 12.75rem; left: -6.375rem; @@ -701,7 +701,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 12.5rem; height: 12.5rem; left: -6.25rem; @@ -719,7 +719,7 @@ } .circle-right { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 12.5rem; height: 12.5rem; right: -6.25rem; @@ -744,7 +744,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 12.5rem; height: 12.5rem; left: -6.25rem; @@ -807,7 +807,7 @@ } .circle-bottom { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 20.25rem; height: 20.25rem; bottom: -2rem; @@ -819,7 +819,7 @@ height: 48rem; .circle-right { - @apply rounded-full absolute bg-blue-600; + @apply rounded-full absolute bg-blue-700; width: 19rem; height: 19rem; right: -8.5rem; @@ -827,7 +827,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 12.75rem; height: 12.75rem; left: -6.375rem; @@ -855,7 +855,7 @@ &.automation-video { .circle-left { - @apply rounded-full absolute bg-violet-600; + @apply rounded-full absolute bg-violet-700; width: 5rem; height: 5rem; left: -2.5rem; @@ -863,7 +863,7 @@ } .circle-right { - @apply rounded-full absolute bg-fuchsia-600; + @apply rounded-full absolute bg-fuchsia-700; width: 8rem; height: 8rem; right: -4rem; @@ -901,7 +901,7 @@ &.pulumi-service-capabilities { .circle-top { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 19rem; height: 19rem; right: -9.5rem; @@ -927,7 +927,7 @@ &.pulumi-service-security { .circle-right { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 20rem; height: 20rem; left: -10rem; @@ -937,7 +937,7 @@ &.self-hosted-overview { .circle-right { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 12rem; height: 12rem; right: -7rem; @@ -973,7 +973,7 @@ } .circle-left { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 12.75rem; height: 12.75rem; left: -6rem; @@ -1001,7 +1001,7 @@ &.developer-advocates-giveaway-section { .circle-top { - @apply rounded-full absolute bg-purple-600; + @apply rounded-full absolute bg-purple-700; width: 10rem; height: 10rem; right: -4.5rem; diff --git a/theme/src/ts/pulumi-cloud.ts b/theme/src/ts/pulumi-cloud.ts index 83178a240c16..22a847eddee7 100644 --- a/theme/src/ts/pulumi-cloud.ts +++ b/theme/src/ts/pulumi-cloud.ts @@ -8,11 +8,11 @@ $(function () { productTabs.forEach(id => { if (id !== tab) { $(`#${id}-content`).addClass("hidden"); - $(`#${id}`).removeClass("border-blue-600"); + $(`#${id}`).removeClass("border-blue-700"); $(`#${id}-text`).removeClass("rainbow-text"); } }); - $(`#${tab}`).addClass("border-blue-600"); + $(`#${tab}`).addClass("border-blue-700"); $(`#${tab}-text`).addClass("rainbow-text") $(`#${tab}-content`).removeClass("hidden") }); @@ -23,11 +23,11 @@ $(function () { capabilityTabs.forEach(id => { if (id !== tab) { $(`#${id}-content`).addClass("hidden"); - $(`#${id}`).removeClass("border-blue-600"); + $(`#${id}`).removeClass("border-blue-700"); $(`#${id}-text`).removeClass("rainbow-text"); } }); - $(`#${tab}`).addClass("border-blue-600"); + $(`#${tab}`).addClass("border-blue-700"); $(`#${tab}-text`).addClass("rainbow-text") $(`#${tab}-content`).removeClass("hidden") });