|
5 | 5 | <meta name="viewport" content="width=device-width, initial-scale=1" /> |
6 | 6 | <title>SCode — Developer Portfolio</title> |
7 | 7 | <link rel="stylesheet" href="style.css" /> |
8 | | - <meta name="description" content="SCode — Web developer. Creative developer passionate about design, code, and user experience." /> |
9 | | - |
10 | | - <!-- Favicon --> |
| 8 | + <meta name="description" content="SCode — Creative developer passionate about design, code, and user experience." /> |
11 | 9 | <link rel="icon" href="https://raw.githubusercontent.com/SCodeGit/scode.git.io/main/images/scode.jpg" type="image/jpeg"> |
12 | | - <link rel="apple-touch-icon" href="https://raw.githubusercontent.com/SCodeGit/scode.git.io/main/images/scode.jpg"> |
13 | | - |
14 | | - <!-- Theme preference --> |
15 | | - <meta name="color-scheme" content="light dark"> |
16 | 10 | </head> |
| 11 | + |
17 | 12 | <body class="dark-theme"> |
18 | | - <!-- Background overlay for particles/matrix --> |
19 | 13 | <div id="backgroundParticles"></div> |
20 | | - <!-- Theme toggle --> |
21 | | - <button class="theme-toggle" id="themeToggle" title="Toggle light/dark" aria-label="Toggle theme">🌙</button> |
22 | 14 |
|
23 | 15 | <!-- Header / Hero --> |
24 | | - <header class="hero-outer"> |
| 16 | + <header class="hero-outer" data-cms-edit="true"> |
25 | 17 | <div class="container hero-inner"> |
26 | 18 | <div class="logo-wrap"> |
27 | 19 | <a href="index.html"> |
28 | 20 | <img src="https://raw.githubusercontent.com/SCodeGit/scode.git.io/main/images/scode.jpg" alt="SCode logo" class="hero-logo neon-glow"> |
29 | 21 | </a> |
30 | 22 | </div> |
31 | | - <div class="hero-text" style="line-height:1.2;"> |
| 23 | + <div class="hero-text"> |
32 | 24 | <h1 class="name glitch">SCode</h1> |
33 | | - <p class="tagline"><span id="typed"></span></p> |
| 25 | + <p class="tagline"><span id="typed">Hi, I’m SCode — a creative developer passionate about design, code, and user experience.</span></p> |
34 | 26 | <div class="hero-cta"> |
35 | | - <a class="btn primary neon-btn" id="whatsappBtn" href="https://wa.me/233555578864" target="_blank" rel="noopener">Hire Me (WhatsApp)</a> |
| 27 | + <a class="btn primary neon-btn" href="https://wa.me/233555578864" target="_blank" rel="noopener">Hire Me</a> |
| 28 | + <a class="btn ghost neon-btn" href="https://github.com/SCodeGit" target="_blank" rel="noopener">GitHub</a> |
36 | 29 | </div> |
37 | 30 | </div> |
38 | 31 | </div> |
39 | 32 | </header> |
40 | 33 |
|
41 | | - <!-- About / Intro --> |
42 | | - <section class="section about" id="about" style="padding-top:40px;"> |
43 | | - <div class="container" style="line-height:1.4;"> |
44 | | - <p><span id="typedIntro"></span></p> |
| 34 | + <!-- About --> |
| 35 | + <section class="section about" data-cms-edit="true"> |
| 36 | + <div class="container"> |
| 37 | + <h2 class="glitch">About</h2> |
| 38 | + <p>Hi — I’m <strong>SCode</strong>, a creative developer passionate about design, code, and user experience. I build clean, responsive websites for NGOs, startups, and businesses.</p> |
45 | 39 | </div> |
46 | 40 | </section> |
47 | 41 |
|
48 | 42 | <!-- Projects --> |
49 | | - <section class="section projects" id="projects"> |
| 43 | + <section class="section projects" data-cms-edit="true"> |
50 | 44 | <div class="container"> |
51 | 45 | <h2 class="glitch">Selected Projects</h2> |
52 | 46 | <div class="projects-grid"> |
53 | | - |
54 | | - <!-- Project 1 --> |
55 | 47 | <a class="project-card neon-glow" href="https://scodegit.github.io/pacesettersfoundation.github.io/" target="_blank" rel="noopener"> |
56 | | - <img src="https://raw.githubusercontent.com/SCodeGit/scode.git.io/main/images/scode.jpg" alt="Pacesetters Foundation"> |
| 48 | + <img src="https://raw.githubusercontent.com/SCodeGit/scode.git.io/main/images/scode.jpg" alt="Pacesetters"> |
57 | 49 | <div class="project-body"> |
58 | 50 | <h3>Pacesetters Foundation</h3> |
59 | | - <p>Multi-page NGO site with donation and community sections.</p> |
| 51 | + <p>Multi-page NGO site: donations, programs, and team profiles.</p> |
60 | 52 | </div> |
61 | 53 | </a> |
62 | | - |
63 | | - <!-- Project 2 --> |
64 | | - <a class="project-card neon-glow" href="https://scodegit.github.io/Bowiri-Traditional-Council/index.html" target="_blank" rel="noopener"> |
65 | | - <img src="https://raw.githubusercontent.com/SCodeGit/Bowiri-Traditional-Council/28857d96cf2048e159e3a22335a78a7f13cf84a6/king%20logo.png" alt="Bowiri Traditional Council"> |
| 54 | + <div class="project-card neon-glow"> |
66 | 55 | <div class="project-body"> |
67 | 56 | <h3>Bowiri Traditional Council</h3> |
68 | | - <p>Elegant traditional council website highlighting culture, leadership, and heritage.</p> |
69 | | - </div> |
70 | | - </a> |
71 | | - |
72 | | - <!-- Project 3 placeholder --> |
73 | | - <div class="project-card placeholder neon-glow"> |
74 | | - <div class="project-body"> |
75 | | - <h3>Project Three</h3> |
76 | | - <p>Coming soon — demo and case study will be added here.</p> |
| 57 | + <p>Official website showcasing heritage, leadership, and community development.</p> |
| 58 | + <a href="https://scodegit.github.io/Bowiri-Traditional-Council/" target="_blank" rel="noopener">Visit site →</a> |
77 | 59 | </div> |
78 | 60 | </div> |
79 | | - |
80 | 61 | </div> |
81 | 62 | </div> |
82 | 63 | </section> |
83 | 64 |
|
84 | 65 | <!-- Contact --> |
85 | | - <section class="section contact" id="contact"> |
| 66 | + <section class="section contact" data-cms-edit="true"> |
86 | 67 | <div class="container"> |
87 | 68 | <h2 class="glitch">Contact</h2> |
88 | | - <div class="contact-grid"> |
89 | | - <div class="contact-card neon-glow"> |
90 | | - <h3>Get in touch</h3> |
91 | | - <p>Email: <a href=" mailto:[email protected]" >[email protected]</a></p> |
92 | | - <p>WhatsApp: <a href="https://wa.me/233555578864" target="_blank" rel="noopener">+233 55 557 8864</a></p> |
93 | | - <p>Facebook: <a href="https://www.facebook.com/people/Atubra-Abraham/100072576882412/" target="_blank" rel="noopener">Atubra Abraham</a></p> |
94 | | - </div> |
95 | | - |
96 | | - <div class="contact-card neon-glow"> |
97 | | - <h3>Message</h3> |
98 | | - <form id="contactForm"> |
99 | | - <input name="name" placeholder="Your name" required> |
100 | | - <input name="email" type="email" placeholder="Your email" required> |
101 | | - <textarea name="message" rows="4" placeholder="Your message" required></textarea> |
102 | | - <button class="btn primary neon-btn" type="submit">Send</button> |
103 | | - <p id="formStatus" style="margin-top:10px;"></p> |
104 | | - </form> |
105 | | - </div> |
106 | | - |
107 | | - </div> |
| 69 | + <p>Email: <a href=" mailto:[email protected]" >[email protected]</a></p> |
| 70 | + <p>WhatsApp: <a href="https://wa.me/233555578864" target="_blank" rel="noopener">+233 55 557 8864</a></p> |
108 | 71 | </div> |
109 | 72 | </section> |
110 | 73 |
|
111 | 74 | <!-- Footer --> |
112 | | - <footer class="footer neon-glow"> |
| 75 | + <footer class="footer neon-glow" data-cms-edit="true"> |
113 | 76 | <div class="container footer-inner"> |
114 | 77 | <div class="left"> |
115 | 78 | <strong>SCode</strong><br> |
116 | 79 | <small>© 2025 All Rights Reserved — built by |
117 | 80 | <a class="dev-link" href="index.html">SCode</a> |
118 | 81 | </small> |
119 | 82 | </div> |
120 | | - <div class="right social-links"> |
121 | | - <a href="https://www.facebook.com/people/Atubra-Abraham/100072576882412/" target="_blank" rel="noopener">Facebook</a> |
122 | | - <a href="https://wa.me/233555578864" target="_blank" rel="noopener">WhatsApp</a> |
123 | | - </div> |
124 | 83 | </div> |
125 | 84 | </footer> |
126 | 85 |
|
127 | | - <button id="topBtn" title="Back to top" class="neon-btn">↑</button> |
128 | | - |
129 | | - <!-- Typewriter Script --> |
130 | | - <script> |
131 | | - function typeWriter(element, text, speed = 40, callback = null) { |
132 | | - let i = 0; |
133 | | - element.textContent = ''; |
134 | | - function type() { |
135 | | - if (i < text.length) { |
136 | | - element.textContent += text.charAt(i); |
137 | | - i++; |
138 | | - setTimeout(type, speed); |
139 | | - } else if (callback) callback(); |
140 | | - } |
141 | | - type(); |
142 | | - } |
143 | | - |
144 | | - // Hero animation |
145 | | - const typedEl = document.getElementById('typed'); |
146 | | - typeWriter(typedEl, "Crafting sleek, responsive web experiences with precision and creativity."); |
147 | | - |
148 | | - // About/Intro animation |
149 | | - const typedIntro = document.getElementById('typedIntro'); |
150 | | - typeWriter(typedIntro, "Hi — I’m SCode. I specialize in building modern, responsive websites for startups, NGOs, and businesses, blending design, code, and user experience with precision and creativity."); |
151 | | - </script> |
152 | | - |
153 | | - <!-- Contact Form Script --> |
154 | | - <script> |
155 | | - const form = document.getElementById('contactForm'); |
156 | | - const status = document.getElementById('formStatus'); |
157 | | - |
158 | | - form.addEventListener('submit', function(event) { |
159 | | - event.preventDefault(); |
160 | | - const formData = new FormData(form); |
161 | | - |
162 | | - fetch('https://formspree.io/f/xwpwvqaz', { |
163 | | - method: 'POST', |
164 | | - body: formData, |
165 | | - headers: {'Accept': 'application/json'} |
166 | | - }).then(response => { |
167 | | - if (response.ok) { |
168 | | - status.style.color = 'lime'; |
169 | | - status.textContent = '✅ Message sent successfully! Thank you.'; |
170 | | - form.reset(); |
171 | | - } else { |
172 | | - response.json().then(data => { |
173 | | - if (data.errors) { |
174 | | - status.style.color = 'red'; |
175 | | - status.textContent = '❌ Error sending message: ' + data.errors.map(e => e.message).join(', '); |
176 | | - } else { |
177 | | - status.style.color = 'red'; |
178 | | - status.textContent = '❌ Something went wrong. Please try again later.'; |
179 | | - } |
180 | | - }); |
181 | | - } |
182 | | - }).catch(error => { |
183 | | - status.style.color = 'red'; |
184 | | - status.textContent = '❌ Network error. Please try again later.'; |
185 | | - }); |
186 | | - }); |
187 | | - </script> |
188 | | - |
189 | | - <!-- External Script --> |
190 | 86 | <script src="script.js"></script> |
191 | 87 | </body> |
192 | 88 | </html> |
0 commit comments