diff --git a/src/components/Hero.astro b/src/components/Hero.astro
new file mode 100644
index 000000000..3c35941d2
--- /dev/null
+++ b/src/components/Hero.astro
@@ -0,0 +1,31 @@
+---
+import { LinkButton } from '@astrojs/starlight/components';
+import { Image } from 'astro:assets';
+
+const { tagline, getStarted, v1Docs } = Astro.props;
+---
+
+
+
diff --git a/src/styles/custom.scss b/src/styles/custom.scss
index f2c9a34ff..647dcd925 100644
--- a/src/styles/custom.scss
+++ b/src/styles/custom.scss
@@ -1,5 +1,6 @@
@import url('./theme.scss');
@import url('./overrides.scss');
+@import url('./lp.scss');
.content details {
padding: 0 1rem;
@@ -7,7 +8,7 @@
.content details[open] {
background-color: var(--sl-color-gray-6);
- padding-bottom: rem;
+ padding-bottom: 1rem;
}
.content summary {
@@ -33,179 +34,11 @@
color: var(--sl-color-white) !important;
}
-@media (min-width: 50rem) {
- .hero {
- padding-block: clamp(2.5rem, calc(1rem + 10vmin), 5rem);
- }
-}
-
-/* Index hero background */
-.hero-bg {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- display: block;
- z-index: -1;
- opacity: 0.7;
- overflow: hidden;
- background:
- linear-gradient(-90deg, var(--sl-color-gray-6) 1px, transparent 1px),
- linear-gradient(var(--sl-color-gray-6) 1px, transparent 1px),
- linear-gradient(-90deg, var(--sl-color-gray-6) 1px, transparent 1px),
- linear-gradient(var(--sl-color-gray-6) 1px, transparent 1px),
- linear-gradient(transparent 6px, transparent 6px, transparent 156px, transparent 156px),
- linear-gradient(-90deg, var(--sl-color-gray-6) 1px, transparent 1px),
- linear-gradient(-90deg, transparent 6px, transparent 6px, transparent 156px, transparent 156px),
- linear-gradient(var(--sl-color-gray-6) 1px, transparent 1px), transparent;
- background-size:
- 32px 32px,
- 32px 32px,
- 256px 256px,
- 256px 256px,
- 256px 256px,
- 256px 256px,
- 256px 256px,
- 256px 256px;
-}
-
-/* Transition hero background grid smoothly to page background color. */
-.hero-bg::after {
- content: '';
- position: absolute;
- inset: 70% 0 0;
- background: linear-gradient(transparent, var(--sl-color-bg));
-}
-
-.bg-grad {
- position: absolute;
- top: -50%;
- left: 50%;
- width: 150vh;
- height: 150vh;
- opacity: 0.3;
- background: radial-gradient(circle, var(--sl-color-accent) 0%, transparent 70%);
- animation: 6s intro;
-}
-
-.bg-grad-red {
- position: absolute;
- top: 0%;
- left: -50%;
- width: 150vh;
- height: 150vh;
- opacity: 0.3;
- background: radial-gradient(circle, var(--sl-color-orange) 0%, transparent 70%);
- animation: 14s intro;
-}
-
-:root[data-theme='light'] {
- .bg-grad {
- opacity: 0.9;
- }
-
- .bg-grad-red {
- opacity: 1;
- }
-
- .hero-bg {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- display: block;
- z-index: -1;
- opacity: 0.4;
- overflow: hidden;
- background:
- linear-gradient(-90deg, var(--sl-color-gray-4) 1px, transparent 1px),
- linear-gradient(var(--sl-color-gray-4) 1px, transparent 1px),
- linear-gradient(-90deg, var(--sl-color-gray-4) 1px, transparent 1px),
- linear-gradient(var(--sl-color-gray-4) 1px, transparent 1px),
- linear-gradient(transparent 6px, transparent 6px, transparent 156px, transparent 156px),
- linear-gradient(-90deg, var(--sl-color-gray-4) 1px, transparent 1px),
- linear-gradient(-90deg,
- transparent 6px,
- transparent 6px,
- transparent 156px,
- transparent 156px),
- linear-gradient(var(--sl-color-gray-5) 1px, transparent 1px), transparent;
- background-size:
- 32px 32px,
- 32px 32px,
- 256px 256px,
- 256px 256px,
- 256px 256px,
- 256px 256px,
- 256px 256px,
- 256px 256px;
- }
-}
-
-/* Tauri logo on index page */
-.hero>img {
- animation: 3s intro;
- z-index: 10;
- position: relative;
- margin-bottom: -160px;
- opacity: 0.2;
-}
-
-
-
-
-@media (min-width: 50rem) {
- .hero>img {
- z-index: 10;
- margin: 0;
- opacity: 0.7;
-
- }
-}
.sl-markdown-content .inline-icon {
display: inline-block;
}
-:root[data-theme='light'] .hero>img {
- filter: invert(1);
-}
-
-@keyframes intro {
- 0% {
- scale: 1.4;
- opacity: 0;
- }
-
- 80% {
- scale: 0.9;
- }
-
- 100% {
- opacity: 0.2;
- }
-}
-
-@media (prefers-reduced-motion) {
- * {
- transition: none !important;
- }
-}
-
-.lp-cta-card {
- z-index: 100;
- position: relative;
-}
-
-@media (min-width: 50rem) {
- .lp-cta-card {
- margin-top: -8em;
- }
-}
-
-
article.card {
border-radius: 0.5rem;
}
diff --git a/src/styles/lp.scss b/src/styles/lp.scss
new file mode 100644
index 000000000..81df83b15
--- /dev/null
+++ b/src/styles/lp.scss
@@ -0,0 +1,199 @@
+.lp-tauri-logo {
+ max-width: 360px;
+ // margin-inline: auto;
+}
+
+:root[data-theme='light'] {
+ .lp-tauri-logo.light {
+ display: block;
+ }
+
+ .lp-tauri-logo.dark {
+ display: none;
+ }
+}
+
+.lp-tauri-logo.light {
+ display: none;
+}
+
+.lp-content {
+ margin-block: 2rem;
+ margin-inline: auto;
+ min-height: 360px;
+}
+
+.lp-header {
+ display: grid;
+ grid-template-columns: 7fr 3fr;
+ gap: 3%;
+ padding-bottom: 2em;
+ align-items: center;
+}
+
+
+.lp-tagline {
+ font-size: 1.2rem;
+ font-weight: 600;
+ margin-bottom: 1rem;
+ position: relative;
+}
+
+
+// hide h1 title
+.content-panel:has(h1#_top:not([data-page-title])) {
+ display: none;
+}
+
+
+
+.lp-hero>img {
+ animation: 3s intro;
+ animation-fill-mode: forwards;
+ transition: opacity 1s ease-in-out;
+ opacity: 0.2;
+ width: 400px;
+ height: 400px;
+ margin-block: auto;
+}
+
+@media (min-width: 50rem) {
+ .lp-hero>img {
+ opacity: 0.5;
+ }
+}
+
+@keyframes intro {
+ 0% {
+ scale: 1.8;
+ opacity: 0;
+ }
+
+ 80% {
+ scale: 1.2;
+ opacity: 0.5;
+ }
+
+ 100% {
+ scale: 1.1;
+ }
+}
+
+:root[data-theme='light'] .lp-hero>img {
+ filter: invert(1);
+}
+
+
+@media (prefers-reduced-motion) {
+ * {
+ transition: none !important;
+ }
+}
+
+
+
+
+/* Index hero background */
+.hero-bg {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ display: block;
+ z-index: -1;
+ opacity: 0.7;
+ overflow: hidden;
+ background:
+ linear-gradient(-90deg, var(--sl-color-gray-6) 1px, transparent 1px),
+ linear-gradient(var(--sl-color-gray-6) 1px, transparent 1px),
+ linear-gradient(-90deg, var(--sl-color-gray-6) 1px, transparent 1px),
+ linear-gradient(var(--sl-color-gray-6) 1px, transparent 1px),
+ linear-gradient(transparent 6px, transparent 6px, transparent 156px, transparent 156px),
+ linear-gradient(-90deg, var(--sl-color-gray-6) 1px, transparent 1px),
+ linear-gradient(-90deg, transparent 6px, transparent 6px, transparent 156px, transparent 156px),
+ linear-gradient(var(--sl-color-gray-6) 1px, transparent 1px), transparent;
+ background-size:
+ 32px 32px,
+ 32px 32px,
+ 256px 256px,
+ 256px 256px,
+ 256px 256px,
+ 256px 256px,
+ 256px 256px,
+ 256px 256px;
+}
+
+/* Transition hero background grid smoothly to page background color. */
+.hero-bg::after {
+ content: '';
+ position: absolute;
+ inset: 70% 0 0;
+ background: linear-gradient(transparent, var(--sl-color-bg));
+}
+
+.bg-grad {
+ position: absolute;
+ top: -50%;
+ left: 50%;
+ width: 150vh;
+ height: 150vh;
+ opacity: 0.3;
+ background: radial-gradient(circle, var(--sl-color-accent) 0%, transparent 70%);
+ animation: 6s intro;
+}
+
+.bg-grad-red {
+ position: absolute;
+ top: 0%;
+ left: -50%;
+ width: 150vh;
+ height: 150vh;
+ opacity: 0.3;
+ background: radial-gradient(circle, var(--sl-color-orange) 0%, transparent 70%);
+ animation: 14s intro;
+}
+
+:root[data-theme='light'] {
+ .bg-grad {
+ opacity: 0.9;
+ }
+
+ .bg-grad-red {
+ opacity: 1;
+ }
+
+ .hero-bg {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ display: block;
+ z-index: -1;
+ opacity: 0.4;
+ overflow: hidden;
+ background:
+ linear-gradient(-90deg, var(--sl-color-gray-4) 1px, transparent 1px),
+ linear-gradient(var(--sl-color-gray-4) 1px, transparent 1px),
+ linear-gradient(-90deg, var(--sl-color-gray-4) 1px, transparent 1px),
+ linear-gradient(var(--sl-color-gray-4) 1px, transparent 1px),
+ linear-gradient(transparent 6px, transparent 6px, transparent 156px, transparent 156px),
+ linear-gradient(-90deg, var(--sl-color-gray-4) 1px, transparent 1px),
+ linear-gradient(-90deg,
+ transparent 6px,
+ transparent 6px,
+ transparent 156px,
+ transparent 156px),
+ linear-gradient(var(--sl-color-gray-5) 1px, transparent 1px), transparent;
+ background-size:
+ 32px 32px,
+ 32px 32px,
+ 256px 256px,
+ 256px 256px,
+ 256px 256px,
+ 256px 256px,
+ 256px 256px,
+ 256px 256px;
+ }
+}
\ No newline at end of file