cenktekin/codesync-hub-github-edition
0
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.0">6 <title>CodeWave Workshop - Cenk's Digital Playground</title>7 <link rel="icon" type="image/x-icon" href="/static/favicon.ico">8 <script src="https://cdn.tailwindcss.com"></script>9 <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>10 <script src="https://unpkg.com/feather-icons"></script>11 <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>12 <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.globe.min.js"></script>13 <link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Inter:wght@300;400;600&display=swap" rel="stylesheet">14 <style>15 :root {16 --neon-blue: #00f0ff;17 --neon-pink: #ff007a;18 --dark-bg: #0a0a0f;19 --darker-bg: #050508;20 --terminal-green: #00ff88;21 }22 23 body {24 font-family: 'Inter', sans-serif;25 background: var(--dark-bg);26 color: white;27 overflow-x: hidden;28 }29 30 .code-font {31 font-family: 'JetBrains Mono', monospace;32 }33 34 .neon-glow {35 box-shadow: 0 0 10px var(--neon-blue), 0 0 20px var(--neon-blue), 0 0 40px var(--neon-blue);36 }37 38 .pink-glow {39 box-shadow: 0 0 10px var(--neon-pink), 0 0 20px var(--neon-pink), 0 0 40px var(--neon-pink);40 }41 42 .terminal-text {43 color: var(--terminal-green);44 text-shadow: 0 0 5px var(--terminal-green);45 }46 47 .gradient-bg {48 background: linear-gradient(135deg, var(--dark-bg) 0%, var(--darker-bg) 100%);49 }50 51 .circuit-pattern {52 background-image: 53 radial-gradient(circle at 25% 25%, rgba(0, 240, 255, 0.1) 2%, transparent 2%),54 radial-gradient(circle at 75% 75%, rgba(255, 0, 122, 0.1) 2%, transparent 2%);55 background-size: 50px 50px;56 }57 58 @keyframes float {59 0%, 100% { transform: translateY(0px); }60 50% { transform: translateY(-10px); }61 }62 63 .floating {64 animation: float 6s ease-in-out infinite;65 }66 67 .typing {68 overflow: hidden;69 border-right: 2px solid var(--neon-blue);70 white-space: nowrap;71 animation: typing 3.5s steps(40, end), blink-caret 0.75s step-end infinite;72 }73 74 @keyframes typing {75 from { width: 0 }76 to { width: 100% }77 }78 79 @keyframes blink-caret {80 from, to { border-color: transparent }81 50% { border-color: var(--neon-blue) }82 }83 </style>84</head>85<body class="gradient-bg circuit-pattern">86 <!-- Navigation -->87 <nav class="fixed w-full z-50 bg-black/80 backdrop-blur-lg border-b border-gray-800">88 <div class="container mx-auto px-6 py-4">89 <div class="flex justify-between items-center">90 <div class="flex items-center space-x-2">91 <div class="w-3 h-3 bg-red-500 rounded-full"></div>92 <div class="w-3 h-3 bg-yellow-500 rounded-full"></div>93 <div class="w-3 h-3 bg-green-500 rounded-full"></div>94 <span class="code-font text-xl font-bold text-white ml-2">cenk@workshop:~</span>95 </div>96 <div class="hidden md:flex space-x-8">97 <a href="#home" class="text-white hover:text-neon-blue transition-colors duration-300 code-font">~/home</a>98 <a href="#about" class="text-white hover:text-neon-pink transition-colors duration-300 code-font">~/about</a>99 <a href="#projects" class="text-white hover:text-neon-blue transition-colors duration-300 code-font">~/projects</a>100 <a href="#contact" class="text-white hover:text-neon-pink transition-colors duration-300 code-font">~/contact</a>101 </div>102 <button class="px-4 py-2 bg-neon-blue text-black rounded-lg hover:bg-neon-pink hover:text-white transition-all duration-300 code-font font-bold">103 $ theme-toggle104 </button>105 </div>106 </div>107 </nav>108 109 <!-- Hero Section -->110 <section id="home" class="min-h-screen flex items-center justify-center relative overflow-hidden">111 <div id="vanta-bg" class="absolute inset-0"></div>112 <div class="container mx-auto px-6 text-center relative z-10">113 <div class="max-w-4xl mx-auto">114 <div class="mb-8">115 <div class="text-6xl md:text-8xl font-bold code-font typing">116 > echo "Cenk Abi, Pratik Usta of Code"117 </div>118 </div>119 <p class="text-xl md:text-2xl text-gray-300 mb-12">120 Building cool stuff with AI & coffee โ๏ธ121 </p>122 <div class="flex flex-col md:flex-row gap-6 justify-center items-center">123 <button class="px-8 py-4 bg-neon-blue text-black rounded-xl hover:scale-105 transition-transform duration-300 code-font font-bold text-lg neon-glow">124 $ cd projects125 </button>126 <button class="px-8 py-4 border-2 border-neon-pink text-neon-pink rounded-xl hover:bg-neon-pink hover:text-black transition-all duration-300 code-font font-bold text-lg pink-glow">127 $ brew coffee128 </button>129 </div>130 </div>131 </div>132 133 <!-- Floating 3D Code Snippet -->134 <div class="absolute bottom-10 right-10 hidden lg:block">135 <div class="bg-black/80 backdrop-blur-lg rounded-2xl p-6 max-w-sm floating">136 <div class="flex space-x-2 mb-4">137 <div class="w-3 h-3 bg-red-500 rounded-full"></div>138 <div class="w-3 h-3 bg-yellow-500 rounded-full"></div>139 <div class="w-3 h-3 bg-green-500 rounded-full"></div>140 </div>141 <pre class="text-sm code-font terminal-text">142<span class="text-gray-400"># Welcome to my workshop!</span>143def hello_world():144 print("Debugging life one line at a time")145 return "Cenk Abi wuz here"146 147hello_world()148 </pre>149 </div>150 </div>151 </section>152 153 <!-- About Section -->154 <section id="about" class="py-20 bg-black/50">155 <div class="container mx-auto px-6">156 <h2 class="text-4xl md:text-5xl font-bold text-center mb-16 code-font">157 <span class="terminal-text">$</span> cat about_me.txt158 </h2>159 160 <div class="max-w-4xl mx-auto">161 <!-- Timeline -->162 <div class="space-y-12">163 <!-- Timeline Item 1 -->164 <div class="flex flex-col md:flex-row items-start">165 <div class="md:w-1/3 mb-4 md:mb-0">166 <div class="bg-neon-blue/20 border border-neon-blue rounded-xl p-6">167 <div class="text-neon-blue code-font font-bold text-lg">2018</div>168 <h3 class="text-white text-xl font-bold mt-2">First "Hello World"</h3>169 </div>170 </div>171 <div class="md:w-2/3">172 <div class="bg-gray-900/50 backdrop-blur-lg rounded-2xl p-6 border border-gray-800">173 <p class="text-gray-300 mb-4">174 The journey begins! Wrote my first Python script and immediately broke everything. 175 Good times!176 </p>177 <div class="flex flex-wrap gap-2">178 <span class="px-3 py-1 bg-python-yellow/20 text-yellow-300 rounded-full code-font text-sm">179 Python180 </span>181 </div>182 </div>183 </div>184 185 <!-- Timeline Item 2 -->186 <div class="flex flex-col md:flex-row items-start">187 <div class="md:w-1/3 mb-4 md:mb-0 md:order-2">188 <div class="bg-neon-pink/20 border border-neon-pink rounded-xl p-6">189 <div class="text-neon-pink code-font font-bold text-lg">2020</div>190 <h3 class="text-white text-xl font-bold mt-2">React Revelation</h3>191 </div>192 </div>193 <div class="md:w-2/3 md:order-1">194 <div class="bg-gray-900/50 backdrop-blur-lg rounded-2xl p-6 border border-gray-800">195 <p class="text-gray-300 mb-4">196 Discovered the magic of React and never looked back. 197 Started building things that don't just work, but actually look cool!198 </p>199 <div class="flex flex-wrap gap-2">200 <span class="px-3 py-1 bg-react-blue/20 text-blue-300 rounded-full code-font text-sm">201 React202 </span>203 <span class="px-3 py-1 bg-js-yellow/20 text-yellow-300 rounded-full code-font text-sm">204 JavaScript205 </span>206 </div>207 </div>208 </div>209 210 <!-- Timeline Item 3 -->211 <div class="flex flex-col md:flex-row items-start">212 <div class="md:w-1/3 mb-4 md:mb-0">213 <div class="bg-neon-blue/20 border border-neon-blue rounded-xl p-6">214 <div class="text-neon-blue code-font font-bold text-lg">2023</div>215 <h3 class="text-white text-xl font-bold mt-2">AI Awakening</h3>216 </div>217 </div>218 <div class="md:w-2/3">219 <div class="bg-gray-900/50 backdrop-blur-lg rounded-2xl p-6 border border-gray-800">220 <p class="text-gray-300 mb-4">221 Fell down the AI rabbit hole and emerged with Pratik Usta! 222 Now teaching machines to be as cool as my code.223 </p>224 <div class="flex flex-wrap gap-2">225 <span class="px-3 py-1 bg-ai-purple/20 text-purple-300 rounded-full code-font text-sm">226 AI/ML227 </span>228 <span class="px-3 py-1 bg-python-yellow/20 text-yellow-300 rounded-full code-font text-sm">229 Gemini API230 </span>231 </div>232 </div>233 </div>234 </div>235 </div>236 </div>237 </section>238 <!-- GitHub Stats Section -->239 <section class="py-12 bg-black/30">240 <div class="container mx-auto px-6">241 <div class="max-w-4xl mx-auto">242 <div class="grid grid-cols-1 md:grid-cols-3 gap-6">243 <div class="bg-gray-900/50 backdrop-blur-lg rounded-2xl p-6 border border-gray-800 text-center">244 <i data-feather="folder" class="w-12 h-12 text-neon-blue mx-auto mb-4"></i>245 <div class="text-3xl font-bold code-font terminal-text" id="total-repos">0</div>246 <p class="text-gray-400 code-font text-sm">Public Repositories</p>247 </div>248 <div class="bg-gray-900/50 backdrop-blur-lg rounded-2xl p-6 border border-gray-800 text-center">249 <i data-feather="star" class="w-12 h-12 text-neon-pink mx-auto mb-4"></i>250 <div class="text-3xl font-bold code-font terminal-text" id="total-stars">0</div>251 <p class="text-gray-400 code-font text-sm">Total Stars</p>252 </div>253 <div class="bg-gray-900/50 backdrop-blur-lg rounded-2xl p-6 border border-gray-800 text-center">254 <i data-feather="git-branch" class="w-12 h-12 text-terminal-green mx-auto mb-4"></i>255 <div class="text-3xl font-bold code-font terminal-text" id="total-forks">0</div>256 <p class="text-gray-400 code-font text-sm">Total Forks</p>257 </div>258 </div>259 </div>260 </section>261 262 <!-- Projects Section -->263 <section id="projects" class="py-20">264 <div class="container mx-auto px-6">265 <h2 class="text-4xl md:text-5xl font-bold text-center mb-16 code-font">266 <span class="terminal-text">$</span> fetch --github cenktekin --live267 </h2>268 269 <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8" id="projects-container">270 <!-- GitHub projects will be loaded here dynamically -->271 <div class="col-span-3 text-center py-12">272 <div class="animate-spin rounded-full h-12 w-12 border-b-2 border-neon-blue mx-auto mb-4"></div>273 <p class="text-gray-300 code-font">Loading GitHub projects...</p>274 </div>275 </div>276 </section>277<!-- Code Playground -->278 <section class="py-20 bg-black/50">279 <div class="container mx-auto px-6">280 <h2 class="text-4xl md:text-5xl font-bold text-center mb-16 code-font">281 <span class="terminal-text">$</span> ./playground.sh282 </h2>283 284 <div class="max-w-4xl mx-auto bg-gray-900/50 backdrop-blur-lg rounded-2xl p-6 border border-gray-800">285 <div class="grid grid-cols-1 lg:grid-cols-2 gap-8">286 <div>287 <div class="bg-black rounded-xl p-4 mb-4">288 <pre class="text-sm code-font text-white">289<span class="text-gray-400"># Try this in the playground!</span>290function greetCenk() {291 const message = "Cenk Abi wuz here!";292 console.log(message);293 return message;294}295 296greetCenk();297 </pre>298 </div>299 <button class="w-full px-4 py-3 bg-neon-blue text-black rounded-lg hover:scale-105 transition-transform duration-300 code-font font-bold text-lg neon-glow mb-4">300 $ node playground.js301 </button>302 </div>303 <div>304 <div class="bg-black rounded-xl p-4 h-32">305 <div class="text-sm code-font terminal-text" id="output">306 > Output will appear here...307 </div>308 </div>309 </div>310 </div>311 </div>312 </section>313 314 <!-- Contact Section -->315 <section id="contact" class="py-20">316 <div class="container mx-auto px-6">317 <h2 class="text-4xl md:text-5xl font-bold text-center mb-16 code-font">318 <span class="terminal-text">$</span> contact --fun-mode319 </h2>320 321 <div class="max-w-2xl mx-auto bg-gray-900/50 backdrop-blur-lg rounded-2xl p-8 border border-gray-800">322 <form class="space-y-6">323 <div>324 <label class="block text-white code-font text-sm mb-2" for="name">325 $ export NAME=326 </label>327 <input type="text" id="name" class="w-full bg-black border border-gray-700 rounded-lg px-4 py-3 text-white code-font focus:border-neon-blue focus:outline-none transition-colors duration-300" placeholder="Your awesome name">328 </div>329 330 <div>331 <label class="block text-white code-font text-sm mb-2" for="email">332 $ export EMAIL=333 </label>334 <input type="email" id="email" class="w-full bg-black border border-gray-700 rounded-lg px-4 py-3 text-white code-font focus:border-neon-pink focus:outline-none transition-colors duration-300" placeholder="your.email@domain.com">335 </div>336 337 <div>338 <label class="block text-white code-font text-sm mb-2" for="message">339 $ cat message.txt340 </label>341 <textarea id="message" rows="4" class="w-full bg-black border border-gray-700 rounded-lg px-4 py-3 text-white code-font focus:border-neon-blue focus:outline-none transition-colors duration-300" placeholder="Type your message here...">342 </textarea>343 </div>344 345 <!-- Coding Quiz CAPTCHA -->346 <div class="bg-black/50 rounded-xl p-4 border border-gray-700">347 <label class="block text-white code-font text-sm mb-2">348 $ ./captcha.sh349 </label>350 <p class="text-gray-300 mb-3 code-font">351 What's the output of: <span class="terminal-text">print("Cenk" + "Abi")</span>352 </p>353 <input type="text" class="w-full bg-gray-800 border border-gray-600 rounded-lg px-4 py-2 text-white code-font" placeholder="Your answer">354 </div>355 356 <button type="submit" class="w-full px-4 py-3 bg-neon-pink text-white rounded-lg hover:bg-neon-blue hover:text-black transition-all duration-300 code-font font-bold text-lg pink-glow">357 $ ./send_message.sh358 </button>359 </form>360 </div>361 </div>362 </section>363 364 <!-- Footer with Easter Egg -->365 <footer class="bg-black border-t border-gray-800 py-12 relative">366 <div class="container mx-auto px-6 text-center">367 <div class="mb-6">368 <div class="flex justify-center space-x-4 mb-4">369 <a href="#" class="text-gray-400 hover:text-neon-blue transition-colors duration-300">370 <i data-feather="github"></i>371 </a>372 <a href="#" class="text-gray-400 hover:text-neon-pink transition-colors duration-300">373 <i data-feather="twitter"></i>374 </a>375 <a href="#" class="text-gray-400 hover:text-neon-blue transition-colors duration-300">376 <i data-feather="linkedin"></i>377 </a>378 </div>379 <p class="text-gray-500 code-font text-sm">380 // Debugging life one line at a time //381 </p>382 </div>383 384 <!-- Easter Egg Mini Game -->385 <div class="mt-8 text-center">386 <button id="easter-egg-btn" class="px-4 py-2 bg-transparent border border-gray-600 text-gray-400 rounded-lg hover:border-neon-pink hover:text-neon-pink transition-all duration-300 code-font text-xs">387 $ ./secret_game.sh388 </button>389 </div>390 </div>391 </footer>392 <script>393 // Fetch GitHub projects394 async function fetchGitHubProjects() {395 try {396 const response = await fetch('https://api.github.com/users/cenktekin/repos?sort=updated&per_page=100');397 const projects = await response.json();398 399 const projectsContainer = document.getElementById('projects-container');400 projectsContainer.innerHTML = '';401 402 // Filter and display top 6 projects403 const filteredProjects = projects404 .filter(repo => !repo.fork && repo.description)405 .slice(0, 6);406 407 filteredProjects.forEach(repo => {408 const projectCard = document.createElement('div');409 projectCard.className = 'bg-gray-900/50 backdrop-blur-lg rounded-2xl p-6 border border-gray-800 hover:border-neon-blue transition-all duration-300 group';410 411 // Determine language color412 let langColor = 'bg-gray-500/20 text-gray-300';413 if (repo.language) {414 switch(repo.language.toLowerCase()) {415 case 'javascript':416 langColor = 'bg-js-yellow/20 text-yellow-300';417 break;418 case 'python':419 langColor = 'bg-python-yellow/20 text-yellow-300';420 break;421 case 'react':422 case 'typescript':423 langColor = 'bg-react-blue/20 text-blue-300';424 break;425 case 'java':426 langColor = 'bg-java-red/20 text-red-300';427 break;428 case 'html':429 langColor = 'bg-html-orange/20 text-orange-300';430 break;431 case 'css':432 langColor = 'bg-css-blue/20 text-blue-300';433 break;434 }435 }436 437 projectCard.innerHTML = `438 <div class="mb-4 h-48 bg-gradient-to-br from-neon-blue/20 to-neon-pink/20 rounded-xl flex items-center justify-center">439 <div class="text-center">440 <i data-feather="github" class="w-16 h-16 text-neon-blue mx-auto"></i>441 <h3 class="text-2xl font-bold text-white mt-4 code-font">${repo.name}</h3>442 </div>443 </div>444 <p class="text-gray-300 mb-4">445 ${repo.description || 'No description available'}446 </p>447 <div class="flex flex-wrap gap-2 mb-4">448 ${repo.language ? `<span class="px-3 py-1 ${langColor} rounded-full code-font text-sm">${repo.language}</span>` : ''}449 <span class="px-3 py-1 bg-gray-500/20 text-gray-300 rounded-full code-font text-sm">450 โญ ${repo.stargazers_count}451 </span>452 <span class="px-3 py-1 bg-gray-500/20 text-gray-300 rounded-full code-font text-sm">453 ๐ด ${repo.forks_count}454 </span>455 </div>456 <button onclick="window.open('${repo.html_url}', '_blank')" class="w-full px-4 py-2 bg-neon-blue text-black rounded-lg hover:bg-neon-pink transition-all duration-300 code-font font-bold">457 $ git clone ${repo.name}458 </button>459 `;460 461 projectsContainer.appendChild(projectCard);462 });463 464 // Update stats465 const totalStars = projects.reduce((sum, repo) => sum + repo.stargazers_count, 0);466 const totalForks = projects.reduce((sum, repo) => sum + repo.forks_count, 0);467 const publicRepos = projects.filter(repo => !repo.fork).length;468 469 document.getElementById('total-repos').textContent = publicRepos;470 document.getElementById('total-stars').textContent = totalStars;471 document.getElementById('total-forks').textContent = totalForks;472 473 } catch (error) {474 console.error('Error fetching GitHub projects:', error);475 document.getElementById('projects-container').innerHTML = `476 <div class="col-span-3 text-center py-12">477 <i data-feather="alert-triangle" class="w-16 h-16 text-neon-pink mx-auto mb-4"></i>478 <p class="text-gray-300 code-font">Unable to load GitHub projects. Check console for details.</p>479 </div>480 `;481 }482 }483 484 // Initialize Vanta.js background485 VANTA.GLOBE({486 el: "#vanta-bg",487 mouseControls: true,488 touchControls: true,489 gyroControls: false,490 minHeight: 200.00,491 minWidth: 200.00,492 scale: 1.00,493 scaleMobile: 1.00,494 color: 0x00f0ff,495 backgroundColor: 0x0a0a0f,496 size: 1.00497 });498 499 // Typing effect500 document.addEventListener('DOMContentLoaded', function() {501 const typingElement = document.querySelector('.typing');502 setTimeout(() => {503 typingElement.style.animation = 'none';504 typingElement.style.borderRight = 'none';505 }, 3500);506 507 // Load GitHub projects508 fetchGitHubProjects();509 510 // Code playground functionality511 document.querySelector('.neon-glow').addEventListener('click', function() {512 const output = document.getElementById('output');513 output.innerHTML = '> Cenk Abi wuz here!';514 setTimeout(() => {515 output.innerHTML = '> Output will appear here...';516 }, 3000);517 });518 519 // Easter egg mini-game520 document.getElementById('easter-egg-btn').addEventListener('click', function() {521 alert('๐ฎ Secret game activated! Imagine catching bugs like a pro! ๐');522 });523 524 // Smooth scrolling for navigation525 document.querySelectorAll('a[href^="#"]').forEach(anchor => {526 anchor.addEventListener('click', function (e) {527 e.preventDefault();528 const target = document.querySelector(this.getAttribute('href'));529 if (target) {530 target.scrollIntoView({531 behavior: 'smooth',532 block: 'start'533 });534 }535 });536 });537 538 // Initialize Feather Icons539 feather.replace();540 </script>541</body>542</html>543 