cenktekin's picture
https://github.com/cenktekin adresinden projelerim ile ilgili güncel bilgileri alıp sayfaya entegre edebilir misin?
699bd48 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CodeWave Workshop - Cenk's Digital Playground</title>
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://unpkg.com/feather-icons"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.globe.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Inter:wght@300;400;600&display=swap" rel="stylesheet">
<style>
:root {
--neon-blue: #00f0ff;
--neon-pink: #ff007a;
--dark-bg: #0a0a0f;
--darker-bg: #050508;
--terminal-green: #00ff88;
}
body {
font-family: 'Inter', sans-serif;
background: var(--dark-bg);
color: white;
overflow-x: hidden;
}
.code-font {
font-family: 'JetBrains Mono', monospace;
}
.neon-glow {
box-shadow: 0 0 10px var(--neon-blue), 0 0 20px var(--neon-blue), 0 0 40px var(--neon-blue);
}
.pink-glow {
box-shadow: 0 0 10px var(--neon-pink), 0 0 20px var(--neon-pink), 0 0 40px var(--neon-pink);
}
.terminal-text {
color: var(--terminal-green);
text-shadow: 0 0 5px var(--terminal-green);
}
.gradient-bg {
background: linear-gradient(135deg, var(--dark-bg) 0%, var(--darker-bg) 100%);
}
.circuit-pattern {
background-image:
radial-gradient(circle at 25% 25%, rgba(0, 240, 255, 0.1) 2%, transparent 2%),
radial-gradient(circle at 75% 75%, rgba(255, 0, 122, 0.1) 2%, transparent 2%);
background-size: 50px 50px;
}
@keyframes float {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-10px); }
}
.floating {
animation: float 6s ease-in-out infinite;
}
.typing {
overflow: hidden;
border-right: 2px solid var(--neon-blue);
white-space: nowrap;
animation: typing 3.5s steps(40, end), blink-caret 0.75s step-end infinite;
}
@keyframes typing {
from { width: 0 }
to { width: 100% }
}
@keyframes blink-caret {
from, to { border-color: transparent }
50% { border-color: var(--neon-blue) }
}
</style>
</head>
<body class="gradient-bg circuit-pattern">
<!-- Navigation -->
<nav class="fixed w-full z-50 bg-black/80 backdrop-blur-lg border-b border-gray-800">
<div class="container mx-auto px-6 py-4">
<div class="flex justify-between items-center">
<div class="flex items-center space-x-2">
<div class="w-3 h-3 bg-red-500 rounded-full"></div>
<div class="w-3 h-3 bg-yellow-500 rounded-full"></div>
<div class="w-3 h-3 bg-green-500 rounded-full"></div>
<span class="code-font text-xl font-bold text-white ml-2">cenk@workshop:~</span>
</div>
<div class="hidden md:flex space-x-8">
<a href="#home" class="text-white hover:text-neon-blue transition-colors duration-300 code-font">~/home</a>
<a href="#about" class="text-white hover:text-neon-pink transition-colors duration-300 code-font">~/about</a>
<a href="#projects" class="text-white hover:text-neon-blue transition-colors duration-300 code-font">~/projects</a>
<a href="#contact" class="text-white hover:text-neon-pink transition-colors duration-300 code-font">~/contact</a>
</div>
<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">
$ theme-toggle
</button>
</div>
</div>
</nav>
<!-- Hero Section -->
<section id="home" class="min-h-screen flex items-center justify-center relative overflow-hidden">
<div id="vanta-bg" class="absolute inset-0"></div>
<div class="container mx-auto px-6 text-center relative z-10">
<div class="max-w-4xl mx-auto">
<div class="mb-8">
<div class="text-6xl md:text-8xl font-bold code-font typing">
> echo "Cenk Abi, Pratik Usta of Code"
</div>
</div>
<p class="text-xl md:text-2xl text-gray-300 mb-12">
Building cool stuff with AI & coffee ☕️
</p>
<div class="flex flex-col md:flex-row gap-6 justify-center items-center">
<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">
$ cd projects
</button>
<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">
$ brew coffee
</button>
</div>
</div>
</div>
<!-- Floating 3D Code Snippet -->
<div class="absolute bottom-10 right-10 hidden lg:block">
<div class="bg-black/80 backdrop-blur-lg rounded-2xl p-6 max-w-sm floating">
<div class="flex space-x-2 mb-4">
<div class="w-3 h-3 bg-red-500 rounded-full"></div>
<div class="w-3 h-3 bg-yellow-500 rounded-full"></div>
<div class="w-3 h-3 bg-green-500 rounded-full"></div>
</div>
<pre class="text-sm code-font terminal-text">
<span class="text-gray-400"># Welcome to my workshop!</span>
def hello_world():
print("Debugging life one line at a time")
return "Cenk Abi wuz here"
hello_world()
</pre>
</div>
</div>
</section>
<!-- About Section -->
<section id="about" class="py-20 bg-black/50">
<div class="container mx-auto px-6">
<h2 class="text-4xl md:text-5xl font-bold text-center mb-16 code-font">
<span class="terminal-text">$</span> cat about_me.txt
</h2>
<div class="max-w-4xl mx-auto">
<!-- Timeline -->
<div class="space-y-12">
<!-- Timeline Item 1 -->
<div class="flex flex-col md:flex-row items-start">
<div class="md:w-1/3 mb-4 md:mb-0">
<div class="bg-neon-blue/20 border border-neon-blue rounded-xl p-6">
<div class="text-neon-blue code-font font-bold text-lg">2018</div>
<h3 class="text-white text-xl font-bold mt-2">First "Hello World"</h3>
</div>
</div>
<div class="md:w-2/3">
<div class="bg-gray-900/50 backdrop-blur-lg rounded-2xl p-6 border border-gray-800">
<p class="text-gray-300 mb-4">
The journey begins! Wrote my first Python script and immediately broke everything.
Good times!
</p>
<div class="flex flex-wrap gap-2">
<span class="px-3 py-1 bg-python-yellow/20 text-yellow-300 rounded-full code-font text-sm">
Python
</span>
</div>
</div>
</div>
<!-- Timeline Item 2 -->
<div class="flex flex-col md:flex-row items-start">
<div class="md:w-1/3 mb-4 md:mb-0 md:order-2">
<div class="bg-neon-pink/20 border border-neon-pink rounded-xl p-6">
<div class="text-neon-pink code-font font-bold text-lg">2020</div>
<h3 class="text-white text-xl font-bold mt-2">React Revelation</h3>
</div>
</div>
<div class="md:w-2/3 md:order-1">
<div class="bg-gray-900/50 backdrop-blur-lg rounded-2xl p-6 border border-gray-800">
<p class="text-gray-300 mb-4">
Discovered the magic of React and never looked back.
Started building things that don't just work, but actually look cool!
</p>
<div class="flex flex-wrap gap-2">
<span class="px-3 py-1 bg-react-blue/20 text-blue-300 rounded-full code-font text-sm">
React
</span>
<span class="px-3 py-1 bg-js-yellow/20 text-yellow-300 rounded-full code-font text-sm">
JavaScript
</span>
</div>
</div>
</div>
<!-- Timeline Item 3 -->
<div class="flex flex-col md:flex-row items-start">
<div class="md:w-1/3 mb-4 md:mb-0">
<div class="bg-neon-blue/20 border border-neon-blue rounded-xl p-6">
<div class="text-neon-blue code-font font-bold text-lg">2023</div>
<h3 class="text-white text-xl font-bold mt-2">AI Awakening</h3>
</div>
</div>
<div class="md:w-2/3">
<div class="bg-gray-900/50 backdrop-blur-lg rounded-2xl p-6 border border-gray-800">
<p class="text-gray-300 mb-4">
Fell down the AI rabbit hole and emerged with Pratik Usta!
Now teaching machines to be as cool as my code.
</p>
<div class="flex flex-wrap gap-2">
<span class="px-3 py-1 bg-ai-purple/20 text-purple-300 rounded-full code-font text-sm">
AI/ML
</span>
<span class="px-3 py-1 bg-python-yellow/20 text-yellow-300 rounded-full code-font text-sm">
Gemini API
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- GitHub Stats Section -->
<section class="py-12 bg-black/30">
<div class="container mx-auto px-6">
<div class="max-w-4xl mx-auto">
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
<div class="bg-gray-900/50 backdrop-blur-lg rounded-2xl p-6 border border-gray-800 text-center">
<i data-feather="folder" class="w-12 h-12 text-neon-blue mx-auto mb-4"></i>
<div class="text-3xl font-bold code-font terminal-text" id="total-repos">0</div>
<p class="text-gray-400 code-font text-sm">Public Repositories</p>
</div>
<div class="bg-gray-900/50 backdrop-blur-lg rounded-2xl p-6 border border-gray-800 text-center">
<i data-feather="star" class="w-12 h-12 text-neon-pink mx-auto mb-4"></i>
<div class="text-3xl font-bold code-font terminal-text" id="total-stars">0</div>
<p class="text-gray-400 code-font text-sm">Total Stars</p>
</div>
<div class="bg-gray-900/50 backdrop-blur-lg rounded-2xl p-6 border border-gray-800 text-center">
<i data-feather="git-branch" class="w-12 h-12 text-terminal-green mx-auto mb-4"></i>
<div class="text-3xl font-bold code-font terminal-text" id="total-forks">0</div>
<p class="text-gray-400 code-font text-sm">Total Forks</p>
</div>
</div>
</div>
</section>
<!-- Projects Section -->
<section id="projects" class="py-20">
<div class="container mx-auto px-6">
<h2 class="text-4xl md:text-5xl font-bold text-center mb-16 code-font">
<span class="terminal-text">$</span> fetch --github cenktekin --live
</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8" id="projects-container">
<!-- GitHub projects will be loaded here dynamically -->
<div class="col-span-3 text-center py-12">
<div class="animate-spin rounded-full h-12 w-12 border-b-2 border-neon-blue mx-auto mb-4"></div>
<p class="text-gray-300 code-font">Loading GitHub projects...</p>
</div>
</div>
</section>
<!-- Code Playground -->
<section class="py-20 bg-black/50">
<div class="container mx-auto px-6">
<h2 class="text-4xl md:text-5xl font-bold text-center mb-16 code-font">
<span class="terminal-text">$</span> ./playground.sh
</h2>
<div class="max-w-4xl mx-auto bg-gray-900/50 backdrop-blur-lg rounded-2xl p-6 border border-gray-800">
<div class="grid grid-cols-1 lg:grid-cols-2 gap-8">
<div>
<div class="bg-black rounded-xl p-4 mb-4">
<pre class="text-sm code-font text-white">
<span class="text-gray-400"># Try this in the playground!</span>
function greetCenk() {
const message = "Cenk Abi wuz here!";
console.log(message);
return message;
}
greetCenk();
</pre>
</div>
<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">
$ node playground.js
</button>
</div>
<div>
<div class="bg-black rounded-xl p-4 h-32">
<div class="text-sm code-font terminal-text" id="output">
> Output will appear here...
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Contact Section -->
<section id="contact" class="py-20">
<div class="container mx-auto px-6">
<h2 class="text-4xl md:text-5xl font-bold text-center mb-16 code-font">
<span class="terminal-text">$</span> contact --fun-mode
</h2>
<div class="max-w-2xl mx-auto bg-gray-900/50 backdrop-blur-lg rounded-2xl p-8 border border-gray-800">
<form class="space-y-6">
<div>
<label class="block text-white code-font text-sm mb-2" for="name">
$ export NAME=
</label>
<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">
</div>
<div>
<label class="block text-white code-font text-sm mb-2" for="email">
$ export EMAIL=
</label>
<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">
</div>
<div>
<label class="block text-white code-font text-sm mb-2" for="message">
$ cat message.txt
</label>
<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...">
</textarea>
</div>
<!-- Coding Quiz CAPTCHA -->
<div class="bg-black/50 rounded-xl p-4 border border-gray-700">
<label class="block text-white code-font text-sm mb-2">
$ ./captcha.sh
</label>
<p class="text-gray-300 mb-3 code-font">
What's the output of: <span class="terminal-text">print("Cenk" + "Abi")</span>
</p>
<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">
</div>
<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">
$ ./send_message.sh
</button>
</form>
</div>
</div>
</section>
<!-- Footer with Easter Egg -->
<footer class="bg-black border-t border-gray-800 py-12 relative">
<div class="container mx-auto px-6 text-center">
<div class="mb-6">
<div class="flex justify-center space-x-4 mb-4">
<a href="#" class="text-gray-400 hover:text-neon-blue transition-colors duration-300">
<i data-feather="github"></i>
</a>
<a href="#" class="text-gray-400 hover:text-neon-pink transition-colors duration-300">
<i data-feather="twitter"></i>
</a>
<a href="#" class="text-gray-400 hover:text-neon-blue transition-colors duration-300">
<i data-feather="linkedin"></i>
</a>
</div>
<p class="text-gray-500 code-font text-sm">
// Debugging life one line at a time //
</p>
</div>
<!-- Easter Egg Mini Game -->
<div class="mt-8 text-center">
<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">
$ ./secret_game.sh
</button>
</div>
</div>
</footer>
<script>
// Fetch GitHub projects
async function fetchGitHubProjects() {
try {
const response = await fetch('https://api.github.com/users/cenktekin/repos?sort=updated&per_page=100');
const projects = await response.json();
const projectsContainer = document.getElementById('projects-container');
projectsContainer.innerHTML = '';
// Filter and display top 6 projects
const filteredProjects = projects
.filter(repo => !repo.fork && repo.description)
.slice(0, 6);
filteredProjects.forEach(repo => {
const projectCard = document.createElement('div');
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';
// Determine language color
let langColor = 'bg-gray-500/20 text-gray-300';
if (repo.language) {
switch(repo.language.toLowerCase()) {
case 'javascript':
langColor = 'bg-js-yellow/20 text-yellow-300';
break;
case 'python':
langColor = 'bg-python-yellow/20 text-yellow-300';
break;
case 'react':
case 'typescript':
langColor = 'bg-react-blue/20 text-blue-300';
break;
case 'java':
langColor = 'bg-java-red/20 text-red-300';
break;
case 'html':
langColor = 'bg-html-orange/20 text-orange-300';
break;
case 'css':
langColor = 'bg-css-blue/20 text-blue-300';
break;
}
}
projectCard.innerHTML = `
<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">
<div class="text-center">
<i data-feather="github" class="w-16 h-16 text-neon-blue mx-auto"></i>
<h3 class="text-2xl font-bold text-white mt-4 code-font">${repo.name}</h3>
</div>
</div>
<p class="text-gray-300 mb-4">
${repo.description || 'No description available'}
</p>
<div class="flex flex-wrap gap-2 mb-4">
${repo.language ? `<span class="px-3 py-1 ${langColor} rounded-full code-font text-sm">${repo.language}</span>` : ''}
<span class="px-3 py-1 bg-gray-500/20 text-gray-300 rounded-full code-font text-sm">
${repo.stargazers_count}
</span>
<span class="px-3 py-1 bg-gray-500/20 text-gray-300 rounded-full code-font text-sm">
🍴 ${repo.forks_count}
</span>
</div>
<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">
$ git clone ${repo.name}
</button>
`;
projectsContainer.appendChild(projectCard);
});
// Update stats
const totalStars = projects.reduce((sum, repo) => sum + repo.stargazers_count, 0);
const totalForks = projects.reduce((sum, repo) => sum + repo.forks_count, 0);
const publicRepos = projects.filter(repo => !repo.fork).length;
document.getElementById('total-repos').textContent = publicRepos;
document.getElementById('total-stars').textContent = totalStars;
document.getElementById('total-forks').textContent = totalForks;
} catch (error) {
console.error('Error fetching GitHub projects:', error);
document.getElementById('projects-container').innerHTML = `
<div class="col-span-3 text-center py-12">
<i data-feather="alert-triangle" class="w-16 h-16 text-neon-pink mx-auto mb-4"></i>
<p class="text-gray-300 code-font">Unable to load GitHub projects. Check console for details.</p>
</div>
`;
}
}
// Initialize Vanta.js background
VANTA.GLOBE({
el: "#vanta-bg",
mouseControls: true,
touchControls: true,
gyroControls: false,
minHeight: 200.00,
minWidth: 200.00,
scale: 1.00,
scaleMobile: 1.00,
color: 0x00f0ff,
backgroundColor: 0x0a0a0f,
size: 1.00
});
// Typing effect
document.addEventListener('DOMContentLoaded', function() {
const typingElement = document.querySelector('.typing');
setTimeout(() => {
typingElement.style.animation = 'none';
typingElement.style.borderRight = 'none';
}, 3500);
// Load GitHub projects
fetchGitHubProjects();
// Code playground functionality
document.querySelector('.neon-glow').addEventListener('click', function() {
const output = document.getElementById('output');
output.innerHTML = '> Cenk Abi wuz here!';
setTimeout(() => {
output.innerHTML = '> Output will appear here...';
}, 3000);
});
// Easter egg mini-game
document.getElementById('easter-egg-btn').addEventListener('click', function() {
alert('🎮 Secret game activated! Imagine catching bugs like a pro! 🐛');
});
// Smooth scrolling for navigation
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
const target = document.querySelector(this.getAttribute('href'));
if (target) {
target.scrollIntoView({
behavior: 'smooth',
block: 'start'
});
}
});
});
// Initialize Feather Icons
feather.replace();
</script>
</body>
</html>