From f49ec465d07e8e21c8e5d7943620873566eeaf83 Mon Sep 17 00:00:00 2001 From: Pavel Sviderski Date: Fri, 9 May 2025 22:38:58 +1000 Subject: [PATCH] chore: bring terminal on landing back, update hero, move demo to bottom --- website/index.html | 85 ++++++++++++++++++++++++++++++++----------- website/style.css | 89 +++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 149 insertions(+), 25 deletions(-) diff --git a/website/index.html b/website/index.html index c3540019..2fc10e10 100644 --- a/website/index.html +++ b/website/index.html @@ -61,7 +61,7 @@ - +
  • @@ -86,13 +86,13 @@

    - Run on your servers
    - Cut cloud costs + Stay simple
    + Ship more

    - Uncloud is a lightweight Docker clustering tool for running web apps on your own servers + Uncloud is a lightweight Docker clustering tool for running and scaling web apps on your servers — from cloud VMs to bare metal. - Replace Heroku and Render, no Kubernetes required. + No Kubernetes required.

    @@ -117,16 +117,31 @@
    -
    - - - - +
    + +
    +
    +
    +
    +
    +
    +
    + +
    +
    # Start with any cloud VM or your own server
    +
    $ uc machine init root@137.123.45.67
    + +
     
    +
    # Deploy your app with automatic HTTPS
    +
    $ uc run --name my-app -p app.example.com:8000/https app-image:latest
    +
    ✨ Your app is available at https://app.example.com
    + +
     
    +
    # Achieve high availability by adding more machines and scaling the app
    +
    $ uc machine add ubuntu@65.21.45.67
    +
    $ uc scale my-app 2
    +
    @@ -141,7 +156,7 @@ Cloud-like experience you control

    - Keep the Docker workflows you love while optimizing infrastructure costs + Keep the Docker workflows you love while optimising infrastructure costs

    @@ -362,7 +377,7 @@
    - +
    - Fully decentralized + Fully decentralised
    Unlike traditional orchestrators, there's no central control plane to - maintain. Each machine maintains a synchronized copy of the cluster + maintain. Each machine maintains a synchronised copy of the cluster state through peer-to-peer communication, keeping cluster operations functional @@ -502,7 +517,7 @@

    No vendor lock-in

    Mix cloud providers and your own hardware freely to - optimize costs and performance, without changing how you deploy or manage apps.

    + optimise costs and performance, without changing how you deploy or manage apps.

    @@ -510,9 +525,37 @@ + +
    +
    +
    +
    +

    + See in action +

    +

    + Deploy a highly available web app with automatic HTTPS across multiple regions and on-premises in just a couple minutes. +

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

    diff --git a/website/style.css b/website/style.css index e9c8fb1d..32ea2fbb 100644 --- a/website/style.css +++ b/website/style.css @@ -1314,6 +1314,14 @@ input[type="search"]::-webkit-search-results-decoration { height: 3.5rem; } +.h-2{ + height: 0.5rem; +} + +.h-2\.5{ + height: 0.625rem; +} + .h-24{ height: 6rem; } @@ -1334,6 +1342,14 @@ input[type="search"]::-webkit-search-results-decoration { min-height: 100vh; } +.w-2{ + width: 0.5rem; +} + +.w-2\.5{ + width: 0.625rem; +} + .w-4{ width: 1rem; } @@ -1402,6 +1418,12 @@ input[type="search"]::-webkit-search-results-decoration { transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } +.select-none{ + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} + .grid-cols-1{ grid-template-columns: repeat(1, minmax(0, 1fr)); } @@ -1446,6 +1468,10 @@ input[type="search"]::-webkit-search-results-decoration { justify-content: space-between; } +.gap-2{ + gap: 0.5rem; +} + .gap-3{ gap: 0.75rem; } @@ -1508,6 +1534,10 @@ input[type="search"]::-webkit-search-results-decoration { overflow: hidden; } +.overflow-x-auto{ + overflow-x: auto; +} + .rounded{ border-radius: 0.25rem; } @@ -1586,6 +1616,10 @@ input[type="search"]::-webkit-search-results-decoration { border-color: rgb(228 228 231 / var(--tw-border-opacity)); } +.border-zinc-700\/50{ + border-color: rgb(63 63 70 / 0.5); +} + .bg-gray-100{ --tw-bg-opacity: 1; background-color: rgb(243 244 246 / var(--tw-bg-opacity)); @@ -1596,11 +1630,26 @@ input[type="search"]::-webkit-search-results-decoration { background-color: rgb(229 231 235 / var(--tw-bg-opacity)); } +.bg-green-500{ + --tw-bg-opacity: 1; + background-color: rgb(34 197 94 / var(--tw-bg-opacity)); +} + +.bg-red-500{ + --tw-bg-opacity: 1; + background-color: rgb(239 68 68 / var(--tw-bg-opacity)); +} + .bg-white{ --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity)); } +.bg-yellow-500{ + --tw-bg-opacity: 1; + background-color: rgb(234 179 8 / var(--tw-bg-opacity)); +} + .bg-zinc-50{ --tw-bg-opacity: 1; background-color: rgb(250 250 250 / var(--tw-bg-opacity)); @@ -1652,6 +1701,10 @@ input[type="search"]::-webkit-search-results-decoration { stroke: #a1a1aa; } +.p-4{ + padding: 1rem; +} + .p-5{ padding: 1.25rem; } @@ -1719,10 +1772,18 @@ input[type="search"]::-webkit-search-results-decoration { padding-bottom: 1rem; } +.pl-4{ + padding-left: 1rem; +} + .pt-32{ padding-top: 8rem; } +.pt-4{ + padding-top: 1rem; +} + .pt-6{ padding-top: 1.5rem; } @@ -1836,6 +1897,11 @@ input[type="search"]::-webkit-search-results-decoration { color: transparent; } +.text-white{ + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + .text-zinc-100{ --tw-text-opacity: 1; color: rgb(244 244 245 / var(--tw-text-opacity)); @@ -1861,6 +1927,11 @@ input[type="search"]::-webkit-search-results-decoration { color: rgb(82 82 91 / var(--tw-text-opacity)); } +.text-zinc-800{ + --tw-text-opacity: 1; + color: rgb(39 39 42 / var(--tw-text-opacity)); +} + .text-zinc-900{ --tw-text-opacity: 1; color: rgb(24 24 27 / var(--tw-text-opacity)); @@ -1887,6 +1958,12 @@ input[type="search"]::-webkit-search-results-decoration { box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } +.shadow-lg{ + --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + .shadow-sm{ --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); @@ -2197,10 +2274,18 @@ input[type="search"]::-webkit-search-results-decoration { margin-bottom: calc(0px * var(--tw-space-y-reverse)); } + .sm\:p-6{ + padding: 1.5rem; + } + .sm\:px-6{ padding-left: 1.5rem; padding-right: 1.5rem; } + + .sm\:text-\[0\.9375rem\]{ + font-size: 0.9375rem; + } } @media (min-width: 768px){ @@ -2212,10 +2297,6 @@ input[type="search"]::-webkit-search-results-decoration { margin-bottom: 0px; } - .md\:min-h-\[420px\]{ - min-height: 420px; - } - .md\:max-w-4xl{ max-width: 56rem; }