initial
This commit is contained in:
commit
bd54572858
224
index.html
Normal file
224
index.html
Normal file
@ -0,0 +1,224 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Ilya Rudkevich</title>
|
||||||
|
<script src="https://cdn.tailwindcss.com"></script>
|
||||||
|
|
||||||
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,100..900;1,100..900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap" rel="stylesheet">
|
||||||
|
<script src="https://kit.fontawesome.com/f502f0780c.js" crossorigin="anonymous"></script>
|
||||||
|
|
||||||
|
<script defer data-domain="rferee.dev" src="https://analytics.rfer.ee/js/script.js"></script>
|
||||||
|
|
||||||
|
<!-- External CSS -->
|
||||||
|
<link rel="stylesheet" href="styles.css">
|
||||||
|
|
||||||
|
<!-- External JavaScript -->
|
||||||
|
<script defer src="script.js"></script>
|
||||||
|
</head>
|
||||||
|
<body class="text-gray-100">
|
||||||
|
<div class="min-h-screen flex flex-col">
|
||||||
|
<!-- Main Content -->
|
||||||
|
<main class="container mx-auto px-6 md:px-8 py-12 flex-grow max-w-4xl">
|
||||||
|
<!-- Name and Header -->
|
||||||
|
<section class="mb-16 pt-6">
|
||||||
|
<div class="relative">
|
||||||
|
<!-- Animated background elements -->
|
||||||
|
<div class="absolute inset-0 overflow-hidden rounded-xl" style="z-index: 0;">
|
||||||
|
<div class="blob blob-1"></div>
|
||||||
|
<div class="blob blob-2"></div>
|
||||||
|
<div class="blob blob-3"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="glass-card rounded-xl p-8 mb-10 mx-auto overflow-hidden relative" style="z-index: 1;">
|
||||||
|
<div class="space-y-4">
|
||||||
|
<h1 class="text-5xl md:text-6xl font-black text-white">
|
||||||
|
<span class="bg-gradient-to-r from-white to-gray-300 text-transparent bg-clip-text">Ilya Rudkevich</span>
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="grid grid-cols-1 md:grid-cols-3 gap-2 pt-2">
|
||||||
|
<div class="flex items-center gap-2 text-white">
|
||||||
|
<i class="fa-solid fa-location-dot text-white icon"></i>
|
||||||
|
<span>Saint-Petersburg, Russia</span>
|
||||||
|
</div>
|
||||||
|
<div class="flex items-center gap-2 text-white col-span-2">
|
||||||
|
<i class="fa-solid fa-language text-white icon"></i>
|
||||||
|
<span>RU, EN, BY</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Contact Links -->
|
||||||
|
<div class="gap-x-6 gap-y-3 text-white pt-4">
|
||||||
|
<a href="#" class="text-white flex items-center gap-2 mb-2">
|
||||||
|
<i class="fa-brands fa-github icon"></i>
|
||||||
|
<span class="text-custom-lavender">@gfxv</span>
|
||||||
|
</a>
|
||||||
|
<a href="#" class="text-white flex items-center gap-2 mb-2">
|
||||||
|
<i class="fa-solid fa-file-lines icon"></i>
|
||||||
|
<span class="text-custom-lavender">Resume / CV
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
<div class="flex items-center gap-2 md:col-span-2 gap-2">
|
||||||
|
<i class="fa-solid fa-envelope icon"></i>
|
||||||
|
<span>ilya.rud.main [AT] gmail.com</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<!-- Skills Section -->
|
||||||
|
<section class="mb-16 skills-section">
|
||||||
|
<h2 class="section-heading text-white">Skills</h2>
|
||||||
|
|
||||||
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-5">
|
||||||
|
<div class="matte-glass rounded-lg p-5">
|
||||||
|
<h3 class="text-xl font-bold mb-4 text-white flex items-center">
|
||||||
|
<i class="fa-solid fa-code text-white mr-4 icon"></i>
|
||||||
|
Languages
|
||||||
|
</h3>
|
||||||
|
<div class="flex gap-2 flex-wrap">
|
||||||
|
<span class="skill-tag">Go</span>
|
||||||
|
<span class="skill-tag">Python</span>
|
||||||
|
<span class="skill-tag">JavaScript</span>
|
||||||
|
<span class="skill-tag">HTML/CSS</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="matte-glass rounded-lg p-5">
|
||||||
|
<h3 class="text-xl font-bold mb-4 text-white flex items-center">
|
||||||
|
<i class="fa-solid fa-server text-white mr-4 icon"></i>
|
||||||
|
Backend
|
||||||
|
</h3>
|
||||||
|
<div class="flex gap-2 flex-wrap">
|
||||||
|
<span class="skill-tag">Gin</span>
|
||||||
|
<span class="skill-tag">Fiber</span>
|
||||||
|
<span class="skill-tag">FastAPI</span>
|
||||||
|
<span class="skill-tag">REST</span>
|
||||||
|
<span class="skill-tag">gRPC</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="matte-glass rounded-lg p-5">
|
||||||
|
<h3 class="text-xl font-bold mb-4 text-white flex items-center">
|
||||||
|
<i class="fa-solid fa-database text-white mr-4 icon"></i>
|
||||||
|
Databases
|
||||||
|
</h3>
|
||||||
|
<div class="flex gap-2 flex-wrap">
|
||||||
|
<span class="skill-tag">PostgreSQL</span>
|
||||||
|
<span class="skill-tag">SQLite</span>
|
||||||
|
<span class="skill-tag">MongoDB</span>
|
||||||
|
<span class="skill-tag">Redis</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="matte-glass rounded-lg p-5">
|
||||||
|
<h3 class="text-xl font-bold mb-4 text-white flex items-center">
|
||||||
|
<i class="fa-solid fa-cloud text-white mr-4 icon"></i>
|
||||||
|
DevOps
|
||||||
|
</h3>
|
||||||
|
<div class="flex gap-2 flex-wrap">
|
||||||
|
<span class="skill-tag">Docker</span>
|
||||||
|
<span class="skill-tag">Portainer</span>
|
||||||
|
<span class="skill-tag">GitLab CI</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="matte-glass rounded-lg p-5 md:col-span-2">
|
||||||
|
<h3 class="text-xl font-bold mb-4 text-white flex items-center">
|
||||||
|
<i class="fa-solid fa-wrench text-white mr-4 icon"></i>
|
||||||
|
Tools
|
||||||
|
</h3>
|
||||||
|
<div class="flex gap-2 flex-wrap">
|
||||||
|
<span class="skill-tag">Git</span>
|
||||||
|
<span class="skill-tag">Make</span>
|
||||||
|
<span class="skill-tag">Task</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<!-- Projects Section -->
|
||||||
|
<section class="mb-12 projects-section">
|
||||||
|
<h2 class="section-heading text-white">Projects</h2>
|
||||||
|
|
||||||
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-5">
|
||||||
|
<div class="matte-glass rounded-lg p-6 md:col-span-2">
|
||||||
|
<div class="flex flex-col md:flex-row md:items-center justify-between mb-4">
|
||||||
|
<h4 class="text-2xl font-bold text-white mb-2 md:mb-0">Project One</h4>
|
||||||
|
<div class="flex gap-3">
|
||||||
|
<a href="#" class="text-gray-300 flex items-center" aria-label="GitHub Repository">
|
||||||
|
<i class="fa-brands fa-github icon text-lg"></i>
|
||||||
|
</a>
|
||||||
|
<a href="#" class="text-gray-300 flex items-center" aria-label="Live Demo">
|
||||||
|
<i class="fa-solid fa-link icon text-lg"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p class="text-gray-300 mb-4">A brief description of the first project and what technologies were used. Explains the problem solved and key features implemented.</p>
|
||||||
|
<div class="flex gap-2 flex-wrap">
|
||||||
|
<span class="project-tag">Go</span>
|
||||||
|
<span class="project-tag">PostgreSQL</span>
|
||||||
|
<span class="project-tag">Docker</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="matte-glass rounded-lg p-6">
|
||||||
|
<div class="flex flex-col md:flex-row md:items-center justify-between mb-4">
|
||||||
|
<h4 class="text-2xl font-bold text-white mb-2 md:mb-0">Project Two</h4>
|
||||||
|
<div class="flex gap-3">
|
||||||
|
<a href="#" class="text-gray-300 flex items-center" aria-label="GitHub Repository">
|
||||||
|
<i class="fa-brands fa-github icon text-lg"></i>
|
||||||
|
</a>
|
||||||
|
<a href="#" class="text-gray-300 flex items-center" aria-label="Live Demo">
|
||||||
|
<i class="fa-solid fa-link icon text-lg"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p class="text-gray-300 mb-4">A brief description of the second project with its key features. Demonstrates technical skills and problem-solving abilities.</p>
|
||||||
|
<div class="flex gap-2 flex-wrap">
|
||||||
|
<span class="project-tag">Python</span>
|
||||||
|
<span class="project-tag">FastAPI</span>
|
||||||
|
<span class="project-tag">MongoDB</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="matte-glass rounded-lg p-6">
|
||||||
|
<div class="flex flex-col md:flex-row md:items-center justify-between mb-4">
|
||||||
|
<h4 class="text-2xl font-bold text-white mb-2 md:mb-0">Project Three</h4>
|
||||||
|
<div class="flex gap-3">
|
||||||
|
<a href="#" class="text-gray-300 flex items-center" aria-label="GitHub Repository">
|
||||||
|
<i class="fa-brands fa-github icon text-lg"></i>
|
||||||
|
</a>
|
||||||
|
<a href="#" class="text-gray-300 flex items-center" aria-label="Live Demo">
|
||||||
|
<i class="fa-solid fa-link icon text-lg"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p class="text-gray-300 mb-4">An overview of the third project highlighting its innovative aspects. Shows creativity and technical expertise.</p>
|
||||||
|
<div class="flex gap-2 flex-wrap">
|
||||||
|
<span class="project-tag">JavaScript</span>
|
||||||
|
<span class="project-tag">HTML/CSS</span>
|
||||||
|
<span class="project-tag">Redis</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<!-- Subtle footer -->
|
||||||
|
<footer class="text-center text-gray-500 text-sm pt-4 pb-4">
|
||||||
|
© <span id="current-year"></span> Ilya Rudkevich. Designed and developed by <a href="https://rferee.dev" class="text-gray-400">@rferee</a>
|
||||||
|
</footer>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// Set the current year in the footer
|
||||||
|
document.getElementById('current-year').textContent = new Date().getFullYear();
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
4
script.js
Normal file
4
script.js
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
|
// Set the current year in the footer
|
||||||
|
document.getElementById('current-year').textContent = new Date().getFullYear();
|
||||||
|
});
|
||||||
193
styles.css
Normal file
193
styles.css
Normal file
@ -0,0 +1,193 @@
|
|||||||
|
body {
|
||||||
|
background-color: #0f1210;
|
||||||
|
font-family: 'Inter', sans-serif;
|
||||||
|
line-height: 1.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6 {
|
||||||
|
font-family: 'Inter Tight', sans-serif;
|
||||||
|
letter-spacing: -0.025em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.clickable {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Refined color palette */
|
||||||
|
:root {
|
||||||
|
--lavender-primary: #c2a0dc;
|
||||||
|
--lavender-secondary: #B39DDB;
|
||||||
|
--lavender-tertiary: #C9A3E4;
|
||||||
|
--lavender-dark: rgba(124, 99, 154, 0.1);
|
||||||
|
--bg-dark: #0f1210;
|
||||||
|
--bg-card: rgba(22, 27, 26, 0.7);
|
||||||
|
--text-light: #f3f4f6;
|
||||||
|
--text-muted: #9ca3af;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Custom color classes */
|
||||||
|
.bg-custom-lavender {
|
||||||
|
background-color: var(--lavender-primary);
|
||||||
|
}
|
||||||
|
.border-custom-lavender {
|
||||||
|
border-color: var(--lavender-primary);
|
||||||
|
}
|
||||||
|
.text-custom-lavender {
|
||||||
|
color: var(--lavender-primary);
|
||||||
|
}
|
||||||
|
.hover\:bg-custom-lavender:hover {
|
||||||
|
background-color: var(--lavender-primary);
|
||||||
|
}
|
||||||
|
.hover\:border-custom-lavender:hover {
|
||||||
|
border-color: var(--lavender-primary);
|
||||||
|
}
|
||||||
|
.hover\:text-custom-lavender:hover {
|
||||||
|
color: var(--lavender-primary);
|
||||||
|
}
|
||||||
|
.bg-custom-lavender-900\/30 {
|
||||||
|
background-color: var(--lavender-dark);
|
||||||
|
}
|
||||||
|
.text-custom-lavender-300 {
|
||||||
|
color: var(--lavender-primary);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Typography */
|
||||||
|
.section-heading {
|
||||||
|
font-weight: 800;
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
font-size: 1.75rem;
|
||||||
|
letter-spacing: -0.025em;
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
padding-bottom: 0.15rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section-heading::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 1px;
|
||||||
|
background-color: var(--text-light);
|
||||||
|
border-radius: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Business card glass effect */
|
||||||
|
.glass-card {
|
||||||
|
background: var(--bg-card);
|
||||||
|
backdrop-filter: blur(15px);
|
||||||
|
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3);
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Matte glass effect for skill and project blocks */
|
||||||
|
.matte-glass {
|
||||||
|
background: var(--bg-card);
|
||||||
|
backdrop-filter: blur(10px);
|
||||||
|
box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.15);
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden; /* Ensure the blob stays contained */
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
.contact-link {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Animated blobs with improved colors */
|
||||||
|
.blob {
|
||||||
|
position: absolute;
|
||||||
|
border-radius: 50%;
|
||||||
|
filter: blur(60px);
|
||||||
|
opacity: 0.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.blob-1 {
|
||||||
|
background-color: var(--lavender-primary);
|
||||||
|
width: 220px;
|
||||||
|
height: 220px;
|
||||||
|
top: -70px;
|
||||||
|
left: 20%;
|
||||||
|
animation: blob-move-1 25s ease-in-out infinite alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
.blob-2 {
|
||||||
|
background-color: var(--lavender-secondary);
|
||||||
|
width: 280px;
|
||||||
|
height: 280px;
|
||||||
|
bottom: -70px;
|
||||||
|
right: 15%;
|
||||||
|
animation: blob-move-2 20s ease-in-out infinite alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
.blob-3 {
|
||||||
|
background-color: var(--lavender-tertiary);
|
||||||
|
width: 200px;
|
||||||
|
height: 200px;
|
||||||
|
top: 40%;
|
||||||
|
left: 10%;
|
||||||
|
animation: blob-move-3 22s ease-in-out infinite alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blob-move-1 {
|
||||||
|
0% { transform: translate(0, 0) scale(1); }
|
||||||
|
33% { transform: translate(30px, 20px) scale(1.1); }
|
||||||
|
66% { transform: translate(-20px, 40px) scale(0.9); }
|
||||||
|
100% { transform: translate(10px, 30px) scale(1.05); }
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blob-move-2 {
|
||||||
|
0% { transform: translate(0, 0) scale(1); }
|
||||||
|
33% { transform: translate(-40px, -20px) scale(1.15); }
|
||||||
|
66% { transform: translate(20px, -30px) scale(0.95); }
|
||||||
|
100% { transform: translate(-15px, -25px) scale(1.1); }
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blob-move-3 {
|
||||||
|
0% { transform: translate(0, 0) scale(1); }
|
||||||
|
25% { transform: translate(8px, -10px) scale(0.98); }
|
||||||
|
50% { transform: translate(-10px, 8px) scale(1.03); }
|
||||||
|
75% { transform: translate(5px, -5px) scale(0.95); }
|
||||||
|
100% { transform: translate(7px, -7px) scale(1); }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Skill tags and project tags */
|
||||||
|
.skill-tag, .project-tag {
|
||||||
|
background-color: var(--lavender-dark);
|
||||||
|
color: var(--lavender-secondary);
|
||||||
|
padding: 0.25rem 0.75rem;
|
||||||
|
border-radius: 9999px;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Icons styling */
|
||||||
|
.icon {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
width: 1.25rem;
|
||||||
|
height: 1.25rem;
|
||||||
|
min-width: 1.25rem;
|
||||||
|
vertical-align: middle;
|
||||||
|
margin-top: 0px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Improved scrollbar */
|
||||||
|
::-webkit-scrollbar {
|
||||||
|
width: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-track {
|
||||||
|
background: rgba(15, 18, 16, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-thumb {
|
||||||
|
background: rgba(220, 187, 226, 0.3);
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-scrollbar-thumb:hover {
|
||||||
|
background: rgba(220, 187, 226, 0.5);
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user