Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions .cache/project-stats.json
Original file line number Diff line number Diff line change
@@ -1,40 +1,40 @@
{
"updated_at": "2026-06-29T19:52:07.480Z",
"updated_at": "2026-06-30T08:52:30.822Z",
"repos": {
"iflytek/astron-agent": {
"stars": 8586,
"stars": 8584,
"forks": 857,
"updated_at": "2026-06-29T19:52:05.502Z"
"updated_at": "2026-06-30T08:52:28.383Z"
},
"iflytek/astron-rpa": {
"stars": 5188,
"stars": 5190,
"forks": 582,
"updated_at": "2026-06-29T19:52:05.828Z"
"updated_at": "2026-06-30T08:52:28.542Z"
},
"iflytek/astronclaw-tutorial": {
"stars": 411,
"forks": 44,
"updated_at": "2026-06-29T19:52:06.142Z"
"updated_at": "2026-06-30T08:52:28.850Z"
},
"harnessclaw/harnessclaw-engine": {
"stars": 266,
"forks": 91,
"updated_at": "2026-06-29T19:52:06.475Z"
"updated_at": "2026-06-30T08:52:29.401Z"
},
"harnessclaw/harnessclaw": {
"stars": 322,
"forks": 83,
"updated_at": "2026-06-29T19:52:06.815Z"
"forks": 84,
"updated_at": "2026-06-30T08:52:30.444Z"
},
"iflytek/iFly-Skills": {
"stars": 192,
"forks": 24,
"updated_at": "2026-06-29T19:52:07.144Z"
"updated_at": "2026-06-30T08:52:30.565Z"
},
"iflytek/skillhub": {
"stars": 3624,
"forks": 536,
"updated_at": "2026-06-29T19:52:07.480Z"
"stars": 3632,
"forks": 537,
"updated_at": "2026-06-30T08:52:30.822Z"
}
}
}
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,22 @@ All notable changes to this project will be documented in this file.

## [Unreleased]

### Added

- **Footer Hugging Face & ModelScope Links**: Add Hugging Face (`https://huggingface.co/iFlytekOpenSource`) and ModelScope (`https://modelscope.cn/organization/iflytek`) links to footer "Related Sites" column and social icon bar (inline SVG icons via `iconHtml` field)
- **Footer `iconHtml` Support**: Extend `Footer.astro` `Link` interface with `iconHtml` field to support custom inline SVG icons for brands not available in tabler icon set
- **Footer WeChat QR Modal**: Add WeChat QR code modal — clicking WeChat link in footer opens a modal with group QR code image; supports ESC key, backdrop click, and Astro View Transitions re-binding
- **Footer Bilingual Links**: Add `data-lang-zh`/`data-lang-en` to all footer text links and column titles for language switching
- **Events**: Add 2 new community events — "AI Agent Industry Practice @ AtomGit & Ascend Meetup · Shanghai" (2026-06-27) and "2nd AI Innovation Exchange Conference · Tianjin" (2026-07-11)
- **Auto Event Status**: Event status (`upcoming`/`ongoing`/`past`) auto-calculated by comparing `event.date` with current date, removing manual status maintenance

### Changed

- **Footer Links Updated**: "联系我们" Discord link now uses real URL (`https://discord.com/invite/vXzgts4fK`); "相关网站" Gitee URL updated to org page, OSCHINA replaced with AtomGit; "关注我们" updated with real LinkedIn and Discord URLs, removed X/YouTube placeholders
- **Secondary Links**: Replaced Privacy/Terms/License with Security Policy, Community Values, and CLA
- **Header Actions**: Remove GitHub button from header action bar
- **README**: Add Hugging Face and ModelScope links to the Links section

## [0.2.0] - 2026-06-17

### Added
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,3 +133,5 @@ Third-party licenses are listed in [NOTICE](NOTICE).
- **iFLYTEK Official**: https://www.iflytek.com
- **Discord**: https://discord.com/invite/vXzgts4fK
- **LinkedIn**: https://www.linkedin.com/in/astron-ai
- **Hugging Face**: https://huggingface.co/iFlytekOpenSource
- **ModelScope**: https://modelscope.cn/organization/iflytek
9 changes: 7 additions & 2 deletions src/components/widgets/Footer.astro
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ interface Link {
href?: string;
ariaLabel?: string;
icon?: string;
iconHtml?: string;
}

interface Links {
Expand Down Expand Up @@ -92,15 +93,19 @@ const { socialLinks = [], secondaryLinks = [], links = [], footNote = '', theme
{
socialLinks?.length ? (
<ul class="flex mb-4 md:order-1 -ml-2 md:ml-4 md:mb-0 rtl:ml-0 rtl:-mr-2 rtl:md:ml-0 rtl:md:mr-4">
{socialLinks.map(({ ariaLabel, href, text, icon }) => (
{socialLinks.map(({ ariaLabel, href, text, icon, iconHtml }) => (
<li>
<a
class="text-muted dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5 inline-flex items-center"
aria-label={ariaLabel}
href={href}
data-wechat={ariaLabel === 'WeChat' ? 'true' : undefined}
>
{icon && <Icon name={icon} class="w-5 h-5" />}
{iconHtml ? (
<span class="w-5 h-5 inline-flex items-center justify-center" set:html={iconHtml} />
) : (
icon && <Icon name={icon} class="w-5 h-5" />
)}
<Fragment set:html={text} />
</a>
</li>
Expand Down
23 changes: 16 additions & 7 deletions src/navigation.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
import { getPermalink, getBlogPermalink, getAsset } from './utils/permalinks';

// Inline SVG icons for brands not available in tabler icon set
const HUGGINGFACE_ICON =
'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M8 14s1.5 2 4 2 4-2 4-2"/><circle cx="9" cy="9.5" r=".75" fill="currentColor" stroke="none"/><circle cx="15" cy="9.5" r=".75" fill="currentColor" stroke="none"/></svg>';

const MODELSCOPE_ICON =
'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="6"/><circle cx="12" cy="12" r="2"/></svg>';

export const headerData = {
links: [
{
Expand Down Expand Up @@ -60,13 +67,7 @@ export const headerData = {
href: getPermalink('/adopters'),
},
],
actions: [
{
text: 'GitHub',
href: 'https://github.com/iflytek',
target: '_blank',
},
],
actions: [],
};

export const footerData = {
Expand Down Expand Up @@ -100,6 +101,8 @@ export const footerData = {
{ text: 'GitHub', href: 'https://github.com/iflytek' },
{ text: 'Gitee', href: 'https://gitee.com/organizations/iflytek' },
{ text: 'AtomGit', href: 'https://atomgit.com/ifly_opensource' },
{ text: 'Hugging Face', href: 'https://huggingface.co/iFlytekOpenSource' },
{ text: 'ModelScope', href: 'https://modelscope.cn/organization/iflytek' },
],
},
{
Expand All @@ -121,6 +124,12 @@ export const footerData = {
{ ariaLabel: 'LinkedIn', icon: 'tabler:brand-linkedin', href: 'https://www.linkedin.com/in/astron-ai' },
{ ariaLabel: 'WeChat', icon: 'tabler:brand-wechat', href: '#' },
{ ariaLabel: 'Discord', icon: 'tabler:brand-discord', href: 'https://discord.com/invite/vXzgts4fK' },
{
ariaLabel: 'Hugging Face',
iconHtml: HUGGINGFACE_ICON,
href: 'https://huggingface.co/iFlytekOpenSource',
},
{ ariaLabel: 'ModelScope', iconHtml: MODELSCOPE_ICON, href: 'https://modelscope.cn/organization/iflytek' },
{ ariaLabel: 'RSS', icon: 'tabler:rss', href: getAsset('/rss.xml') },
{ ariaLabel: 'GitHub', icon: 'tabler:brand-github', href: 'https://github.com/iflytek' },
],
Expand Down
Loading