Skip to content

Commit 049e51b

Browse files
authored
Merge pull request #28 from vllm-project/dos-add-hf-candle
project: add acknowledgements to huggingface-candle
2 parents 75dbb4a + 16d56eb commit 049e51b

File tree

6 files changed

+266
-0
lines changed

6 files changed

+266
-0
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"title": "Acknowledgements",
3+
"subtitle": "vLLM Semantic Router is born in open source and built on open source ❤️",
4+
"projects": [
5+
{
6+
"id": "huggingFace-candle",
7+
"name": "HuggingFace Candle",
8+
"logo": "/img/acknowledgements/huggingface-logo.svg",
9+
"url": "https://github.com/huggingface/candle",
10+
"description": "Minimalist ML framework for Rust"
11+
},{
12+
"id": "envoyproxy",
13+
"name": "EnvoyProxy",
14+
"logo": "/img/acknowledgements/envoy-logo.png",
15+
"url": "https://github.com/envoyproxy/envoy",
16+
"description": "Cloud-native high-performance edge/middle/service proxy"
17+
}
18+
]
19+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import React from 'react';
2+
import styles from './index.module.css';
3+
import acknowledgementsData from './data.json';
4+
5+
function AcknowledgementsSection() {
6+
const { title, subtitle, projects } = acknowledgementsData;
7+
8+
return (
9+
<section className={styles.acknowledgementsSection}>
10+
<div className="container">
11+
<div className={styles.acknowledgementsContainer}>
12+
<h2 className={styles.acknowledgementsTitle}>
13+
{title}
14+
</h2>
15+
<p className={styles.acknowledgementsSubtitle}>
16+
{subtitle}
17+
</p>
18+
<div className={styles.projectsGrid}>
19+
{projects.map((project) => (
20+
<a
21+
key={project.id}
22+
href={project.url}
23+
target="_blank"
24+
rel="noopener noreferrer"
25+
className={styles.projectCard}
26+
title={project.name}
27+
>
28+
<div className={styles.projectLogoWrapper}>
29+
<img
30+
src={project.logo}
31+
alt={project.name}
32+
className={styles.projectLogo}
33+
/>
34+
</div>
35+
<span className={styles.projectName}>{project.name}</span>
36+
</a>
37+
))}
38+
</div>
39+
</div>
40+
</div>
41+
</section>
42+
);
43+
}
44+
45+
export default AcknowledgementsSection;
Lines changed: 186 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
/* Acknowledgements Section Styles */
2+
.acknowledgementsSection {
3+
padding: 4rem 0;
4+
background: linear-gradient(135deg, #F6F8FA 0%, #FFFFFF 50%, #F0F3F6 100%);
5+
position: relative;
6+
overflow: hidden;
7+
}
8+
9+
.acknowledgementsSection::before {
10+
content: '';
11+
position: absolute;
12+
top: 0;
13+
left: 0;
14+
right: 0;
15+
bottom: 0;
16+
background-image:
17+
radial-gradient(circle at 25% 25%, rgba(88, 166, 255, 0.05) 0%, transparent 50%),
18+
radial-gradient(circle at 75% 75%, rgba(253, 181, 22, 0.05) 0%, transparent 50%),
19+
radial-gradient(circle at 50% 50%, rgba(130, 80, 223, 0.03) 0%, transparent 50%);
20+
pointer-events: none;
21+
animation: acknowledgementsBackgroundFlow 15s ease-in-out infinite;
22+
}
23+
24+
.acknowledgementsContainer {
25+
max-width: 1200px;
26+
margin: 0 auto;
27+
padding: 0 2rem;
28+
position: relative;
29+
z-index: 1;
30+
text-align: center;
31+
}
32+
33+
.acknowledgementsTitle {
34+
font-size: 2.5rem;
35+
font-weight: 700;
36+
margin-bottom: 1rem;
37+
background: linear-gradient(135deg, #0969DA, #FDB516, #8250DF);
38+
-webkit-background-clip: text;
39+
-webkit-text-fill-color: transparent;
40+
background-clip: text;
41+
animation: acknowledgementsTitleGlow 4s ease-in-out infinite;
42+
}
43+
44+
.acknowledgementsSubtitle {
45+
font-size: 1.2rem;
46+
line-height: 1.6;
47+
color: #656D76;
48+
margin-bottom: 3rem;
49+
max-width: 800px;
50+
margin-left: auto;
51+
margin-right: auto;
52+
}
53+
54+
.projectsGrid {
55+
display: grid;
56+
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
57+
gap: 2rem;
58+
margin-top: 2rem;
59+
}
60+
61+
.projectCard {
62+
display: flex;
63+
flex-direction: column;
64+
align-items: center;
65+
padding: 1.5rem;
66+
background: rgba(255, 255, 255, 0.8);
67+
border: 1px solid rgba(88, 166, 255, 0.2);
68+
border-radius: 16px;
69+
backdrop-filter: blur(10px);
70+
transition: all 0.3s ease;
71+
box-shadow: 0 4px 16px rgba(9, 105, 218, 0.08);
72+
text-decoration: none;
73+
color: inherit;
74+
}
75+
76+
.projectCard:hover {
77+
background: rgba(255, 255, 255, 0.95);
78+
border-color: rgba(88, 166, 255, 0.4);
79+
transform: translateY(-4px);
80+
box-shadow: 0 8px 32px rgba(9, 105, 218, 0.15);
81+
text-decoration: none;
82+
color: inherit;
83+
}
84+
85+
.projectLogoWrapper {
86+
width: 80px;
87+
height: 80px;
88+
display: flex;
89+
align-items: center;
90+
justify-content: center;
91+
margin-bottom: 1rem;
92+
border-radius: 12px;
93+
background: rgba(255, 255, 255, 0.9);
94+
box-shadow: 0 2px 8px rgba(9, 105, 218, 0.1);
95+
}
96+
97+
.projectLogo {
98+
max-width: 60px;
99+
max-height: 60px;
100+
width: auto;
101+
height: auto;
102+
object-fit: contain;
103+
transition: transform 0.3s ease;
104+
}
105+
106+
.projectCard:hover .projectLogo {
107+
transform: scale(1.1);
108+
}
109+
110+
.projectName {
111+
font-size: 0.9rem;
112+
font-weight: 600;
113+
color: #1F2328;
114+
text-align: center;
115+
line-height: 1.4;
116+
}
117+
118+
/* Animations */
119+
@keyframes acknowledgementsBackgroundFlow {
120+
0%, 100% {
121+
transform: translateX(0) translateY(0);
122+
}
123+
33% {
124+
transform: translateX(5px) translateY(-3px);
125+
}
126+
66% {
127+
transform: translateX(-3px) translateY(5px);
128+
}
129+
}
130+
131+
@keyframes acknowledgementsTitleGlow {
132+
0%, 100% {
133+
filter: drop-shadow(0 0 12px rgba(253, 181, 22, 0.4));
134+
}
135+
33% {
136+
filter: drop-shadow(0 0 16px rgba(48, 162, 255, 0.6));
137+
}
138+
66% {
139+
filter: drop-shadow(0 0 14px rgba(168, 85, 247, 0.5));
140+
}
141+
}
142+
143+
/* Responsive Design */
144+
@media screen and (max-width: 768px) {
145+
.acknowledgementsSection {
146+
padding: 3rem 0;
147+
}
148+
149+
.acknowledgementsContainer {
150+
padding: 0 1rem;
151+
}
152+
153+
.acknowledgementsTitle {
154+
font-size: 2rem;
155+
margin-bottom: 0.8rem;
156+
}
157+
158+
.acknowledgementsSubtitle {
159+
font-size: 1.1rem;
160+
margin-bottom: 2rem;
161+
}
162+
163+
.projectsGrid {
164+
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
165+
gap: 1.5rem;
166+
}
167+
168+
.projectCard {
169+
padding: 1rem;
170+
}
171+
172+
.projectLogoWrapper {
173+
width: 60px;
174+
height: 60px;
175+
margin-bottom: 0.8rem;
176+
}
177+
178+
.projectLogo {
179+
max-width: 45px;
180+
max-height: 45px;
181+
}
182+
183+
.projectName {
184+
font-size: 0.8rem;
185+
}
186+
}

website/src/pages/index.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import HomepageFeatures from '@site/src/components/HomepageFeatures';
77
import TypewriterCode from '@site/src/components/TypewriterCode';
88
import NeuralNetworkBackground from '@site/src/components/NeuralNetworkBackground';
99
import AIChipAnimation from '@site/src/components/AIChipAnimation';
10+
import AcknowledgementsSection from '@site/src/components/AcknowledgementsSection';
1011

1112
import styles from './index.module.css';
1213

@@ -141,6 +142,13 @@ export default function Home() {
141142
</div>
142143
</div>
143144
<HomepageFeatures />
145+
<div className={styles.connectionSection}>
146+
<div className={styles.connectionLines}>
147+
<div className={`${styles.connectionLine} ${styles.connectionLine1}`}></div>
148+
<div className={`${styles.connectionLine} ${styles.connectionLine2}`}></div>
149+
</div>
150+
</div>
151+
<AcknowledgementsSection />
144152
</main>
145153
</Layout>
146154
);
197 KB
Loading

website/static/img/acknowledgements/huggingface-logo.svg

Lines changed: 8 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)