11---
22import BaseLayout from ' ../layouts/BaseLayout.astro' ;
3- import { githubProfileSummary , monthlyContributions , contributedRepositories } from ' ../data/githubStats' ;
3+ import { monthlyContributions } from ' ../data/githubStats' ;
44
55const maxContrib = Math .max (... monthlyContributions .map (m => m .count ));
66---
77
8- <BaseLayout title =" GitHub Profile & Contributions | networkandcode" description =" Detailed breakdown and contribution graph of GitHub activity and repositories ." >
8+ <BaseLayout title =" GitHub Contribution Graph | networkandcode" description =" Live contribution graph and commit history for networkandcode on GitHub ." >
99 <div class =" container github-page" >
1010 <header class =" page-header" >
11- <div class =" header-badge" >🐙 Open Source Activity</div >
12- <h1 class =" page-title" >Contributed Repositories & Activity </h1 >
11+ <div class =" header-badge" >🐙 GitHub Activity</div >
12+ <h1 class =" page-title" >Contribution Graph </h1 >
1313 <p class =" page-subtitle" >
14- Repositories where < strong >networkandcode</ strong > has contributed code, built features, and maintained active projects.
14+ Commit history and contribution matrix from < a href = " https://github.com/networkandcode " target = " _blank " rel = " noopener " class = " highlight-link " >github.com/networkandcode → </ a >
1515 </p >
1616
1717 <div class =" github-action-banner glass-card" >
1818 <div >
19- <span class =" banner-label" >Official Profile:</span >
19+ <span class =" banner-label" >GitHub Profile:</span >
2020 <a href =" https://github.com/networkandcode" target =" _blank" rel =" noopener" class =" profile-link" >
21- github.com/networkandcode →
21+ github.com/networkandcode
2222 </a >
2323 </div >
24- <span class =" count-badge" >{ contributedRepositories .length } Contributed Repositories</span >
24+ <a href =" https://github.com/networkandcode" target =" _blank" rel =" noopener" class =" btn-profile-link" >
25+ View on GitHub →
26+ </a >
2527 </div >
2628 </header >
2729
28- <!-- Contributed Repositories Section -->
29- <section class =" section" >
30- <h2 class =" section-heading" >Repositories Contributed To</h2 >
31- <p class =" subtext" >Direct code contributions, open-source projects, and maintained repositories by networkandcode.</p >
32-
33- <div class =" repo-grid" >
34- { contributedRepositories .map (repo => (
35- <div class = " glass-card repo-card" >
36- <div class = " repo-card-top" >
37- <div class = " repo-name-group" >
38- <span class = " repo-icon" >📦</span >
39- <a href = { repo .url } target = " _blank" rel = " noopener" class = " repo-title" >{ repo .fullName } </a >
40- </div >
41- <span class = " role-badge" >{ repo .role } </span >
42- </div >
43- <p class = " repo-desc" >{ repo .description } </p >
44- <div class = " repo-card-bottom" >
45- <span class = " lang-tag" >{ repo .language } </span >
46- <a href = { repo .url } target = " _blank" rel = " noopener" class = " repo-link" >View Repo → </a >
47- </div >
48- </div >
49- ))}
50- </div >
51- </section >
52-
53- <!-- Contribution Graph -->
30+ <!-- GitHub Contribution Graph -->
5431 <section class =" section" >
5532 <div class =" glass-card" >
56- <h2 class =" section-heading" >Contribution Activity Graph</h2 >
57- <p class =" subtext" >Consistent commits across Cloud Native, Observability, and Agentic AI projects.</p >
33+ <div class =" card-header-flex" >
34+ <div >
35+ <h2 class =" section-heading" >Commit Activity Graph</h2 >
36+ <p class =" subtext" >Monthly contribution breakdown across open-source repositories and cloud projects.</p >
37+ </div >
38+ </div >
5839
5940 <div class =" graph-container" >
6041 { monthlyContributions .map (item => {
@@ -72,46 +53,13 @@ const maxContrib = Math.max(...monthlyContributions.map(m => m.count));
7253 </div >
7354 </div >
7455 </section >
75-
76- <!-- Language Breakdown & Category Distribution -->
77- <section class =" section grid-split" >
78- <div class =" glass-card" >
79- <h2 class =" section-heading" >Language Stack Breakdown</h2 >
80- <div class =" lang-list" >
81- { githubProfileSummary .topLanguages .map (lang => (
82- <div class = " lang-item" >
83- <div class = " lang-info" >
84- <span class = " lang-name" >{ lang .name } </span >
85- <span class = " lang-percent" >{ lang .percentage } %</span >
86- </div >
87- <div class = " progress-track" >
88- <div class = " progress-fill" style = { ` width: ${lang .percentage }%; background-color: ${lang .color } ` } ></div >
89- </div >
90- </div >
91- ))}
92- </div >
93- </div >
94-
95- <div class =" glass-card" >
96- <h2 class =" section-heading" >Repository Categories</h2 >
97- <ul class =" cat-list" >
98- { githubProfileSummary .categories .map (cat => (
99- <li class = " cat-item" >
100- <span class = " cat-bullet" >▹</span >
101- <span class = " cat-name" >{ cat .name } </span >
102- <span class = " cat-badge" >{ cat .count } repos</span >
103- </li >
104- ))}
105- </ul >
106- </div >
107- </section >
10856 </div >
10957</BaseLayout >
11058
11159<style >
11260 .github-page {
113- padding: 3rem 1.5rem;
114- max-width: 1000px ;
61+ padding: 3.5rem 1.5rem;
62+ max-width: 900px ;
11563 }
11664
11765 .page-header {
@@ -143,6 +91,11 @@ const maxContrib = Math.max(...monthlyContributions.map(m => m.count));
14391 margin-bottom: 1.75rem;
14492 }
14593
94+ .highlight-link {
95+ color: var(--accent-orange);
96+ font-weight: 600;
97+ }
98+
14699 .github-action-banner {
147100 display: flex;
148101 justify-content: space-between;
@@ -160,14 +113,20 @@ const maxContrib = Math.max(...monthlyContributions.map(m => m.count));
160113 font-weight: 700;
161114 }
162115
163- .count-badge {
164- background: rgba(251, 191, 36 , 0.15 );
165- color: var(--accent-amber );
166- border: 1px solid rgba(251, 191, 36 , 0.3);
167- padding: 0.3rem 0.8rem ;
116+ .btn-profile-link {
117+ background: rgba(249, 115, 22 , 0.12 );
118+ color: var(--accent-orange );
119+ border: 1px solid rgba(249, 115, 22 , 0.3);
120+ padding: 0.4rem 0.9rem ;
168121 border-radius: 8px;
169122 font-size: 0.85rem;
170123 font-weight: 600;
124+ transition: all 0.2s ease;
125+ }
126+
127+ .btn-profile-link:hover {
128+ background: rgba(249, 115, 22, 0.25);
129+ color: #ffffff;
171130 }
172131
173132 .section {
@@ -187,87 +146,12 @@ const maxContrib = Math.max(...monthlyContributions.map(m => m.count));
187146 margin-bottom: 1.75rem;
188147 }
189148
190- /* Contributed Repo Cards */
191- .repo-grid {
192- display: grid;
193- grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
194- gap: 1.25rem;
195- margin-bottom: 2rem;
196- }
197-
198- .repo-card {
199- display: flex;
200- flex-direction: column;
201- justify-content: space-between;
202- gap: 0.85rem;
203- }
204-
205- .repo-card-top {
206- display: flex;
207- justify-content: space-between;
208- align-items: flex-start;
209- gap: 0.5rem;
210- }
211-
212- .repo-name-group {
213- display: flex;
214- align-items: center;
215- gap: 0.4rem;
216- }
217-
218- .repo-icon {
219- font-size: 1.1rem;
220- }
221-
222- .repo-title {
223- font-weight: 700;
224- font-size: 1.05rem;
225- color: var(--text-main);
226- }
227-
228- .repo-title:hover {
229- color: var(--accent-blue);
230- }
231-
232- .role-badge {
233- background: rgba(56, 189, 248, 0.1);
234- color: var(--accent-blue);
235- border: 1px solid rgba(56, 189, 248, 0.25);
236- font-size: 0.75rem;
237- padding: 0.15rem 0.5rem;
238- border-radius: 6px;
239- white-space: nowrap;
240- }
241-
242- .repo-desc {
243- color: var(--text-muted);
244- font-size: 0.9rem;
245- line-height: 1.5;
246- }
247-
248- .repo-card-bottom {
249- display: flex;
250- justify-content: space-between;
251- align-items: center;
252- border-top: 1px solid var(--border-glass);
253- padding-top: 0.75rem;
254- }
255-
256- .lang-tag {
257- font-size: 0.75rem;
258- color: var(--text-muted);
259- }
260-
261- .repo-link {
262- font-size: 0.85rem;
263- font-weight: 600;
264- color: var(--accent-blue);
265- }
149+ /* Contribution Graph Styling */
266150 .graph-container {
267151 display: flex;
268152 justify-content: space-between;
269153 align-items: flex-end;
270- height: 180px ;
154+ height: 190px ;
271155 padding-top: 2rem;
272156 gap: 0.5rem;
273157 }
@@ -328,73 +212,6 @@ const maxContrib = Math.max(...monthlyContributions.map(m => m.count));
328212 margin-top: 0.5rem;
329213 }
330214
331- .grid-split {
332- display: grid;
333- grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
334- gap: 1.5rem;
335- }
336-
337- .lang-list {
338- display: flex;
339- flex-direction: column;
340- gap: 1.25rem;
341- margin-top: 1rem;
342- }
343-
344- .lang-info {
345- display: flex;
346- justify-content: space-between;
347- font-size: 0.95rem;
348- font-weight: 500;
349- margin-bottom: 0.35rem;
350- }
351-
352- .progress-track {
353- height: 8px;
354- background: rgba(255, 255, 255, 0.06);
355- border-radius: 9999px;
356- overflow: hidden;
357- }
358-
359- .progress-fill {
360- height: 100%;
361- border-radius: 9999px;
362- }
363-
364- .cat-list {
365- list-style: none;
366- display: flex;
367- flex-direction: column;
368- gap: 1rem;
369- margin-top: 1rem;
370- }
371-
372- .cat-item {
373- display: flex;
374- align-items: center;
375- justify-content: space-between;
376- gap: 0.5rem;
377- font-size: 0.95rem;
378- }
379-
380- .cat-bullet {
381- color: var(--accent-orange);
382- font-weight: bold;
383- }
384-
385- .cat-name {
386- flex: 1;
387- color: #e2e8f0;
388- }
389-
390- .cat-badge {
391- background: rgba(249, 115, 22, 0.1);
392- color: var(--accent-orange);
393- padding: 0.2rem 0.6rem;
394- border-radius: 6px;
395- font-size: 0.8rem;
396- }
397-
398215 @media (max-width: 640px) {
399216 .github-action-banner {
400217 flex-direction: column;
0 commit comments