argobox/src/pages/projects/github.astro

192 lines
5.2 KiB
Plaintext

---
// src/pages/projects/github.astro
import BaseLayout from '../../layouts/BaseLayout.astro';
import Header from '../../components/Header.astro';
import Footer from '../../components/Footer.astro';
const title = "GitHub Repositories | ArgoBox";
const description = "Explore ArgoBox GitHub projects, infrastructure code, automation scripts, and open-source contributions.";
---
<BaseLayout title={title} description={description}>
<Header slot="header" />
<div class="container">
<div class="page-header">
<h1>GitHub Repositories</h1>
<div class="header-accent"></div>
</div>
<div class="coming-soon-container">
<div class="coming-soon-card">
<div class="icon-container">
<svg xmlns="http://www.w3.org/2000/svg" width="60" height="60" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
<path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path>
</svg>
</div>
<h2>Coming Soon</h2>
<p class="description">
This section will showcase my public GitHub repositories, infrastructure-as-code projects, automation scripts, and open-source contributions. You'll be able to browse repositories by category, see detailed descriptions, and directly access the code.
</p>
<div class="features">
<div class="feature-item">
<span class="feature-icon">📊</span>
<span class="feature-text">DevOps Repositories</span>
</div>
<div class="feature-item">
<span class="feature-icon">🔄</span>
<span class="feature-text">CI/CD Pipelines</span>
</div>
<div class="feature-item">
<span class="feature-icon">🛠️</span>
<span class="feature-text">Infrastructure Tools</span>
</div>
<div class="feature-item">
<span class="feature-icon">🧩</span>
<span class="feature-text">Open Source Contributions</span>
</div>
</div>
</div>
</div>
</div>
<Footer slot="footer" />
</BaseLayout>
<style>
.page-header {
margin: 3rem 0 4rem;
position: relative;
}
h1 {
font-size: var(--font-size-4xl);
background: linear-gradient(90deg, var(--accent-primary), var(--accent-secondary));
-webkit-background-clip: text;
background-clip: text;
color: transparent;
display: inline-block;
margin-bottom: 0.5rem;
}
.header-accent {
width: 80px;
height: 4px;
background: linear-gradient(90deg, var(--accent-primary), var(--accent-secondary));
border-radius: 2px;
}
.coming-soon-container {
display: flex;
justify-content: center;
padding: 2rem 0 4rem;
}
.coming-soon-card {
background: var(--card-bg);
border: 1px solid var(--card-border);
border-radius: 16px;
padding: 2.5rem;
max-width: 800px;
width: 100%;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
position: relative;
overflow: hidden;
animation: cardPulse 4s infinite alternate ease-in-out;
}
@keyframes cardPulse {
0% {
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
border-color: var(--card-border);
}
100% {
box-shadow: 0 15px 40px rgba(6, 182, 212, 0.15);
border-color: rgba(6, 182, 212, 0.4);
}
}
.coming-soon-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(circle at 50% 0%, rgba(6, 182, 212, 0.1), transparent 70%);
pointer-events: none;
}
.icon-container {
display: flex;
justify-content: center;
margin-bottom: 1.5rem;
color: var(--accent-primary);
}
h2 {
text-align: center;
margin-bottom: 1.5rem;
font-size: var(--font-size-3xl);
color: var(--text-primary);
}
.description {
text-align: center;
margin-bottom: 2.5rem;
color: var(--text-secondary);
font-size: var(--font-size-lg);
line-height: 1.7;
}
.features {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1.5rem;
margin-top: 2rem;
}
.feature-item {
display: flex;
align-items: center;
background: rgba(30, 41, 59, 0.5);
padding: 1rem;
border-radius: 8px;
border: 1px solid var(--border-secondary);
transition: all 0.3s ease;
}
.feature-item:hover {
transform: translateY(-3px);
background: rgba(30, 41, 59, 0.8);
border-color: var(--accent-primary);
}
.feature-icon {
font-size: 1.5rem;
margin-right: 0.75rem;
}
.feature-text {
color: var(--text-secondary);
font-size: var(--font-size-md);
}
@media (max-width: 768px) {
.features {
grid-template-columns: 1fr;
}
.coming-soon-card {
padding: 2rem 1.5rem;
}
h1 {
font-size: var(--font-size-3xl);
}
h2 {
font-size: var(--font-size-2xl);
}
}
</style>