masterjedi commited on
Commit
d18e3dd
·
1 Parent(s): 5c41ecb

Create ADI Fun Spaces launcher

Browse files
Files changed (3) hide show
  1. .gitattributes +0 -4
  2. README.md +5 -6
  3. index.html +295 -17
.gitattributes CHANGED
@@ -3,20 +3,16 @@
3
  *.bin filter=lfs diff=lfs merge=lfs -text
4
  *.bz2 filter=lfs diff=lfs merge=lfs -text
5
  *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
  *.gz filter=lfs diff=lfs merge=lfs -text
8
  *.h5 filter=lfs diff=lfs merge=lfs -text
9
  *.joblib filter=lfs diff=lfs merge=lfs -text
10
  *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
  *.model filter=lfs diff=lfs merge=lfs -text
13
  *.msgpack filter=lfs diff=lfs merge=lfs -text
14
  *.npy filter=lfs diff=lfs merge=lfs -text
15
  *.npz filter=lfs diff=lfs merge=lfs -text
16
  *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
  *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
  *.pickle filter=lfs diff=lfs merge=lfs -text
21
  *.pkl filter=lfs diff=lfs merge=lfs -text
22
  *.pt filter=lfs diff=lfs merge=lfs -text
 
3
  *.bin filter=lfs diff=lfs merge=lfs -text
4
  *.bz2 filter=lfs diff=lfs merge=lfs -text
5
  *.ckpt filter=lfs diff=lfs merge=lfs -text
 
6
  *.gz filter=lfs diff=lfs merge=lfs -text
7
  *.h5 filter=lfs diff=lfs merge=lfs -text
8
  *.joblib filter=lfs diff=lfs merge=lfs -text
9
  *.lfs.* filter=lfs diff=lfs merge=lfs -text
 
10
  *.model filter=lfs diff=lfs merge=lfs -text
11
  *.msgpack filter=lfs diff=lfs merge=lfs -text
12
  *.npy filter=lfs diff=lfs merge=lfs -text
13
  *.npz filter=lfs diff=lfs merge=lfs -text
14
  *.onnx filter=lfs diff=lfs merge=lfs -text
 
15
  *.parquet filter=lfs diff=lfs merge=lfs -text
 
16
  *.pickle filter=lfs diff=lfs merge=lfs -text
17
  *.pkl filter=lfs diff=lfs merge=lfs -text
18
  *.pt filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,10 +1,9 @@
1
  ---
2
- title: Adi Fun Spaces
3
- emoji:
4
- colorFrom: green
5
- colorTo: pink
6
  sdk: static
 
7
  pinned: false
8
  ---
9
-
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: ADI Fun Spaces
3
+ emoji:
4
+ colorFrom: gray
5
+ colorTo: green
6
  sdk: static
7
+ app_file: index.html
8
  pinned: false
9
  ---
 
 
index.html CHANGED
@@ -1,19 +1,297 @@
1
  <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
1
  <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>ADI Fun Spaces</title>
7
+ <style>
8
+ :root {
9
+ color-scheme: dark;
10
+ --bg: #070a0f;
11
+ --panel: #141922;
12
+ --panel-2: #10151d;
13
+ --line: #2c3543;
14
+ --text: #f7f9fc;
15
+ --muted: #aab4c3;
16
+ --accent: #12b981;
17
+ --accent-2: #f97316;
18
+ --blue: #38bdf8;
19
+ }
20
+ * { box-sizing: border-box; }
21
+ body {
22
+ margin: 0;
23
+ background: var(--bg);
24
+ color: var(--text);
25
+ font: 15px/1.45 system-ui, -apple-system, Segoe UI, sans-serif;
26
+ }
27
+ header {
28
+ border-bottom: 1px solid var(--line);
29
+ background: #0b1018;
30
+ }
31
+ .wrap {
32
+ width: min(1180px, calc(100vw - 32px));
33
+ margin: 0 auto;
34
+ }
35
+ .hero {
36
+ min-height: 220px;
37
+ display: grid;
38
+ align-content: center;
39
+ gap: 14px;
40
+ padding: 34px 0;
41
+ }
42
+ h1 {
43
+ margin: 0;
44
+ font-size: clamp(32px, 6vw, 64px);
45
+ line-height: 1;
46
+ letter-spacing: 0;
47
+ }
48
+ .lede {
49
+ max-width: 760px;
50
+ margin: 0;
51
+ color: var(--muted);
52
+ font-size: 17px;
53
+ }
54
+ .toolbar {
55
+ display: flex;
56
+ gap: 10px;
57
+ flex-wrap: wrap;
58
+ align-items: center;
59
+ padding: 18px 0 8px;
60
+ }
61
+ input, select {
62
+ min-height: 42px;
63
+ border: 1px solid var(--line);
64
+ border-radius: 8px;
65
+ background: #0d121a;
66
+ color: var(--text);
67
+ padding: 0 12px;
68
+ font: inherit;
69
+ }
70
+ input { flex: 1 1 300px; }
71
+ select { flex: 0 0 190px; }
72
+ .grid {
73
+ display: grid;
74
+ grid-template-columns: repeat(4, minmax(0, 1fr));
75
+ gap: 14px;
76
+ padding: 16px 0 38px;
77
+ }
78
+ .card {
79
+ display: grid;
80
+ grid-template-rows: auto auto 1fr auto;
81
+ min-height: 320px;
82
+ padding: 16px;
83
+ border: 1px solid var(--line);
84
+ border-radius: 8px;
85
+ background: var(--panel);
86
+ }
87
+ .meta {
88
+ display: flex;
89
+ justify-content: space-between;
90
+ gap: 8px;
91
+ margin-bottom: 12px;
92
+ color: var(--muted);
93
+ font-size: 13px;
94
+ }
95
+ .emoji {
96
+ width: 38px;
97
+ height: 38px;
98
+ display: inline-grid;
99
+ place-items: center;
100
+ border-radius: 8px;
101
+ background: var(--panel-2);
102
+ border: 1px solid var(--line);
103
+ font-size: 22px;
104
+ }
105
+ h2 {
106
+ margin: 0 0 8px;
107
+ font-size: 20px;
108
+ line-height: 1.15;
109
+ letter-spacing: 0;
110
+ }
111
+ p { margin: 0; }
112
+ .body {
113
+ display: grid;
114
+ gap: 10px;
115
+ color: var(--muted);
116
+ }
117
+ .remix {
118
+ color: #d8ffe9;
119
+ border-left: 3px solid var(--accent);
120
+ padding-left: 10px;
121
+ }
122
+ .actions {
123
+ display: flex;
124
+ gap: 8px;
125
+ margin-top: 16px;
126
+ }
127
+ a {
128
+ color: inherit;
129
+ text-decoration: none;
130
+ }
131
+ .button {
132
+ min-height: 40px;
133
+ display: inline-flex;
134
+ align-items: center;
135
+ justify-content: center;
136
+ padding: 0 12px;
137
+ border-radius: 8px;
138
+ background: var(--accent);
139
+ color: #03120c;
140
+ font-weight: 900;
141
+ flex: 1;
142
+ }
143
+ .button.secondary {
144
+ background: #202833;
145
+ color: var(--text);
146
+ border: 1px solid var(--line);
147
+ font-weight: 750;
148
+ }
149
+ .tag {
150
+ color: var(--blue);
151
+ white-space: nowrap;
152
+ }
153
+ footer {
154
+ border-top: 1px solid var(--line);
155
+ color: var(--muted);
156
+ padding: 18px 0 28px;
157
+ }
158
+ @media (max-width: 1040px) { .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
159
+ @media (max-width: 780px) { .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
160
+ @media (max-width: 560px) {
161
+ .grid { grid-template-columns: 1fr; }
162
+ select { flex: 1 1 100%; }
163
+ }
164
+ </style>
165
+ </head>
166
+ <body>
167
+ <header>
168
+ <div class="wrap hero">
169
+ <h1>ADI Fun Spaces</h1>
170
+ <p class="lede">A launcher for playful Hugging Face demos we want in the ADI orbit: music, comics, image illusions, webcam vision, chess, coding, and sound experiments.</p>
171
+ </div>
172
+ </header>
173
+
174
+ <main class="wrap">
175
+ <section class="toolbar">
176
+ <input id="search" placeholder="Search by name, category, or remix idea" />
177
+ <select id="category">
178
+ <option value="all">All categories</option>
179
+ <option>Music</option>
180
+ <option>Images</option>
181
+ <option>Code</option>
182
+ <option>Vision</option>
183
+ <option>Games</option>
184
+ </select>
185
+ </section>
186
+
187
+ <section class="grid" id="grid"></section>
188
+ </main>
189
+
190
+ <footer>
191
+ <div class="wrap">These cards open the original Hugging Face Spaces. ADI remix notes are our own launch ideas.</div>
192
+ </footer>
193
+
194
+ <script>
195
+ const spaces = [
196
+ {
197
+ name: "Arpeggiator",
198
+ emoji: "🎛️",
199
+ category: "Music",
200
+ url: "https://huggingface.co/spaces/stereoDrift/arpeggiator",
201
+ description: "Hand-controlled arpeggiator, drum machine, and visualizer.",
202
+ remix: "ADI remix: gesture-controlled prompt music with model-generated chord progressions."
203
+ },
204
+ {
205
+ name: "DeepSite v4",
206
+ emoji: "🐳",
207
+ category: "Code",
208
+ url: "https://huggingface.co/spaces/enzostvs/deepsite",
209
+ description: "Generate applications by describing what you want to build.",
210
+ remix: "ADI remix: one-click Space generator tuned for your ADI demos and house style."
211
+ },
212
+ {
213
+ name: "SmolVLM realtime WebGPU",
214
+ emoji: "⚡",
215
+ category: "Vision",
216
+ url: "https://huggingface.co/spaces/webml-community/smolvlm-realtime-webgpu",
217
+ description: "Ask questions about your webcam view using browser-side WebGPU.",
218
+ remix: "ADI remix: visual assistant mode for screenshots, workbench views, and device status."
219
+ },
220
+ {
221
+ name: "MusicGen",
222
+ emoji: "🎵",
223
+ category: "Music",
224
+ url: "https://huggingface.co/spaces/facebook/MusicGen",
225
+ description: "Generate music from a text description and optional melody.",
226
+ remix: "ADI remix: theme-song generator for every model release and Space launch."
227
+ },
228
+ {
229
+ name: "IllusionDiffusion",
230
+ emoji: "👁️",
231
+ category: "Images",
232
+ url: "https://huggingface.co/spaces/AP123/IllusionDiffusion",
233
+ description: "Generate high-quality illusion artwork from prompts and patterns.",
234
+ remix: "ADI remix: hidden-word launch art for ADI, Qwen, GGUF, and theLAB."
235
+ },
236
+ {
237
+ name: "AI Comic Factory",
238
+ emoji: "🦸",
239
+ category: "Images",
240
+ url: "https://huggingface.co/spaces/jbilcke-hf/ai-comic-factory",
241
+ description: "Create AI comics from a single story prompt.",
242
+ remix: "ADI remix: model-debugging comics from build logs and runtime errors."
243
+ },
244
+ {
245
+ name: "Chess LLM",
246
+ emoji: "♟️",
247
+ category: "Games",
248
+ url: "https://huggingface.co/spaces/mlabonne/chessllm",
249
+ description: "Play chess between language models.",
250
+ remix: "ADI remix: prompt-strategy chess where each move explains its reasoning."
251
+ },
252
+ {
253
+ name: "ace-step-jam",
254
+ emoji: "🎧",
255
+ category: "Music",
256
+ url: "https://huggingface.co/spaces/victor/ace-step-jam",
257
+ description: "Describe a song and let AI write and produce it.",
258
+ remix: "ADI remix: build-log-to-song generator for every successful deploy."
259
+ }
260
+ ];
261
+
262
+ const grid = document.querySelector("#grid");
263
+ const search = document.querySelector("#search");
264
+ const category = document.querySelector("#category");
265
+
266
+ function render() {
267
+ const term = search.value.trim().toLowerCase();
268
+ const cat = category.value;
269
+ grid.innerHTML = "";
270
+ spaces
271
+ .filter(space => cat === "all" || space.category === cat)
272
+ .filter(space => !term || [space.name, space.category, space.description, space.remix].join(" ").toLowerCase().includes(term))
273
+ .forEach(space => {
274
+ const card = document.createElement("article");
275
+ card.className = "card";
276
+ card.innerHTML = `
277
+ <div class="meta"><span class="emoji">${space.emoji}</span><span class="tag">${space.category}</span></div>
278
+ <h2>${space.name}</h2>
279
+ <div class="body">
280
+ <p>${space.description}</p>
281
+ <p class="remix">${space.remix}</p>
282
+ </div>
283
+ <div class="actions">
284
+ <a class="button" href="${space.url}" target="_blank" rel="noreferrer">Open Space</a>
285
+ <a class="button secondary" href="${space.url}/tree/main" target="_blank" rel="noreferrer">Files</a>
286
+ </div>
287
+ `;
288
+ grid.appendChild(card);
289
+ });
290
+ }
291
+
292
+ search.addEventListener("input", render);
293
+ category.addEventListener("change", render);
294
+ render();
295
+ </script>
296
+ </body>
297
  </html>