From a861f93044ff2a248b54b26f8d78d2965899c2d0 Mon Sep 17 00:00:00 2001 From: neverland Date: Thu, 20 Aug 2026 12:45:44 +0800 Subject: [PATCH 1/4] feat(website): add release link to homepage hero --- website/theme/components/Hero.module.scss | 43 ++++++++++++++++++++--- website/theme/components/Hero.tsx | 17 +++++++++ 2 files changed, 55 insertions(+), 5 deletions(-) diff --git a/website/theme/components/Hero.module.scss b/website/theme/components/Hero.module.scss index f8ea6892..c35cb6cd 100644 --- a/website/theme/components/Hero.module.scss +++ b/website/theme/components/Hero.module.scss @@ -15,8 +15,8 @@ align-items: center; justify-content: center; box-sizing: border-box; - min-height: calc(100svh - var(--rp-nav-height)); - padding: clamp(3.75rem, 7.5vh, 6rem) 2rem; + min-height: calc(80svh - var(--rp-nav-height)); + padding: clamp(3.75rem, 7.5vh, 6rem) 2rem 0; overflow: hidden; background: var(--rp-c-bg); } @@ -44,6 +44,33 @@ transform: translateY(-1.5rem); } +.releaseLink { + display: inline-flex; + align-items: center; + margin-bottom: clamp(1.5rem, 3vh, 2.5rem); + color: var(--hero-text); + font-size: 0.875rem; + font-weight: 400; + line-height: 1.5; + text-decoration-line: underline; + text-decoration-color: transparent; + text-decoration-thickness: 1px; + text-underline-offset: 0.25em; + transition: + color 0.2s ease, + text-decoration-color 0.2s ease; + + &:hover { + color: var(--hero-title); + text-decoration-color: currentcolor; + } + + &:focus-visible { + outline: 2px solid var(--rp-c-brand); + outline-offset: 3px; + } +} + .title { margin: 0; color: var(--hero-title); @@ -132,8 +159,8 @@ @media (max-width: 640px) { .hero { - min-height: calc(100svh - var(--rp-nav-height)); - padding: 3.25rem 1.25rem; + min-height: calc(80svh - var(--rp-nav-height)); + padding: 3.25rem 1.25rem 0; } .title { @@ -142,6 +169,11 @@ letter-spacing: -0.055em; } + .releaseLink { + margin-bottom: 1.5rem; + font-size: 0.8125rem; + } + .description { max-width: 30rem; margin-top: 2rem; @@ -162,7 +194,8 @@ } @media (prefers-reduced-motion: reduce) { - .link { + .link, + .releaseLink { transition: none; } } diff --git a/website/theme/components/Hero.tsx b/website/theme/components/Hero.tsx index 00b18e29..8d076bc2 100644 --- a/website/theme/components/Hero.tsx +++ b/website/theme/components/Hero.tsx @@ -1,9 +1,24 @@ import { useI18n } from '@rspress/core/runtime'; import { Link } from '@rspress/core/theme-original'; +import rstackPackage from 'rstack/package.json'; import { useI18nUrl } from './utils'; import styles from './Hero.module.scss'; const githubUrl = 'https://github.com/rstackjs/rstack-cli'; +const releasesUrl = `${githubUrl}/releases`; + +function ReleaseLink() { + return ( + + Latest release v{rstackPackage.version} + + ); +} export function Hero() { const tUrl = useI18nUrl(); @@ -12,6 +27,8 @@ export function Hero() { return (
+ +

{t('title')} {t('subtitle')} From 86f16664b5050ec53baa13fb98d49efebb61f95a Mon Sep 17 00:00:00 2001 From: neverland Date: Thu, 20 Aug 2026 12:53:08 +0800 Subject: [PATCH 2/4] fix --- website/theme/components/Hero.module.scss | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/website/theme/components/Hero.module.scss b/website/theme/components/Hero.module.scss index c35cb6cd..c58dfbcc 100644 --- a/website/theme/components/Hero.module.scss +++ b/website/theme/components/Hero.module.scss @@ -1,7 +1,6 @@ .hero { --hero-title: #111214; - --hero-title-muted: #747474; - --hero-text: #707174; + --hero-text: #848484; --hero-primary-bg: #111214; --hero-primary-bg-hover: #383838; --hero-primary-text: #fff; @@ -23,8 +22,7 @@ :global(.dark) .hero { --hero-title: #f5f5f5; - --hero-title-muted: #9a9a9a; - --hero-text: #a1a3a6; + --hero-text: #9a9a9a; --hero-primary-bg: #f2f2f2; --hero-primary-bg-hover: #fff; --hero-primary-text: #111214; @@ -86,7 +84,7 @@ } .subtitle { - color: var(--hero-title-muted); + color: var(--hero-text); } .description { @@ -152,7 +150,7 @@ &:hover { color: var(--hero-secondary-text); - border-color: var(--hero-title-muted); + border-color: var(--hero-text); background: var(--hero-secondary-bg-hover); } } From 4c0cf6c424a939465edac23275edd1140e889784 Mon Sep 17 00:00:00 2001 From: neverland Date: Thu, 20 Aug 2026 12:55:04 +0800 Subject: [PATCH 3/4] fix --- website/theme/components/Hero.module.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/theme/components/Hero.module.scss b/website/theme/components/Hero.module.scss index c58dfbcc..1ee413ae 100644 --- a/website/theme/components/Hero.module.scss +++ b/website/theme/components/Hero.module.scss @@ -91,9 +91,9 @@ max-width: 42rem; margin: clamp(2.5rem, 5vh, 3.75rem) 0 0; color: var(--hero-text); - font-size: clamp(1rem, 2vw, 1.25rem); + font-size: clamp(1rem, 2vw, 1.2rem); font-weight: 400; - line-height: 1.5; + line-height: 1.6; letter-spacing: -0.02em; text-wrap: balance; } From d7bbcfcc4e00d7bae96d83cffa92eef51cf19579 Mon Sep 17 00:00:00 2001 From: neverland Date: Thu, 20 Aug 2026 13:07:53 +0800 Subject: [PATCH 4/4] fix --- website/i18n.json | 4 ++++ website/theme/components/Hero.tsx | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/website/i18n.json b/website/i18n.json index f11e6b2c..f9e061fd 100644 --- a/website/i18n.json +++ b/website/i18n.json @@ -11,6 +11,10 @@ "en": "GitHub", "zh": "GitHub" }, + "latestRelease": { + "en": "Latest release", + "zh": "最新版本" + }, "title": { "en": "Unified Toolchain for", "zh": "统一工具链" diff --git a/website/theme/components/Hero.tsx b/website/theme/components/Hero.tsx index 8d076bc2..7af8abb1 100644 --- a/website/theme/components/Hero.tsx +++ b/website/theme/components/Hero.tsx @@ -7,7 +7,7 @@ import styles from './Hero.module.scss'; const githubUrl = 'https://github.com/rstackjs/rstack-cli'; const releasesUrl = `${githubUrl}/releases`; -function ReleaseLink() { +function ReleaseLink({ label }: { label: string }) { return ( - Latest release v{rstackPackage.version} + {label} v{rstackPackage.version} ); } @@ -27,7 +27,7 @@ export function Hero() { return (
- +

{t('title')}