Selim003 commited on
Commit
f480fca
·
verified ·
1 Parent(s): ae98a5f

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. index.html +46 -481
index.html CHANGED
@@ -1,481 +1,46 @@
1
- <!DOCTYPE html>
2
- <html lang="tr">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>AI for Humanity | Yapay Zeka ile İyilik</title>
7
- <!-- FontAwesome for Icons -->
8
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
- <!-- Google Fonts -->
10
- <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;800&display=swap" rel="stylesheet">
11
-
12
- <style>
13
- :root {
14
- --bg-color: #0f172a;
15
- --card-bg: #1e293b;
16
- --primary: #38bdf8;
17
- --secondary: #818cf8;
18
- --accent: #22d3ee;
19
- --text-main: #f1f5f9;
20
- --text-muted: #94a3b8;
21
- --glass: rgba(30, 41, 59, 0.7);
22
- --border: rgba(255, 255, 255, 0.1);
23
- }
24
-
25
- * {
26
- box-sizing: margin-box;
27
- margin: 0;
28
- padding: 0;
29
- }
30
-
31
- body {
32
- font-family: 'Inter', sans-serif;
33
- background-color: --bg-color;
34
- background-image:
35
- radial-gradient(at 0% 0%, rgba(56, 189, 248, 0.15) 0px, transparent 50%),
36
- radial-gradient(at 100% 0%, rgba(129, 140, 248, 0.15) 0px, transparent 50%),
37
- radial-gradient(at 100% 100%, rgba(34, 211, 238, 0.15) 0px, transparent 50%);
38
- background-color: var(--bg-color);
39
- color: var(--text-main);
40
- line-height: 1.6;
41
- overflow-x: hidden;
42
- }
43
-
44
- /* --- Header & Nav --- */
45
- header {
46
- position: fixed;
47
- top: 0;
48
- width: 100%;
49
- padding: 1.5rem 2rem;
50
- display: flex;
51
- justify-content: space-between;
52
- align-items: center;
53
- z-index: 100;
54
- background: var(--glass);
55
- backdrop-filter: blur(12px);
56
- border-bottom: 1px solid var(--border);
57
- }
58
-
59
- .brand {
60
- font-weight: 800;
61
- font-size: 1.2rem;
62
- letter-spacing: -0.5px;
63
- background: linear-gradient(to right, var(--primary), var(--accent));
64
- -webkit-background-clip: text;
65
- -webkit-text-fill-color: transparent;
66
- }
67
-
68
- .anycoder-link {
69
- font-size: 0.9rem;
70
- color: var(--text-muted);
71
- text-decoration: none;
72
- border: 1px solid var(--border);
73
- padding: 0.5rem 1rem;
74
- border-radius: 8px;
75
- transition: all 0.3s ease;
76
- }
77
-
78
- .anycoder-link:hover {
79
- color: var(--primary);
80
- border-color: var(--primary);
81
- box-shadow: 0 0 15px rgba(56, 189, 248, 0.2);
82
- }
83
-
84
- /* --- Hero Section --- */
85
- .hero {
86
- padding: 8rem 2rem 4rem;
87
- text-align: center;
88
- max-width: 800px;
89
- margin: 0 auto;
90
- }
91
-
92
- .hero h1 {
93
- font-size: 3.5rem;
94
- line-height: 1.1;
95
- margin-bottom: 1.5rem;
96
- background: linear-gradient(to bottom right, #fff, #94a3b8);
97
- -webkit-background-clip: text;
98
- -webkit-text-fill-color: transparent;
99
- }
100
-
101
- .hero p {
102
- font-size: 1.2rem;
103
- color: var(--text-muted);
104
- max-width: 600px;
105
- margin: 0 auto;
106
- }
107
-
108
- /* --- Grid Layout --- */
109
- .container {
110
- max-width: 1200px;
111
- margin: 0 auto;
112
- padding: 2rem;
113
- }
114
-
115
- .grid {
116
- display: grid;
117
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
118
- gap: 2rem;
119
- }
120
-
121
- /* --- Cards --- */
122
- .card {
123
- background: var(--card-bg);
124
- border: 1px solid var(--border);
125
- border-radius: 16px;
126
- padding: 2rem;
127
- transition: transform 0.4s ease, box-shadow 0.4s ease;
128
- position: relative;
129
- overflow: hidden;
130
- cursor: pointer;
131
- display: flex;
132
- flex-direction: column;
133
- justify-content: space-between;
134
- height: 320px;
135
- }
136
-
137
- .card:hover {
138
- transform: translateY(-5px);
139
- box-shadow: 0 10px 30px -10px rgba(56, 189, 248, 0.3);
140
- border-color: var(--primary);
141
- }
142
-
143
- .card-icon {
144
- font-size: 2.5rem;
145
- color: var(--primary);
146
- margin-bottom: 1rem;
147
- transition: transform 0.3s ease;
148
- }
149
-
150
- .card:hover .card-icon {
151
- transform: scale(1.1);
152
- color: var(--accent);
153
- }
154
-
155
- .card-title {
156
- font-size: 1.5rem;
157
- font-weight: 600;
158
- margin-bottom: 0.5rem;
159
- }
160
-
161
- .card-desc {
162
- font-size: 0.95rem;
163
- color: var(--text-muted);
164
- margin-bottom: 1.5rem;
165
- }
166
-
167
- .card-action {
168
- font-size: 0.9rem;
169
- font-weight: 600;
170
- color: var(--primary);
171
- text-transform: uppercase;
172
- letter-spacing: 1px;
173
- display: flex;
174
- align-items: center;
175
- gap: 0.5rem;
176
- }
177
-
178
- /* --- Modal --- */
179
- .modal-overlay {
180
- position: fixed;
181
- top: 0;
182
- left: 0;
183
- width: 100%;
184
- height: 100%;
185
- background: rgba(15, 23, 42, 0.9);
186
- backdrop-filter: blur(5px);
187
- z-index: 1000;
188
- display: flex;
189
- justify-content: center;
190
- align-items: center;
191
- opacity: 0;
192
- pointer-events: none;
193
- transition: opacity 0.3s ease;
194
- }
195
-
196
- .modal-overlay.active {
197
- opacity: 1;
198
- pointer-events: all;
199
- }
200
-
201
- .modal-content {
202
- background: var(--card-bg);
203
- border: 1px solid var(--border);
204
- width: 90%;
205
- max-width: 600px;
206
- padding: 3rem;
207
- border-radius: 20px;
208
- transform: scale(0.9);
209
- transition: transform 0.3s ease;
210
- position: relative;
211
- box-shadow: 0 20px 50px rgba(0,0,0,0.5);
212
- }
213
-
214
- .modal-overlay.active .modal-content {
215
- transform: scale(1);
216
- }
217
-
218
- .close-btn {
219
- position: absolute;
220
- top: 1.5rem;
221
- right: 1.5rem;
222
- background: none;
223
- border: none;
224
- color: var(--text-muted);
225
- font-size: 1.5rem;
226
- cursor: pointer;
227
- transition: color 0.3s;
228
- }
229
-
230
- .close-btn:hover {
231
- color: var(--primary);
232
- }
233
-
234
- .modal-title {
235
- font-size: 2rem;
236
- margin-bottom: 1rem;
237
- color: var(--primary);
238
- }
239
-
240
- .modal-list {
241
- list-style: none;
242
- margin-top: 2rem;
243
- }
244
-
245
- .modal-list li {
246
- padding: 1rem 0;
247
- border-bottom: 1px solid var(--border);
248
- color: var(--text-muted);
249
- }
250
-
251
- .modal-list li:last-child {
252
- border-bottom: none;
253
- }
254
-
255
- .modal-list li strong {
256
- color: var(--text-main);
257
- display: block;
258
- margin-bottom: 0.3rem;
259
- }
260
-
261
- /* --- Footer --- */
262
- footer {
263
- text-align: center;
264
- padding: 4rem 2rem;
265
- color: var(--text-muted);
266
- font-size: 0.9rem;
267
- border-top: 1px solid var(--border);
268
- margin-top: 4rem;
269
- }
270
-
271
- /* --- Responsive --- */
272
- @media (max-width: 768px) {
273
- .hero h1 { font-size: 2.5rem; }
274
- .grid { grid-template-columns: 1fr; }
275
- header { padding: 1rem; }
276
- }
277
-
278
- /* --- Animations --- */
279
- @keyframes fadeIn {
280
- from { opacity: 0; transform: translateY(20px); }
281
- to { opacity: 1; transform: translateY(0); }
282
- }
283
-
284
- .fade-in {
285
- animation: fadeIn 0.8s ease forwards;
286
- }
287
- </style>
288
- </head>
289
- <body>
290
-
291
- <header>
292
- <div class="brand">AI for Humanity</div>
293
- <a href="https://huggingface.co/spaces/akhaliq/anycoder" class="anycoder-link">Built with anycoder</a>
294
- </header>
295
-
296
- <main>
297
- <section class="hero fade-in">
298
- <h1>Yapay Zeka ile Dünyayı Nasıl Değiştirebiliriz?</h1>
299
- <p>Teknoloji sadece kod değil, insanlığın sorunlarına çözüm üretme aracıdır. Yapay zeka modelleriyle dünyaya katkı sağlayabileceğiniz alanları keşfedin.</p>
300
- </section>
301
-
302
- <div class="container">
303
- <div class="grid">
304
- <!-- Card 1: Healthcare -->
305
- <article class="card" onclick="openModal('health')">
306
- <div>
307
- <i class="fa-solid fa-heart-pulse card-icon"></i>
308
- <h3 class="card-title">Sağlık ve Tıp</h3>
309
- <p class="card-desc">Erken teşhis, ilaç keşfi ve kişisel sağlık takibi için AI modelleri geliştirin.</p>
310
- </div>
311
- <div class="card-action">Projeleri Gör <i class="fa-solid fa-arrow-right"></i></div>
312
- </article>
313
-
314
- <!-- Card 2: Education -->
315
- <article class="card" onclick="openModal('education')">
316
- <div>
317
- <i class="fa-solid fa-book-open card-icon"></i>
318
- <h3 class="card-title">Eğitimde Eşitlik</h3>
319
- <p class="card-desc">Kaynakları yetersiz bölgelerdeki öğrencilere yapay zeka destekli kişisel öğretmenlik.</p>
320
- </div>
321
- <div class="card-action">Projeleri Gör <i class="fa-solid fa-arrow-right"></i></div>
322
- </article>
323
-
324
- <!-- Card 3: Environment -->
325
- <article class="card" onclick="openModal('environment')">
326
- <div>
327
- <i class="fa-solid fa-earth-americas card-icon"></i>
328
- <h3 class="card-title">Çevre ve İklim</h3>
329
- <p class="card-desc">İklim değişimi analizi, yaban hayatı takibi ve enerji verimliliği optimizasyonu.</p>
330
- </div>
331
- <div class="card-action">Projeleri Gör <i class="fa-solid fa-arrow-right"></i></div>
332
- </article>
333
-
334
- <!-- Card 4: Accessibility -->
335
- <article class="card" onclick="openModal('accessibility')">
336
- <div>
337
- <i class="fa-solid fa-universal-access card-icon"></i>
338
- <h3 class="card-title">Erişilebilirlik</h3>
339
- <p class="card-desc">Görme ve işitme bozukluğu olan bireyler için yaşam kalitesini artıran araçlar.</p>
340
- </div>
341
- <div class="card-action">Projeleri Gör <i class="fa-solid fa-arrow-right"></i></div>
342
- </article>
343
-
344
- <!-- Card 5: Disaster Relief -->
345
- <article class="card" onclick="openModal('disaster')">
346
- <div>
347
- <i class="fa-solid fa-house-crack card-icon"></i>
348
- <h3 class="card-title">Afet Yönetimi</h3>
349
- <p class="card-desc">Deprem ve yangın gibi felaketlerde hasar tespiti ve kurtarma operasyonları.</p>
350
- </div>
351
- <div class="card-action">Projeleri Gör <i class="fa-solid fa-arrow-right"></i></div>
352
- </article>
353
-
354
- <!-- Card 6: Fake News -->
355
- <article class="card" onclick="openModal('truth')">
356
- <div>
357
- <i class="fa-solid fa-shield-halved card-icon"></i>
358
- <h3 class="card-title">Doğruluk ve Güven</h3>
359
- <p class="card-desc">Dezenformasyonu tespit etmek ve toplumsal manipülasyonlara karşı koruma.</p>
360
- </div>
361
- <div class="card-action">Projeleri Gör <i class="fa-solid fa-arrow-right"></i></div>
362
- </article>
363
- </div>
364
- </div>
365
- </main>
366
-
367
- <footer>
368
- <p>İyilik yapmak için kod yazın. Gelecek sizin elinizde.</p>
369
- <p style="margin-top: 10px; opacity: 0.6;">Designed for Humanity</p>
370
- </footer>
371
-
372
- <!-- Modal Template -->
373
- <div class="modal-overlay" id="modalOverlay">
374
- <div class="modal-content">
375
- <button class="close-btn" onclick="closeModal()"><i class="fa-solid fa-xmark"></i></button>
376
- <h2 class="modal-title" id="modalTitle">Başlık</h2>
377
- <p style="color: var(--text-muted);" id="modalDesc">Açıklama buraya gelecek.</p>
378
- <ul class="modal-list" id="modalList">
379
- <!-- JS will populate this -->
380
- </ul>
381
- <div style="margin-top: 2rem; text-align: right;">
382
- <button style="background: var(--primary); color: #000; border: none; padding: 0.8rem 1.5rem; border-radius: 8px; font-weight: 600; cursor: pointer;" onclick="closeModal()">Kapat</button>
383
- </div>
384
- </div>
385
- </div>
386
-
387
- <script>
388
- // Data Source
389
- const contentData = {
390
- 'health': {
391
- title: 'Sağlık ve Tıp Alanında Yapay Zeka',
392
- desc: 'Milyonlar insanın hayatını kurtarabilecek potansiyel. Uzman olmayan doktorların da tanı koyabilmesi için destek sistemleri.',
393
- list: [
394
- { strong: 'Derin Öğrenme ile MRI Analizi', text: 'Tümörlerin erken evrede tespit edilmesi için görüntü işleme modelleri.' },
395
- { strong: 'İlaç Keşfi (Drug Discovery)', text: 'Yeni moleküllerin simülasyonu ve test süreçlerinin AI ile hızlandırılması.' },
396
- { strong: 'Genel Sağlık Asistanları', text: 'Köylerdeki sağlıkçılar için semptom analizi yapan chatbotlar.' }
397
- ]
398
- },
399
- 'education': {
400
- title: 'Eğitimde Yapay Zeka',
401
- desc: 'Eğitimde fırsat eşitliği sağlamak. Her çocuğun kendi hızında öğrenmesini sağlamak.',
402
- list: [
403
- { strong: 'Kişisel Öğrenme Yolları', text: 'Öğrencinin eksiklerini tespit ederek ona özel ders planı oluşturan sistemler.' },
404
- { strong: 'Dil Öğrenimi', text: 'Konuşma pratiği yapabilen, ücretsiz AI öğretmenler.' },
405
- { strong: 'Otomatik İçerik Üretimi', text: 'Kaynak kitapların yetersiz olduğu bölgeler için ders içerikleri.' }
406
- ]
407
- },
408
- 'environment': {
409
- title: 'Çevre ve İklim',
410
- desc: 'Dünyayı korumak için veri analizi. Doğayı koruyan teknolojiler.',
411
- list: [
412
- { strong: 'Yaban Hayatı Takibi', text: 'Kamera görüntülerinden nadir türleri tanıma ve koruma.' },
413
- { strong: 'Enerji Optimizasyonu', text: 'Şehirlerin enerji tüketimini AI ile analiz ederek karbon ayak izini düşürmek.' },
414
- { strong: 'Tarım Verimliliği', text: 'Su ve gübre kullanımını optimize eden AI modelleri.' }
415
- ]
416
- },
417
- 'accessibility': {
418
- title: 'Erişilebilirlik',
419
- desc: 'Dünyayı herkes için yaşanabilir hale getirmek.',
420
- list: [
421
- { strong: 'Görme Bozukluğu', text: 'Yazıları sesli okuyan veya nesneleri tanımlayan akıllı gözlük uygulamaları.' },
422
- { strong: 'İşitme Bozukluğu', text: 'Konuşmayı anında metne çeviren gerçekçi çeviri araçları.' },
423
- { strong: 'Nöro Çeşitlilik', text: 'Otizmli bireylere sosyal etkileşim konusunda yardımcı simülasyonlar.' }
424
- ]
425
- },
426
- 'disaster': {
427
- title: 'Afet Yönetimi',
428
- desc: 'Kriz anlarında hayat kurtaran veri analizi.',
429
- list: [
430
- { strong: 'Hasar Tespiti', text: 'Deprem sonrası uydu görüntülerinden yıkılan binaları tespit etmek.' },
431
- { strong: 'Yangın Erken Alarmı', text: 'Orman yangınlarını uydu verisiyle erken tespit etmek.' },
432
- { strong: 'Kurtarma Planlaması', text: 'Afet bölgesindeki en hızlı kurtarma yollarını hesaplayan algoritmalar.' }
433
- ]
434
- },
435
- 'truth': {
436
- title: 'Doğruluk ve Güven',
437
- desc: 'Toplumsal barış ve doğru bilgi için mücadele.',
438
- list: [
439
- { strong: 'Dezenformasyon Tespiti', text: 'Fake news ve manipülasyon içeriklerini otomatik etiketleme.' },
440
- { strong: 'Hukuk Desteği', text: 'Hukuki süreçlerde dar gelirli vatandaşlara yapay zeka destekli danışmanlık.' },
441
- { strong: 'Güvenli İletişim', text: 'Şifreleme ve güvenlik protokollerini güçlendiren modeller.' }
442
- ]
443
- }
444
- };
445
-
446
- const modalOverlay = document.getElementById('modalOverlay');
447
- const modalTitle = document.getElementById('modalTitle');
448
- const modalDesc = document.getElementById('modalDesc');
449
- const modalList = document.getElementById('modalList');
450
-
451
- function openModal(key) {
452
- const data = contentData[key];
453
- if(!data) return;
454
-
455
- modalTitle.innerText = data.title;
456
- modalDesc.innerText = data.desc;
457
-
458
- // Clear and populate list
459
- modalList.innerHTML = '';
460
- data.list.forEach(item => {
461
- const li = document.createElement('li');
462
- li.innerHTML = `<strong>${item.strong}</strong>${item.text}`;
463
- modalList.appendChild(li);
464
- });
465
-
466
- modalOverlay.classList.add('active');
467
- }
468
-
469
- function closeModal() {
470
- modalOverlay.classList.remove('active');
471
- }
472
-
473
- // Close modal when clicking outside
474
- modalOverlay.addEventListener('click', (e) => {
475
- if (e.target === modalOverlay) {
476
- closeModal();
477
- }
478
- });
479
- </script>
480
- </body>
481
- </html>
 
1
+ Harika bir soru! Kodun içine ne yaptığını ve nasıl çalıştığını adım adım anlatayım. Bu proje, **"AI for Humanity" (İyilik için Yapay Zeka)** temasına uygun, modern ve etkileşimli bir web arayüzü.
2
+
3
+ İşte yaptığım değişikliklerin ve kodun mantığının detayları:
4
+
5
+ ### 1. Tasarım ve Stil (CSS)
6
+ Kodun en görsel kısmı CSS tarafında. Modern bir "Dark Mode" (Koyu Tema) tasarımı seçtim.
7
+
8
+ * **Renk Paleti (`:root`):**
9
+ * `--bg-color`: Koyu lacivert/siyah tonları (#0f172a) kullanarak gözü yormayan, premium bir arka plan oluşturdu.
10
+ * `--primary` ve `--accent`: Mavi ve turkuaz tonları (#38bdf8, #22d3ee) kullanarak teknoloji ve yapay zeka hissini verdim.
11
+ * **Glassmorphism (Cam Efekti):** Header (üst menü) kısmında `backdrop-filter: blur(12px)` kullanarak arka planın bulanık geçmesini sağladım. Bu, modern UI tasarımında çok popülerdir.
12
+ * **Grid Yapısı:** Kartları yerleştirmek için `display: grid` ve `grid-template-columns: repeat(auto-fit, ...)` kullandım. Bu kod, ekran küçüldüğünde kartların otomatik olarak tek satıra düşmesini, ekran büyüdüğünde yan yana dizilmesini sağlar (Responsive).
13
+ * **Hover Efektleri:** Kartların üzerine gelince (`:hover`) hafifçe yukarı kalkması (`transform: translateY(-5px)`) ve parlama efekti (`box-shadow`) ile kullanıcıya "buna tıkla" hissi verdim.
14
+ * **Gradient Text:** Başlıklarda (`h1`) ve marka isminde renk geçişleri (`linear-gradient`) kullanarak metnin sıkıcı düz beyaz olmasını engelledim.
15
+
16
+ ### 2. HTML Yapısı
17
+ HTML kısmı semantik (anlamsal) etiketlerle temiz bir yapıya sahip:
18
+
19
+ * **Header:** Marka adı ve "Built with anycoder" linki sabit olarak üstte duruyor.
20
+ * **Hero Section:** Kullanıcıyı karşılayan büyük başlık ve açıklama metni.
21
+ * **Grid Container:** İçerideki kartların (Card) bulunduğu ana alan.
22
+ * **Cards (Kartlar):** Her bir kategori (Sağlık, Eğitim vb.) bir `<article>` etiketi içinde. İçinde ikon, başlık, açıklama ve "Projeleri Gör" butonu var.
23
+ * **Modal (Popup):** Sayfanın en altına gizli bir pencere (`modal-overlay`) koydum. Başlangıçta görünmez (`opacity: 0`), kullanıcı bir kartı tıkladığında açılır.
24
+
25
+ ### 3. JavaScript Mantığı (İşlevsellik)
26
+ JavaScript kısmı sayfanın "canlı" olmasını sağlar.
27
+
28
+ * **Veri Yapısı (`contentData`):**
29
+ * Kodun içinde karmaşık HTML yazmak yerine, verileri bir JavaScript nesnesi (object) içinde sakladım.
30
+ * Örneğin: `'health': { title: '...', list: [...] }` şeklinde. Bu, veriyi yönetmek ve değiştirmek çok daha kolaydır.
31
+ * **Etkileşim (`openModal`):**
32
+ * Bir kart tıklandığında `onclick="openModal('health')"` tetiklenir.
33
+ * JavaScript, bu anahtarı (`health`) alır, `contentData` içinden ilgili verileri bulur.
34
+ * Modal penceresinin başlığını, açıklamasını ve listesini (`ul` içindeki `li`'leri) dinamik olarak doldurur.
35
+ * Son olarak `.active` sınıfını ekleyerek pencereyi görünür yapar.
36
+ * **Kapatma İşlemi:**
37
+ * "Kapat" butonu veya pencere dışına tıklayınca `closeModal` çalışır ve pencereyi kapatır.
38
+
39
+ ### Özetle Ne Oluşturdum?
40
+ Eskiden sadece düz metinler olan bir sayfayı;
41
+ 1. **Görsel olarak zengin** (gradientler, ikonlar, gölgeler),
42
+ 2. **Mobil uyumlu** (telefonda tek sütun, bilgisayarda çok sütun),
43
+ 3. **İçerik yüklü** (JavaScript ile dinamik içerik gösteren)
44
+ bir uygulamaya dönüştürdüm.
45
+
46
+ Kullanıcı bir kartı tıkladığında sayfa yenilenmez, sadece ilgili pencere (modal) açılır ve detaylar orada gösterilir. Bu, kullanıcı deneyimi (UX) açısından çok daha hızlı ve modern bir yöntemdir.