diff --git a/.cache/contributors.json b/.cache/contributors.json
index 2c3deda..3b12fc8 100644
--- a/.cache/contributors.json
+++ b/.cache/contributors.json
@@ -1,5 +1,5 @@
{
- "updated_at": "2026-07-03T05:58:25.885Z",
+ "updated_at": "2026-07-08T07:48:26.962Z",
"total": 170,
"contributors": [
{
@@ -11,7 +11,7 @@
{
"username": "lyj715824",
"avatar_url": "https://avatars.githubusercontent.com/u/124077501?v=4",
- "contributions": 811,
+ "contributions": 824,
"profile_url": "https://github.com/lyj715824"
},
{
@@ -59,7 +59,7 @@
{
"username": "FenjuFu",
"avatar_url": "https://avatars.githubusercontent.com/u/92919259?v=4",
- "contributions": 154,
+ "contributions": 157,
"profile_url": "https://github.com/FenjuFu"
},
{
@@ -104,6 +104,12 @@
"contributions": 93,
"profile_url": "https://github.com/Kexinist"
},
+ {
+ "username": "dongjiang1989",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5010507?v=4",
+ "contributions": 88,
+ "profile_url": "https://github.com/dongjiang1989"
+ },
{
"username": "xuehaoweng",
"avatar_url": "https://avatars.githubusercontent.com/u/73582376?v=4",
@@ -122,12 +128,6 @@
"contributions": 84,
"profile_url": "https://github.com/ymcui"
},
- {
- "username": "dongjiang1989",
- "avatar_url": "https://avatars.githubusercontent.com/u/5010507?v=4",
- "contributions": 84,
- "profile_url": "https://github.com/dongjiang1989"
- },
{
"username": "bijinfeng",
"avatar_url": "https://avatars.githubusercontent.com/u/29982703?v=4",
@@ -212,6 +212,12 @@
"contributions": 37,
"profile_url": "https://github.com/Thomas1024-Astron"
},
+ {
+ "username": "wangbing1005",
+ "avatar_url": "https://avatars.githubusercontent.com/u/73165412?v=4",
+ "contributions": 37,
+ "profile_url": "https://github.com/wangbing1005"
+ },
{
"username": "xs233",
"avatar_url": "https://avatars.githubusercontent.com/u/24524516?v=4",
@@ -230,12 +236,6 @@
"contributions": 32,
"profile_url": "https://github.com/hant1"
},
- {
- "username": "wangbing1005",
- "avatar_url": "https://avatars.githubusercontent.com/u/73165412?v=4",
- "contributions": 32,
- "profile_url": "https://github.com/wangbing1005"
- },
{
"username": "chunhuitang",
"avatar_url": "https://avatars.githubusercontent.com/u/233944770?v=4",
@@ -386,6 +386,12 @@
"contributions": 13,
"profile_url": "https://github.com/gaozhenfeng1"
},
+ {
+ "username": "OLDyade",
+ "avatar_url": "https://avatars.githubusercontent.com/u/75075125?v=4",
+ "contributions": 13,
+ "profile_url": "https://github.com/OLDyade"
+ },
{
"username": "tap-top",
"avatar_url": "https://avatars.githubusercontent.com/u/9601223?v=4",
@@ -422,12 +428,6 @@
"contributions": 11,
"profile_url": "https://github.com/snoopyYang"
},
- {
- "username": "OLDyade",
- "avatar_url": "https://avatars.githubusercontent.com/u/75075125?v=4",
- "contributions": 11,
- "profile_url": "https://github.com/OLDyade"
- },
{
"username": "mikasa-code",
"avatar_url": "https://avatars.githubusercontent.com/u/72306376?v=4",
diff --git a/.cache/project-stats.json b/.cache/project-stats.json
index bcaa9c8..954e5dc 100644
--- a/.cache/project-stats.json
+++ b/.cache/project-stats.json
@@ -1,50 +1,50 @@
{
- "updated_at": "2026-07-03T05:57:41.016Z",
+ "updated_at": "2026-07-08T07:47:43.322Z",
"repos": {
"iflytek/astron-agent": {
- "stars": 8589,
- "forks": 857,
- "updated_at": "2026-07-03T05:57:35.651Z"
+ "stars": 8613,
+ "forks": 860,
+ "updated_at": "2026-07-08T07:47:33.519Z"
},
"iflytek/astron-rpa": {
- "stars": 5192,
- "forks": 581,
- "updated_at": "2026-07-03T05:57:36.658Z"
+ "stars": 5205,
+ "forks": 582,
+ "updated_at": "2026-07-08T07:47:34.088Z"
},
"iflytek/astronclaw-tutorial": {
- "stars": 411,
+ "stars": 418,
"forks": 44,
- "updated_at": "2026-07-03T05:57:37.217Z"
+ "updated_at": "2026-07-08T07:47:34.666Z"
},
"iflytek/domux": {
- "stars": 8,
+ "stars": 14,
"forks": 0,
- "updated_at": "2026-07-03T05:57:38.193Z"
+ "updated_at": "2026-07-08T07:47:37.254Z"
},
"harnessclaw/harnessclaw-engine": {
- "stars": 266,
+ "stars": 272,
"forks": 91,
- "updated_at": "2026-07-03T05:57:38.747Z"
+ "updated_at": "2026-07-08T07:47:38.056Z"
},
"harnessclaw/harnessclaw": {
- "stars": 322,
- "forks": 86,
- "updated_at": "2026-07-03T05:57:39.291Z"
+ "stars": 329,
+ "forks": 87,
+ "updated_at": "2026-07-08T07:47:41.183Z"
},
"iflytek/iFly-Skills": {
- "stars": 192,
+ "stars": 200,
"forks": 24,
- "updated_at": "2026-07-03T05:57:39.839Z"
+ "updated_at": "2026-07-08T07:47:41.795Z"
},
"iflytek/memflywheel": {
- "stars": 9,
+ "stars": 15,
"forks": 1,
- "updated_at": "2026-07-03T05:57:40.448Z"
+ "updated_at": "2026-07-08T07:47:42.431Z"
},
"iflytek/skillhub": {
- "stars": 3738,
- "forks": 546,
- "updated_at": "2026-07-03T05:57:41.015Z"
+ "stars": 3826,
+ "forks": 565,
+ "updated_at": "2026-07-08T07:47:43.322Z"
}
}
}
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0c253b3..dfb5193 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,12 @@
All notable changes to this project will be documented in this file.
+## [Unreleased]
+
+### Added
+
+- **Hugging Face Icon Asset**: Download official Hugging Face SVG logo to `src/assets/images/hugging-face.svg`; replace inline placeholder SVGs in `ProjectCard.astro` and `[slug].astro` with `
`
+
## [0.3.0] - 2026-07-03
### Added
diff --git a/package-lock.json b/package-lock.json
index 349ae29..9a7f6fe 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@iflytek/website",
- "version": "0.2.0",
+ "version": "0.3.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@iflytek/website",
- "version": "0.2.0",
+ "version": "0.3.0",
"dependencies": {
"@astrojs/rss": "^4.0.19",
"@astrojs/sitemap": "^3.7.3",
@@ -1498,9 +1498,6 @@
"arm"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
@@ -1518,9 +1515,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
@@ -1538,9 +1532,6 @@
"ppc64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
@@ -1558,9 +1549,6 @@
"riscv64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
@@ -1578,9 +1566,6 @@
"s390x"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
@@ -1598,9 +1583,6 @@
"x64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
@@ -1618,9 +1600,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
@@ -1638,9 +1617,6 @@
"x64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
@@ -1658,9 +1634,6 @@
"arm"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "Apache-2.0",
"optional": true,
"os": [
@@ -1684,9 +1657,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "Apache-2.0",
"optional": true,
"os": [
@@ -1710,9 +1680,6 @@
"ppc64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "Apache-2.0",
"optional": true,
"os": [
@@ -1736,9 +1703,6 @@
"riscv64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "Apache-2.0",
"optional": true,
"os": [
@@ -1762,9 +1726,6 @@
"s390x"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "Apache-2.0",
"optional": true,
"os": [
@@ -1788,9 +1749,6 @@
"x64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "Apache-2.0",
"optional": true,
"os": [
@@ -1814,9 +1772,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "Apache-2.0",
"optional": true,
"os": [
@@ -1840,9 +1795,6 @@
"x64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "Apache-2.0",
"optional": true,
"os": [
@@ -3008,9 +2960,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -3028,9 +2977,6 @@
"arm64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -3048,9 +2994,6 @@
"x64"
],
"dev": true,
- "libc": [
- "glibc"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -3068,9 +3011,6 @@
"x64"
],
"dev": true,
- "libc": [
- "musl"
- ],
"license": "MIT",
"optional": true,
"os": [
@@ -8140,6 +8080,7 @@
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -8160,6 +8101,7 @@
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -8180,6 +8122,7 @@
"cpu": [
"x64"
],
+ "dev": true,
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -8200,6 +8143,7 @@
"cpu": [
"x64"
],
+ "dev": true,
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -8220,6 +8164,7 @@
"cpu": [
"arm"
],
+ "dev": true,
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -8240,6 +8185,7 @@
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -8260,6 +8206,7 @@
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -8280,6 +8227,7 @@
"cpu": [
"x64"
],
+ "dev": true,
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -8300,6 +8248,7 @@
"cpu": [
"x64"
],
+ "dev": true,
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -8320,6 +8269,7 @@
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MPL-2.0",
"optional": true,
"os": [
@@ -8340,6 +8290,7 @@
"cpu": [
"x64"
],
+ "dev": true,
"license": "MPL-2.0",
"optional": true,
"os": [
diff --git a/package.json b/package.json
index e373f4a..3aedd15 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@iflytek/website",
- "version": "0.2.0",
+ "version": "0.3.0",
"description": "iFLYTEK Open Source Website - Showcasing open source projects, blog, events and community contributions.",
"type": "module",
"private": true,
diff --git a/src/assets/images/hugging-face.svg b/src/assets/images/hugging-face.svg
new file mode 100644
index 0000000..a556119
--- /dev/null
+++ b/src/assets/images/hugging-face.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/components/projects/ProjectCard.astro b/src/components/projects/ProjectCard.astro
index 60fb9e0..42e12cd 100644
--- a/src/components/projects/ProjectCard.astro
+++ b/src/components/projects/ProjectCard.astro
@@ -1,4 +1,6 @@
---
+import hfIcon from '~/assets/images/hugging-face.svg';
+
interface Props {
name: string;
description: string;
@@ -226,18 +228,7 @@ function formatNumber(n: number): string {
class="inline-flex items-center gap-1.5 rounded-lg bg-gray-100 px-3 py-1.5 text-xs font-medium text-gray-700 transition-colors hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-300 dark:hover:bg-gray-700"
>
{isHF ? (
-
+
) : isMS ? (