From 451e8cff2f75eef11dcdc0756f66bbd14e466683 Mon Sep 17 00:00:00 2001 From: dongjiang Date: Wed, 17 Jun 2026 10:58:02 +0800 Subject: [PATCH] release v0.2.0 Signed-off-by: dongjiang --- .cache/project-stats.json | 28 +- .gitignore | 5 + CHANGELOG.md | 8 + package-lock.json | 15 +- package.json | 2 +- src/components/common/BasicScripts.astro | 1 + src/components/widgets/Footer.astro | 1 - src/components/widgets/Stats.astro | 33 ++- src/content.config.ts | 1 + src/data/adopters/chinatelecom.yaml | 4 + src/data/adopters/donghua.yaml | 4 + src/data/adopters/fiberhome.yaml | 4 + src/data/adopters/foxit.yaml | 4 + src/data/adopters/guangwu.yaml | 4 + src/data/adopters/shandongyungu.yaml | 4 + src/data/adopters/xiangyang-dongsheng.yaml | 4 + src/data/adopters/xiaoqu.yaml | 4 + src/data/adopters/yugou.yaml | 4 + src/data/adopters/yunsuan.yaml | 4 + src/pages/adopters.astro | 320 +++++++++++++++++++-- src/pages/contribute.astro | 33 ++- src/utils/translations.ts | 7 + 22 files changed, 454 insertions(+), 40 deletions(-) diff --git a/.cache/project-stats.json b/.cache/project-stats.json index 53cddcb..0a11c08 100644 --- a/.cache/project-stats.json +++ b/.cache/project-stats.json @@ -1,40 +1,40 @@ { - "updated_at": "2026-06-16T20:46:22.417Z", + "updated_at": "2026-06-17T02:56:48.134Z", "repos": { "iflytek/astron-agent": { - "stars": 8565, - "forks": 853, - "updated_at": "2026-06-16T20:46:20.778Z" + "stars": 8566, + "forks": 852, + "updated_at": "2026-06-17T02:56:47.515Z" }, "iflytek/astron-rpa": { - "stars": 5178, - "forks": 577, - "updated_at": "2026-06-16T20:46:21.050Z" + "stars": 5179, + "forks": 579, + "updated_at": "2026-06-17T02:56:47.623Z" }, "iflytek/astronclaw-tutorial": { "stars": 410, "forks": 43, - "updated_at": "2026-06-16T20:46:21.308Z" + "updated_at": "2026-06-17T02:56:47.727Z" }, "harnessclaw/harnessclaw-engine": { "stars": 266, "forks": 91, - "updated_at": "2026-06-16T20:46:21.610Z" + "updated_at": "2026-06-17T02:56:47.833Z" }, "harnessclaw/harnessclaw": { "stars": 316, "forks": 82, - "updated_at": "2026-06-16T20:46:21.873Z" + "updated_at": "2026-06-17T02:56:47.932Z" }, "iflytek/iFly-Skills": { "stars": 186, "forks": 24, - "updated_at": "2026-06-16T20:46:22.153Z" + "updated_at": "2026-06-17T02:56:48.033Z" }, "iflytek/skillhub": { - "stars": 3490, - "forks": 505, - "updated_at": "2026-06-16T20:46:22.417Z" + "stars": 3491, + "forks": 508, + "updated_at": "2026-06-17T02:56:48.134Z" } } } \ No newline at end of file diff --git a/.gitignore b/.gitignore index 93da215..fb1f353 100644 --- a/.gitignore +++ b/.gitignore @@ -88,3 +88,8 @@ ehthumbs_vista.db # ============================================ public/images/watermarked/ +# ============================================ +# Build-generated community files +# ============================================ +.github/ISSUE_TEMPLATE/repo-create.yml + diff --git a/CHANGELOG.md b/CHANGELOG.md index 2900651..9660a4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +## [0.2.0] - 2026-06-17 + ### Added - **i18n Language Toggle**: Client-side 中文/EN toggle button in header (`ToggleLanguage.astro`), persisted via `localStorage.lang`, effective across all pages without reload @@ -35,6 +37,11 @@ All notable changes to this project will be documented in this file. - **Home**: Add card containers with hover animation to 6 feature sections (上移、阴影、边框高亮、标题变色、图标放大) - **Copyright**: Use dynamic year `${new Date().getFullYear()}` instead of hardcoded 2026 - **Blog i18n Link Fix**: `BlogHighlightedPosts.astro` and `BlogLatestPosts.astro` now use `set:html` for `linkText` to properly render `data-i18n` attributes (was rendering raw HTML tags as text). Homepage passes i18n-aware `linkText` to `BlogLatestPosts` +- **Stats Mobile Layout Fix**: Merged icon/amount and label into same container so labels stay aligned with their values on mobile; removed `min-w-[220px]` to keep 4 items in one row on desktop +- **Adopters Modal**: Click any adopter card to open a macOS/iOS-style frosted-glass detail modal with logo, full scenario, delivery and outcome sections. URL hash routing (`#adopter-{slug}`) for direct linking. Mobile bottom sheet, desktop centered. i18n-aware (zh/en), ESC/overlay close, language toggle sync +- **Adopters Tags i18n**: Add `tagsEn` field to all 10 adopter YAML files and content schema. Card tags use `data-lang-zh`/`data-lang-en` for language switching. Modal JS selects `tagsEn`/`tags` based on current language +- **Adopters Disclaimer**: Add `* 以上案例已获用户授权同意展示` / `* All cases shown have been authorized by the users` footer note below marquee sections, using `data-i18n` translation key +- **Contribute Cold-Start Optimization**: `contribute.astro` now reads `.cache/contributors.json` first (committed with build, served from Vercel filesystem) for instant render on cold start. Live GitHub API fetch runs in background to refresh cache. Previous logic (API → cache fallback) inverted to cache → API refresh ### Changed @@ -48,6 +55,7 @@ All notable changes to this project will be documented in this file. - **Stats Layout**: Amounts row (7, 18.4K, 2.2K, Apache 2.0) and labels row (开源项目, GitHub Stars, Forks, 开源协议) now render as two separate flex rows in `Stats.astro` — amounts on top line, labels on bottom line - **Contribute PR Workflow**: Step descriptions now bilingual (`descZh`/`descEn`) with `data-lang-zh`/`data-lang-en` switching - **Brand Name i18n**: "iFLYTEK Open Source" displays as "科大讯飞开源" in Chinese mode across logo, header, homepage title, and all widget default texts via `data-lang-zh`/`data-lang-en` +- **Language Change Event**: `BasicScripts.astro` language toggle now dispatches `CustomEvent('languagechange')` so page-specific scripts (e.g. adopters modal) can react and re-render when language switches - **Font Stack**: Add `'PingFang SC'` to `--font-sans` and `--font-heading` CSS font stacks (Apple device local font only, no `@font-face` or font file upload) - **Blog Watermark Architecture**: Watermark images now pre-baked to `public/images/watermarked/` via `scripts/watermark-images.ts`; originals in `src/assets/images/` remain untouched; `` resolves watermarked copies via `findWatermarkedImage()` - **Blog Detail Page**: Move featured image below article body; hide title/excerpt in header (`sr-only` for SEO); reduce prose font size to `prose-sm lg:prose-lg` diff --git a/package-lock.json b/package-lock.json index 4ab5335..a67f162 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@iflytek/website", - "version": "1.0.0", + "version": "0.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@iflytek/website", - "version": "1.0.0", + "version": "0.2.0", "dependencies": { "@astrojs/rss": "^4.0.18", "@astrojs/sitemap": "^3.7.3", @@ -8075,6 +8075,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -8095,6 +8096,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -8115,6 +8117,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -8135,6 +8138,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -8155,6 +8159,7 @@ "cpu": [ "arm" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -8175,6 +8180,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -8195,6 +8201,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -8215,6 +8222,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -8235,6 +8243,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -8255,6 +8264,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ @@ -8275,6 +8285,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MPL-2.0", "optional": true, "os": [ diff --git a/package.json b/package.json index 56ca32c..7ec2e76 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@iflytek/website", - "version": "1.0.0", + "version": "0.2.0", "description": "iFLYTEK Open Source Website - Showcasing open source projects, blog, events and community contributions.", "type": "module", "private": true, diff --git a/src/components/common/BasicScripts.astro b/src/components/common/BasicScripts.astro index 012656a..cb58c17 100644 --- a/src/components/common/BasicScripts.astro +++ b/src/components/common/BasicScripts.astro @@ -150,6 +150,7 @@ import { translations } from '~/utils/translations'; const lang = elem.getAttribute('data-aw-lang-btn'); localStorage.lang = lang; applyLanguage(lang); + document.dispatchEvent(new CustomEvent('languagechange', { detail: { lang } })); }); attachEvent('[data-aw-social-share]', 'click', function (_, elem) { diff --git a/src/components/widgets/Footer.astro b/src/components/widgets/Footer.astro index c430cb5..9f66941 100644 --- a/src/components/widgets/Footer.astro +++ b/src/components/widgets/Footer.astro @@ -205,7 +205,6 @@ const { socialLinks = [], secondaryLinks = [], links = [], footNote = '', theme }); modal.dataset.wechatBound = 'true'; } - } if (!document.body.dataset.wechatEscBound) { diff --git a/src/components/widgets/Stats.astro b/src/components/widgets/Stats.astro index 9995559..f5a5aca 100644 --- a/src/components/widgets/Stats.astro +++ b/src/components/widgets/Stats.astro @@ -19,12 +19,13 @@ const { -
+ +