feat: enhance Gitea theme with cyber glassmorphism template, custom home hero and 3D banner logo
@@ -0,0 +1,17 @@
|
||||
# Gitea Theme – Cyber Theme
|
||||
|
||||
Custom Glassmorphism Neon Cyber Theme für Gitea ([gitea.free-warez.win](https://gitea.free-warez.win)).
|
||||
|
||||
---
|
||||
|
||||
## 📁 Struktur
|
||||
- `assets/css/custom.css`: Cyber Theme CSS (Transparenz, Neon-Akzente, Glassmorphism).
|
||||
- `assets/img/cyber_bg.jpg`: Cyberpunk-Hintergrundbild.
|
||||
- `assets/img/logo.svg` / `logo.png`: Custom Gitea Brand Logos.
|
||||
- `assets/img/favicon.svg` / `favicon.png`: Custom Favicons.
|
||||
- `deploy.sh`: Synchronisiert die Styles und Grafiken direkt in den Gitea Public-Assets-Mount.
|
||||
|
||||
## 🚀 Deployment
|
||||
```bash
|
||||
./deploy.sh
|
||||
```
|
||||
@@ -1,98 +1,373 @@
|
||||
/* Gitea Custom Cyber Theme */
|
||||
body {
|
||||
background: #0f172a url('/assets/img/cyber_bg.jpg') no-repeat center center fixed !important;
|
||||
/* ==========================================================================
|
||||
GITEA CYBERDROP PRO THEME — High-Performance Glassmorphism & Cyber 3D
|
||||
Domain: gitea.free-warez.win
|
||||
========================================================================== */
|
||||
|
||||
/* 1. Global Setup, Viewport & Typography */
|
||||
html, body {
|
||||
font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
|
||||
background: #050811 url('/assets/img/cyber_bg.jpg') no-repeat center center fixed !important;
|
||||
background-size: cover !important;
|
||||
color: #f1f5f9 !important;
|
||||
-webkit-font-smoothing: antialiased !important;
|
||||
-moz-osx-font-smoothing: grayscale !important;
|
||||
}
|
||||
|
||||
/* Make main containers glassmorphism */
|
||||
.ui.container,
|
||||
.full.height,
|
||||
.page-content {
|
||||
/* Ambient dark vignette over background image */
|
||||
body::before {
|
||||
content: '';
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
background:
|
||||
radial-gradient(ellipse at 50% 15%, rgba(0, 242, 254, 0.12) 0%, transparent 65%),
|
||||
radial-gradient(ellipse at 85% 75%, rgba(16, 185, 129, 0.08) 0%, transparent 60%),
|
||||
linear-gradient(180deg, rgba(5, 8, 17, 0.65) 0%, rgba(5, 8, 17, 0.88) 100%) !important;
|
||||
pointer-events: none;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
/* Code & Technical Typography */
|
||||
code, pre, kbd, samp,
|
||||
.mono, .sha, .commit-id,
|
||||
.lines-num, .lines-code,
|
||||
.view-raw, .file-view pre,
|
||||
.diff-file-box pre {
|
||||
font-family: 'JetBrains Mono', monospace !important;
|
||||
}
|
||||
|
||||
/* 2. Full-Width & Spacious Layout */
|
||||
.ui.container:not(.fluid) {
|
||||
width: min(1560px, 94vw) !important;
|
||||
max-width: 1620px !important;
|
||||
margin-left: auto !important;
|
||||
margin-right: auto !important;
|
||||
}
|
||||
|
||||
.full.height, .page-content {
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
.repository.file.list,
|
||||
.ui.segment,
|
||||
.ui.attached.segment,
|
||||
.ui.menu,
|
||||
.ui.card,
|
||||
.box {
|
||||
background: rgba(15, 23, 42, 0.7) !important;
|
||||
backdrop-filter: blur(12px) !important;
|
||||
-webkit-backdrop-filter: blur(12px) !important;
|
||||
border: 1px solid rgba(59, 130, 246, 0.3) !important;
|
||||
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5) !important;
|
||||
}
|
||||
|
||||
/* Navbar / Header */
|
||||
/* 3. Top Navigation Bar */
|
||||
.ui.top.menu {
|
||||
background: rgba(10, 15, 30, 0.8) !important;
|
||||
backdrop-filter: blur(16px) !important;
|
||||
border-bottom: 1px solid rgba(59, 130, 246, 0.4) !important;
|
||||
background: rgba(8, 13, 26, 0.85) !important;
|
||||
backdrop-filter: blur(24px) saturate(180%) !important;
|
||||
-webkit-backdrop-filter: blur(24px) saturate(180%) !important;
|
||||
border-bottom: 1px solid rgba(0, 242, 254, 0.25) !important;
|
||||
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
|
||||
padding: 4px 16px !important;
|
||||
}
|
||||
|
||||
/* Neon Text Accents */
|
||||
a, .ui.breadcrumb a {
|
||||
color: #4ade80 !important; /* Neon Green */
|
||||
text-shadow: 0 0 8px rgba(74, 222, 128, 0.4);
|
||||
transition: all 0.3s ease;
|
||||
.ui.menu .item {
|
||||
color: #cbd5e1 !important;
|
||||
font-weight: 500 !important;
|
||||
transition: all 0.25s ease !important;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #60a5fa !important; /* Neon Blue */
|
||||
text-shadow: 0 0 12px rgba(96, 165, 250, 0.6);
|
||||
}
|
||||
|
||||
/* Primary Buttons */
|
||||
.ui.primary.button, .ui.green.button {
|
||||
background: linear-gradient(135deg, #22c55e 0%, #10b981 100%) !important;
|
||||
border: none !important;
|
||||
box-shadow: 0 0 15px rgba(34, 197, 94, 0.4) !important;
|
||||
color: #fff !important;
|
||||
.ui.menu a.item:hover {
|
||||
color: #00f2fe !important;
|
||||
background: rgba(0, 242, 254, 0.1) !important;
|
||||
border-radius: 8px !important;
|
||||
}
|
||||
|
||||
.ui.primary.button:hover, .ui.green.button:hover {
|
||||
box-shadow: 0 0 25px rgba(34, 197, 94, 0.7) !important;
|
||||
transform: translateY(-1px);
|
||||
.ui.menu a.active.item {
|
||||
color: #00f2fe !important;
|
||||
background: rgba(0, 242, 254, 0.15) !important;
|
||||
border-radius: 8px !important;
|
||||
box-shadow: 0 0 12px rgba(0, 242, 254, 0.25) !important;
|
||||
}
|
||||
|
||||
/* Secondary Buttons */
|
||||
.ui.basic.button, .ui.button {
|
||||
background: rgba(59, 130, 246, 0.1) !important;
|
||||
border: 1px solid rgba(59, 130, 246, 0.5) !important;
|
||||
color: #93c5fd !important;
|
||||
/* Brand Navbar Icon */
|
||||
.item.brand img.logo {
|
||||
width: 34px !important;
|
||||
height: 34px !important;
|
||||
filter: drop-shadow(0 0 12px rgba(0, 242, 254, 0.6)) !important;
|
||||
border-radius: 8px !important;
|
||||
transition: transform 0.3s ease !important;
|
||||
}
|
||||
|
||||
.ui.basic.button:hover, .ui.button:hover {
|
||||
background: rgba(59, 130, 246, 0.2) !important;
|
||||
box-shadow: 0 0 15px rgba(59, 130, 246, 0.4) !important;
|
||||
.item.brand:hover img.logo {
|
||||
transform: scale(1.1) rotate(5deg) !important;
|
||||
}
|
||||
|
||||
/* Form Inputs */
|
||||
input, textarea, .ui.input>input {
|
||||
background: rgba(0, 0, 0, 0.4) !important;
|
||||
border: 1px solid rgba(59, 130, 246, 0.3) !important;
|
||||
color: #e2e8f0 !important;
|
||||
border-radius: 6px !important;
|
||||
/* 4. Cyber Hero Section (Home Page) */
|
||||
.cyber-hero-container {
|
||||
position: relative;
|
||||
padding: 60px 20px 40px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
text-align: center;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
input:focus, textarea:focus, .ui.input>input:focus {
|
||||
border-color: #4ade80 !important;
|
||||
box-shadow: 0 0 10px rgba(74, 222, 128, 0.3) !important;
|
||||
.cyber-hero-glow {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 600px;
|
||||
height: 300px;
|
||||
background: radial-gradient(circle, rgba(0, 242, 254, 0.2) 0%, rgba(16, 185, 129, 0.1) 50%, transparent 80%);
|
||||
filter: blur(50px);
|
||||
pointer-events: none;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
/* Footers */
|
||||
footer {
|
||||
background: rgba(10, 15, 30, 0.8) !important;
|
||||
backdrop-filter: blur(10px) !important;
|
||||
border-top: 1px solid rgba(59, 130, 246, 0.3) !important;
|
||||
.cyber-banner-wrapper {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: rgba(11, 17, 33, 0.55);
|
||||
backdrop-filter: blur(20px);
|
||||
-webkit-backdrop-filter: blur(20px);
|
||||
border: 1px solid rgba(0, 242, 254, 0.25);
|
||||
border-radius: 28px;
|
||||
padding: 18px 36px;
|
||||
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6), 0 0 35px rgba(0, 242, 254, 0.18);
|
||||
transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
/* Fix logo size since we use jpg for svg */
|
||||
.brand.logo, img.logo {
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 0 15px rgba(59, 130, 246, 0.5);
|
||||
height: 32px !important;
|
||||
width: auto !important;
|
||||
.cyber-banner-wrapper:hover {
|
||||
transform: translateY(-3px) scale(1.015);
|
||||
border-color: rgba(0, 242, 254, 0.5);
|
||||
box-shadow: 0 25px 60px rgba(0, 0, 0, 0.7), 0 0 50px rgba(0, 242, 254, 0.3);
|
||||
}
|
||||
|
||||
.cyber-banner-logo {
|
||||
width: min(640px, 88vw);
|
||||
height: auto;
|
||||
max-height: 140px;
|
||||
object-fit: contain;
|
||||
filter: drop-shadow(0 0 25px rgba(0, 242, 254, 0.45));
|
||||
}
|
||||
|
||||
.cyber-hero-subtitle {
|
||||
font-size: 1.25rem;
|
||||
font-weight: 400;
|
||||
color: #94a3b8;
|
||||
max-width: 800px;
|
||||
margin: 0 auto 32px;
|
||||
line-height: 1.6;
|
||||
letter-spacing: 0.01em;
|
||||
}
|
||||
|
||||
.cyber-hero-actions {
|
||||
display: flex;
|
||||
gap: 18px;
|
||||
justify-content: center;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
/* 5. Buttons & Micro-Interactions */
|
||||
.cyber-btn-primary, .ui.primary.button, .ui.green.button, .ui.positive.button {
|
||||
background: linear-gradient(135deg, #00f2fe 0%, #10b981 100%) !important;
|
||||
color: #030712 !important;
|
||||
font-weight: 700 !important;
|
||||
font-size: 1rem !important;
|
||||
padding: 13px 26px !important;
|
||||
border-radius: 12px !important;
|
||||
border: none !important;
|
||||
box-shadow: 0 4px 20px rgba(0, 242, 254, 0.35) !important;
|
||||
transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
|
||||
cursor: pointer !important;
|
||||
display: inline-flex !important;
|
||||
align-items: center !important;
|
||||
gap: 8px !important;
|
||||
}
|
||||
|
||||
.cyber-btn-primary:hover, .ui.primary.button:hover, .ui.green.button:hover, .ui.positive.button:hover {
|
||||
transform: translateY(-2px) scale(1.02) !important;
|
||||
box-shadow: 0 8px 30px rgba(0, 242, 254, 0.55) !important;
|
||||
filter: brightness(1.12) !important;
|
||||
color: #000000 !important;
|
||||
}
|
||||
|
||||
.cyber-btn-secondary, .ui.basic.button, .ui.button:not(.primary):not(.green):not(.positive) {
|
||||
background: rgba(19, 28, 50, 0.75) !important;
|
||||
color: #f8fafc !important;
|
||||
font-weight: 600 !important;
|
||||
font-size: 1rem !important;
|
||||
padding: 13px 24px !important;
|
||||
border-radius: 12px !important;
|
||||
border: 1px solid rgba(56, 189, 248, 0.25) !important;
|
||||
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25) !important;
|
||||
transition: all 0.25s ease !important;
|
||||
display: inline-flex !important;
|
||||
align-items: center !important;
|
||||
gap: 8px !important;
|
||||
}
|
||||
|
||||
.cyber-btn-secondary:hover, .ui.basic.button:hover, .ui.button:not(.primary):not(.green):not(.positive):hover {
|
||||
background: rgba(30, 45, 78, 0.9) !important;
|
||||
border-color: #00f2fe !important;
|
||||
color: #00f2fe !important;
|
||||
transform: translateY(-2px) !important;
|
||||
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4), 0 0 15px rgba(0, 242, 254, 0.2) !important;
|
||||
}
|
||||
|
||||
/* 6. Feature Cards on Home Page */
|
||||
.cyber-features-grid {
|
||||
margin-top: 40px !important;
|
||||
margin-bottom: 60px !important;
|
||||
}
|
||||
|
||||
.cyber-feature-card {
|
||||
background: rgba(11, 17, 33, 0.82);
|
||||
backdrop-filter: blur(24px) saturate(180%);
|
||||
-webkit-backdrop-filter: blur(24px) saturate(180%);
|
||||
border: 1px solid rgba(0, 242, 254, 0.2);
|
||||
border-radius: 20px;
|
||||
padding: 32px;
|
||||
display: flex;
|
||||
gap: 20px;
|
||||
align-items: flex-start;
|
||||
box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5);
|
||||
transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.cyber-feature-card:hover {
|
||||
transform: translateY(-4px);
|
||||
border-color: rgba(0, 242, 254, 0.45);
|
||||
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6), 0 0 25px rgba(0, 242, 254, 0.15);
|
||||
}
|
||||
|
||||
.cyber-card-icon {
|
||||
background: rgba(0, 242, 254, 0.12);
|
||||
border: 1px solid rgba(0, 242, 254, 0.3);
|
||||
border-radius: 14px;
|
||||
padding: 14px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: #00f2fe;
|
||||
box-shadow: 0 0 15px rgba(0, 242, 254, 0.25);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.cyber-card-icon svg {
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
|
||||
.cyber-card-body h3 {
|
||||
margin: 0 0 8px;
|
||||
font-size: 1.25rem;
|
||||
font-weight: 700;
|
||||
color: #f8fafc;
|
||||
}
|
||||
|
||||
.cyber-card-body p {
|
||||
margin: 0;
|
||||
color: #94a3b8;
|
||||
line-height: 1.6;
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
|
||||
/* 7. Glassmorphism Repository & Content Containers */
|
||||
.ui.segment,
|
||||
.ui.attached.segment,
|
||||
.repository.file.list,
|
||||
.ui.card,
|
||||
.box,
|
||||
.issue-content-left,
|
||||
.issue-content-right {
|
||||
background: rgba(11, 17, 33, 0.82) !important;
|
||||
backdrop-filter: blur(24px) saturate(180%) !important;
|
||||
-webkit-backdrop-filter: blur(24px) saturate(180%) !important;
|
||||
border: 1px solid rgba(56, 189, 248, 0.22) !important;
|
||||
border-radius: 16px !important;
|
||||
box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5) !important;
|
||||
color: #f1f5f9 !important;
|
||||
}
|
||||
|
||||
.ui.attached.header {
|
||||
background: rgba(15, 23, 42, 0.92) !important;
|
||||
border: 1px solid rgba(56, 189, 248, 0.22) !important;
|
||||
border-radius: 16px 16px 0 0 !important;
|
||||
color: #38bdf8 !important;
|
||||
font-weight: 700 !important;
|
||||
}
|
||||
|
||||
/* Repository File List */
|
||||
#repo-files-table {
|
||||
border-radius: 16px !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
#repo-files-table tr {
|
||||
transition: background 0.2s ease !important;
|
||||
}
|
||||
|
||||
#repo-files-table tr:hover {
|
||||
background: rgba(0, 242, 254, 0.08) !important;
|
||||
}
|
||||
|
||||
/* File Tree and Breadcrumbs */
|
||||
.repo-header, .ui.breadcrumb {
|
||||
color: #94a3b8 !important;
|
||||
}
|
||||
|
||||
.ui.breadcrumb a, .repo-header a {
|
||||
color: #00f2fe !important;
|
||||
font-weight: 600 !important;
|
||||
text-shadow: 0 0 10px rgba(0, 242, 254, 0.3) !important;
|
||||
}
|
||||
|
||||
/* 8. Code View, Diffs & Markdown */
|
||||
.file-view, .file-content, .code-view, .markup {
|
||||
background: rgba(6, 10, 22, 0.88) !important;
|
||||
border: 1px solid rgba(56, 189, 248, 0.2) !important;
|
||||
border-radius: 16px !important;
|
||||
box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.5) !important;
|
||||
}
|
||||
|
||||
.lines-num {
|
||||
color: #64748b !important;
|
||||
background: rgba(3, 7, 18, 0.5) !important;
|
||||
border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
|
||||
}
|
||||
|
||||
/* 9. Form Inputs & Textareas */
|
||||
input, textarea, .ui.input>input, .ui.selection.dropdown {
|
||||
background: rgba(6, 10, 22, 0.7) !important;
|
||||
border: 1px solid rgba(148, 163, 184, 0.22) !important;
|
||||
border-radius: 10px !important;
|
||||
color: #f8fafc !important;
|
||||
padding: 10px 14px !important;
|
||||
transition: all 0.25s ease !important;
|
||||
}
|
||||
|
||||
input:focus, textarea:focus, .ui.input>input:focus, .ui.selection.dropdown:focus {
|
||||
border-color: #00f2fe !important;
|
||||
background: rgba(6, 10, 22, 0.9) !important;
|
||||
box-shadow: 0 0 0 3px rgba(0, 242, 254, 0.2), inset 0 2px 4px rgba(0, 0, 0, 0.3) !important;
|
||||
}
|
||||
|
||||
/* 10. Footer */
|
||||
footer, .ui.footer {
|
||||
background: rgba(8, 13, 26, 0.88) !important;
|
||||
backdrop-filter: blur(16px) !important;
|
||||
border-top: 1px solid rgba(0, 242, 254, 0.2) !important;
|
||||
color: #94a3b8 !important;
|
||||
padding: 24px 0 !important;
|
||||
margin-top: 50px !important;
|
||||
}
|
||||
|
||||
/* 11. Custom Modern Scrollbar */
|
||||
::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
}
|
||||
::-webkit-scrollbar-track {
|
||||
background: rgba(5, 8, 17, 0.8);
|
||||
}
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: rgba(0, 242, 254, 0.4);
|
||||
border-radius: 4px;
|
||||
}
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0, 242, 254, 0.7);
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 538 KiB After Width: | Height: | Size: 104 KiB |
|
After Width: | Height: | Size: 355 KiB |
|
After Width: | Height: | Size: 119 KiB |
|
After Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 538 KiB After Width: | Height: | Size: 104 KiB |
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
# deploy.sh - Deploy Gitea Custom Cyber Theme & 3D Banner Logo
|
||||
# Domain: gitea.free-warez.win
|
||||
# Target Host: free-warez.win -> /opt/containers/gitea/gitea/gitea
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
TARGET_HOST="free-warez.win"
|
||||
TARGET_DIR="/opt/containers/gitea/gitea/gitea"
|
||||
LOCAL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
echo "🚀 Deploying Gitea Cyber Theme & 3D Banner"
|
||||
echo " Target: $TARGET_HOST:$TARGET_DIR"
|
||||
echo "==============================================="
|
||||
|
||||
# 1. Check SSH connection
|
||||
echo "📡 Checking SSH connection to $TARGET_HOST..."
|
||||
if ! ssh -q -o BatchMode=yes -o ConnectTimeout=5 "$TARGET_HOST" exit; then
|
||||
echo "❌ Cannot connect to $TARGET_HOST via SSH."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 2. Sync Assets (CSS & Images)
|
||||
echo "🔄 Syncing custom assets (CSS & 3D Banner)..."
|
||||
rsync -avz "$LOCAL_DIR/assets/" "$TARGET_HOST:$TARGET_DIR/public/assets/"
|
||||
|
||||
# 3. Sync Templates (Custom header & Home page)
|
||||
if [ -d "$LOCAL_DIR/templates" ]; then
|
||||
echo "🔄 Syncing custom templates..."
|
||||
rsync -avz "$LOCAL_DIR/templates/" "$TARGET_HOST:$TARGET_DIR/templates/"
|
||||
fi
|
||||
|
||||
# 4. Fix permissions
|
||||
echo "🔒 Ensuring correct permissions for git user (1000:1000)..."
|
||||
ssh "$TARGET_HOST" "chown -R 1000:1000 $TARGET_DIR/public $TARGET_DIR/templates"
|
||||
|
||||
# 5. Restart Gitea container
|
||||
echo "🔄 Restarting Gitea container..."
|
||||
ssh "$TARGET_HOST" "docker restart gitea"
|
||||
|
||||
echo "✅ Gitea theme & 3D banner updated!"
|
||||
echo "✨ Deployment complete!"
|
||||
@@ -0,0 +1,4 @@
|
||||
<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=Outfit:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="/assets/css/custom.css">
|
||||
@@ -0,0 +1,88 @@
|
||||
{{template "base/head" .}}
|
||||
<div role="main" aria-label="{{if .IsSigned}}{{ctx.Locale.Tr "dashboard"}}{{else}}{{ctx.Locale.Tr "home_title"}}{{end}}" class="page-content home">
|
||||
|
||||
<!-- Cyber Hero Banner Section -->
|
||||
<div class="cyber-hero-container">
|
||||
<div class="cyber-hero-glow"></div>
|
||||
<div class="cyber-hero-content">
|
||||
<div class="cyber-banner-wrapper">
|
||||
<img class="cyber-banner-logo" src="/assets/img/gitea_banner_logo.png" alt="gitea.free-warez.win" />
|
||||
</div>
|
||||
|
||||
<p class="cyber-hero-subtitle">
|
||||
High-Performance Private Git Hub & Continuous Delivery • Cloud-Native • Resilient
|
||||
</p>
|
||||
|
||||
<div class="cyber-hero-actions">
|
||||
{{if .IsSigned}}
|
||||
<a href="/repo/create" class="ui button cyber-btn-primary">
|
||||
{{svg "octicon-plus"}} Neuer Repository
|
||||
</a>
|
||||
<a href="/explore/repos" class="ui button cyber-btn-secondary">
|
||||
{{svg "octicon-repo"}} Repositories Durchsuchen
|
||||
</a>
|
||||
{{else}}
|
||||
<a href="/user/login" class="ui button cyber-btn-primary">
|
||||
{{svg "octicon-sign-in"}} Anmelden
|
||||
</a>
|
||||
<a href="/explore/repos" class="ui button cyber-btn-secondary">
|
||||
{{svg "octicon-repo"}} Repositories Entdecken
|
||||
</a>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Glassmorphism Feature Cards Grid -->
|
||||
<div class="ui stackable middle very relaxed page grid cyber-features-grid">
|
||||
<div class="eight wide column">
|
||||
<div class="cyber-feature-card">
|
||||
<div class="cyber-card-icon">
|
||||
{{svg "octicon-rocket"}}
|
||||
</div>
|
||||
<div class="cyber-card-body">
|
||||
<h3>Ultra-Fast & Lightweight</h3>
|
||||
<p>Blitzschnelle Performance mit Go. Minimale Latenz, sofortige Klon- und Push-Geschwindigkeit im Gigabit-Netzwerk.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="eight wide column">
|
||||
<div class="cyber-feature-card">
|
||||
<div class="cyber-card-icon">
|
||||
{{svg "octicon-shield-check"}}
|
||||
</div>
|
||||
<div class="cyber-card-body">
|
||||
<h3>Enterprise Security</h3>
|
||||
<p>WireGuard- & Tailscale-gesichert, 2FA-Zwei-Faktor-Authentifizierung, signierte Commits und granulare Zugriffskontrollen.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="eight wide column">
|
||||
<div class="cyber-feature-card">
|
||||
<div class="cyber-card-icon">
|
||||
{{svg "octicon-cpu"}}
|
||||
</div>
|
||||
<div class="cyber-card-body">
|
||||
<h3>DevOps & CI/CD Pipeline</h3>
|
||||
<p>Gitea Actions, Git LFS für große Assets, integriertes Package Registry (Docker, npm, PyPI) und Webhooks.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="eight wide column">
|
||||
<div class="cyber-feature-card">
|
||||
<div class="cyber-card-icon">
|
||||
{{svg "octicon-code"}}
|
||||
</div>
|
||||
<div class="cyber-card-body">
|
||||
<h3>100% Kontrollierte Infrastruktur</h3>
|
||||
<p>Selbst gehosteter Code-Tresor auf eigenem Bare-Metal VPS ohne Tracking, Drittanbieter-Lock-in oder Limits.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{{template "base/footer" .}}
|
||||