Sourishdey05 commited on
Commit
6ce71c9
·
verified ·
1 Parent(s): 552fa2f

build the site

Browse files
Files changed (5) hide show
  1. README.md +8 -5
  2. components/navbar.js +137 -0
  3. index.html +41 -19
  4. script.js +96 -0
  5. style.css +70 -18
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Cloudbyte Maverick
3
- emoji: 🌖
4
- colorFrom: green
5
- colorTo: indigo
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: CloudByte Maverick ☁️🚀
3
+ colorFrom: red
4
+ colorTo: blue
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://huggingface.co/deepsite).
components/navbar.js ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomNavbar extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ nav {
7
+ width: 100%;
8
+ position: fixed;
9
+ top: 0;
10
+ z-index: 50;
11
+ backdrop-filter: blur(12px);
12
+ background-color: rgba(255,255,255,0.7);
13
+ box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05);
14
+ }
15
+ .container {
16
+ max-width: 1280px;
17
+ margin: 0 auto;
18
+ padding: 0 1rem;
19
+ }
20
+ .flex {
21
+ display: flex;
22
+ justify-content: space-between;
23
+ align-items: center;
24
+ height: 4rem;
25
+ }
26
+ .logo {
27
+ font-size: 1.25rem;
28
+ font-weight: 700;
29
+ background: linear-gradient(to right, #3b82f6, #10b981);
30
+ -webkit-background-clip: text;
31
+ background-clip: text;
32
+ color: transparent;
33
+ }
34
+ .nav-links {
35
+ display: none;
36
+ }
37
+ .nav-link {
38
+ padding: 0.5rem 1rem;
39
+ border-radius: 0.375rem;
40
+ font-size: 0.875rem;
41
+ font-weight: 500;
42
+ color: #4b5563;
43
+ transition: color 0.2s;
44
+ }
45
+ .nav-link:hover {
46
+ color: #2563eb;
47
+ }
48
+ .theme-toggle {
49
+ padding: 0.5rem;
50
+ border-radius: 9999px;
51
+ transition: background-color 0.2s;
52
+ }
53
+ .theme-toggle:hover {
54
+ background-color: rgba(0,0,0,0.05);
55
+ }
56
+ .mobile-menu-button {
57
+ padding: 0.5rem;
58
+ border-radius: 0.375rem;
59
+ transition: background-color 0.2s;
60
+ }
61
+ .mobile-menu-button:hover {
62
+ background-color: rgba(0,0,0,0.05);
63
+ }
64
+ .mobile-menu {
65
+ display: none;
66
+ background-color: rgba(255,255,255,0.9);
67
+ backdrop-filter: blur(12px);
68
+ }
69
+ .mobile-menu.show {
70
+ display: block;
71
+ }
72
+ .mobile-link {
73
+ display: block;
74
+ padding: 0.5rem 1rem;
75
+ border-radius: 0.375rem;
76
+ font-size: 1rem;
77
+ font-weight: 500;
78
+ color: #4b5563;
79
+ transition: color 0.2s;
80
+ }
81
+ .mobile-link:hover {
82
+ color: #2563eb;
83
+ }
84
+ @media (min-width: 768px) {
85
+ .nav-links {
86
+ display: flex;
87
+ align-items: center;
88
+ gap: 1rem;
89
+ margin-left: 2.5rem;
90
+ }
91
+ .mobile-button {
92
+ display: none;
93
+ }
94
+ }
95
+ </style>
96
+ <nav>
97
+ <div class="container">
98
+ <div class="flex">
99
+ <div class="flex-shrink-0">
100
+ <span class="logo">Sourish Dey</span>
101
+ </div>
102
+ <div class="nav-links">
103
+ <a href="#home" class="nav-link">Home</a>
104
+ <a href="#about" class="nav-link">About</a>
105
+ <a href="#education" class="nav-link">Education</a>
106
+ <a href="#skills" class="nav-link">Skills</a>
107
+ <a href="#projects" class="nav-link">Projects</a>
108
+ <a href="#certifications" class="nav-link">Certifications</a>
109
+ <a href="#contact" class="nav-link">Contact</a>
110
+ <button class="theme-toggle">
111
+ <i data-feather="sun"></i>
112
+ </button>
113
+ </div>
114
+ <div class="mobile-button">
115
+ <button class="mobile-menu-button">
116
+ <i data-feather="menu"></i>
117
+ </button>
118
+ </div>
119
+ </div>
120
+ </div>
121
+ <div class="mobile-menu">
122
+ <div class="container">
123
+ <a href="#home" class="mobile-link">Home</a>
124
+ <a href="#about" class="mobile-link">About</a>
125
+ <a href="#education" class="mobile-link">Education</a>
126
+ <a href="#skills" class="mobile-link">Skills</a>
127
+ <a href="#projects" class="mobile-link">Projects</a>
128
+ <a href="#certifications" class="mobile-link">Certifications</a>
129
+ <a href="#contact" class="mobile-link">Contact</a>
130
+ <button class="mobile-link">Toggle Theme</button>
131
+ </div>
132
+ </div>
133
+ </nav>
134
+ `;
135
+ }
136
+ }
137
+ customElements.define('custom-navbar', CustomNavbar);
index.html CHANGED
@@ -1,19 +1,41 @@
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" class="light">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <meta name="description" content="Sourish Dey - Cloud & Data Science Engineer | MLOps | AI/ML | DevOps | Cloud Computing">
7
+ <meta name="keywords" content="Cloud Engineer, Data Scientist, MLOps, DevOps, AI/ML, Portfolio">
8
+ <title>Sourish Dey | Cloud & Data Science Engineer</title>
9
+ <link rel="icon" type="image/x-icon" href="favicon.ico">
10
+ <link rel="stylesheet" href="style.css">
11
+ <script src="script.js" defer></script>
12
+ <script src="https://cdn.tailwindcss.com"></script>
13
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
14
+ <script src="https://unpkg.com/feather-icons"></script>
15
+ <script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
16
+ <link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
17
+ <link rel="preconnect" href="https://fonts.googleapis.com">
18
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
19
+ <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap" rel="stylesheet">
20
+ </head>
21
+ <body class="font-poppins bg-gradient-to-br from-blue-50 to-teal-50 text-gray-800 transition-colors duration-300">
22
+ <custom-navbar></custom-navbar>
23
+ <!-- Hero Section -->
24
+ <section id="home" class="min-h-screen flex items-center pt-16">
25
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-20">
26
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-12 items-center">
27
+ <div class="space-y-6" data-aos="fade-right">
28
+ <h1 class="text-4xl md:text-6xl font-bold leading-tight">
29
+ Hi, I'm <span class="bg-gradient-to-r from-blue-600 to-teal-500 bg-clip-text text-transparent">Sourish Dey</span>
30
+ </h1>
31
+ <div class="text-xl md:text-2xl text-gray-600">
32
+ <span id="typewriter" class="font-medium"></span>
33
+ </div>
34
+ <p class="text-gray-
35
+ <script src="components/navbar.js"></script>
36
+ <script>
37
+ feather.replace();
38
+ </script>
39
+ <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
40
+ </body>
41
+ </html>
script.js ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ document.addEventListener('DOMContentLoaded', function() {
2
+ // Initialize feather icons
3
+ feather.replace();
4
+
5
+ // Theme toggle functionality
6
+ const themeToggle = document.querySelectorAll('.theme-toggle, #mobile-theme-toggle');
7
+ themeToggle.forEach(button => {
8
+ button.addEventListener('click', toggleTheme);
9
+ });
10
+
11
+ // Mobile menu toggle
12
+ const mobileMenuButton = document.querySelector('.mobile-menu-button');
13
+ const mobileMenu = document.querySelector('.mobile-menu');
14
+
15
+ if (mobileMenuButton && mobileMenu) {
16
+ mobileMenuButton.addEventListener('click', () => {
17
+ mobileMenu.classList.toggle('show');
18
+ });
19
+ }
20
+
21
+ // Smooth scrolling for anchor links
22
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
23
+ anchor.addEventListener('click', function(e) {
24
+ e.preventDefault();
25
+ const targetId = this.getAttribute('href');
26
+ const targetElement = document.querySelector(targetId);
27
+
28
+ if (targetElement) {
29
+ window.scrollTo({
30
+ top: targetElement.offsetTop - 80,
31
+ behavior: 'smooth'
32
+ });
33
+
34
+ // Close mobile menu if open
35
+ if (mobileMenu && mobileMenu.classList.contains('show')) {
36
+ mobileMenu.classList.remove('show');
37
+ }
38
+ }
39
+ });
40
+ });
41
+
42
+ // Typewriter effect
43
+ const typewriterElement = document.getElementById('typewriter');
44
+ if (typewriterElement) {
45
+ const roles = ['Cloud Engineer', 'Data Scientist', 'MLOps Specialist', 'AI/ML Engineer'];
46
+ let roleIndex = 0;
47
+ let charIndex = 0;
48
+ let isDeleting = false;
49
+
50
+ function typeWriter() {
51
+ const currentRole = roles[roleIndex];
52
+
53
+ if (isDeleting) {
54
+ typewriterElement.textContent = currentRole.substring(0, charIndex - 1);
55
+ charIndex--;
56
+ } else {
57
+ typewriterElement.textContent = currentRole.substring(0, charIndex + 1);
58
+ charIndex++;
59
+ }
60
+
61
+ if (!isDeleting && charIndex === currentRole.length) {
62
+ isDeleting = true;
63
+ setTimeout(typeWriter, 2000);
64
+ } else if (isDeleting && charIndex === 0) {
65
+ isDeleting = false;
66
+ roleIndex = (roleIndex + 1) % roles.length;
67
+ setTimeout(typeWriter, 500);
68
+ } else {
69
+ setTimeout(typeWriter, isDeleting ? 50 : 150);
70
+ }
71
+ }
72
+
73
+ setTimeout(typeWriter, 1000);
74
+ }
75
+
76
+ // Initialize AOS
77
+ if (typeof AOS !== 'undefined') {
78
+ AOS.init({
79
+ duration: 800,
80
+ easing: 'ease-in-out',
81
+ once: true
82
+ });
83
+ }
84
+ });
85
+
86
+ function toggleTheme() {
87
+ const html = document.documentElement;
88
+ html.classList.toggle('dark');
89
+ localStorage.setItem('theme', html.classList.contains('dark') ? 'dark' : 'light');
90
+ }
91
+
92
+ // Check for saved theme preference
93
+ if (localStorage.getItem('theme') === 'dark' ||
94
+ (!localStorage.getItem('theme') && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
95
+ document.documentElement.classList.add('dark');
96
+ }
style.css CHANGED
@@ -1,28 +1,80 @@
1
- body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  }
5
 
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
 
 
9
  }
10
 
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
16
  }
17
 
18
  .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  }
25
 
26
- .card p:last-child {
27
- margin-bottom: 0;
28
  }
 
 
 
 
 
 
 
 
 
1
+ @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
2
+
3
+ :root {
4
+ --primary: #3b82f6;
5
+ --secondary: #10b981;
6
+ --text: #1f2937;
7
+ --bg: #f9fafb;
8
+ --card-bg: #ffffff;
9
+ }
10
+
11
+ .dark {
12
+ --primary: #60a5fa;
13
+ --secondary: #34d399;
14
+ --text: #f3f4f6;
15
+ --bg: #111827;
16
+ --card-bg: #1f2937;
17
  }
18
 
19
+ body {
20
+ font-family: 'Poppins', sans-serif;
21
+ background-color: var(--bg);
22
+ color: var(--text);
23
+ transition: background-color 0.3s, color 0.3s;
24
  }
25
 
26
+ .gradient-text {
27
+ background: linear-gradient(to right, var(--primary), var(--secondary));
28
+ -webkit-background-clip: text;
29
+ background-clip: text;
30
+ color: transparent;
31
  }
32
 
33
  .card {
34
+ background-color: var(--card-bg);
35
+ border-radius: 0.5rem;
36
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
37
+ transition: transform 0.3s, box-shadow 0.3s;
38
+ }
39
+
40
+ .card:hover {
41
+ transform: translateY(-5px);
42
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
43
+ }
44
+
45
+ .section {
46
+ padding: 5rem 0;
47
+ }
48
+
49
+ .container {
50
+ width: 100%;
51
+ max-width: 1280px;
52
+ margin: 0 auto;
53
+ padding: 0 1rem;
54
+ }
55
+
56
+ /* Hero Section */
57
+ .hero {
58
+ min-height: 100vh;
59
+ display: flex;
60
+ align-items: center;
61
+ padding-top: 4rem;
62
+ }
63
+
64
+ /* Animation */
65
+ @keyframes fadeIn {
66
+ from { opacity: 0; transform: translateY(20px); }
67
+ to { opacity: 1; transform: translateY(0); }
68
  }
69
 
70
+ .animate-fade {
71
+ animation: fadeIn 0.6s ease-out forwards;
72
  }
73
+
74
+ /* Responsive */
75
+ @media (max-width: 768px) {
76
+ .hero {
77
+ padding-top: 6rem;
78
+ text-align: center;
79
+ }
80
+ }