Files
docs/_index/index.html
Vishesh 'ironeagle' Bangotra a32eeaf2b4 feat: serve docs flat at /<repo>/ with no redirects
- collect.py copies each repo's built site contents directly to a
  top-level <repo>/ dir (was libs|apis|wiki/<repo>/site nesting)
- nginx uses `index index.html lib/index.html api/index.html` so
  /dagpipe/ -> lib/index.html, /auth-server/ -> api/index.html are
  served internally with no redirects
- _index regenerates links against the flat layout
  (/dagpipe/lib/, /auth-server/api/, /mongo-ops/, /blog/...)
- config.yml static entries point at vendored blog/ + media-manager/
- Dockerfile copies per-repo dirs flat into the nginx html root
- removed stale libs/, apis/, wiki/, tutorials/ category trees
2026-09-11 21:32:30 +05:30

151 lines
5.4 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Aetoskia Developer Documentation</title>
<style>
:root {
--bg: #0d1117;
--card: #161b22;
--text: #e6edf3;
--muted: #8b949e;
--accent: #2dd4bf;
--accent-dim: #1e9184;
--border: #30363d;
--font-main: 'Inter', 'Roboto', sans-serif;
--font-code: 'JetBrains Mono', monospace;
}
* { margin:0; padding:0; box-sizing:border-box; }
body {
background:var(--bg); color:var(--text); font-family:var(--font-main);
min-height:100vh; display:flex; flex-direction:column;
align-items:center; justify-content:flex-start; padding:3rem 1.5rem;
}
header { text-align:center; margin-bottom:3rem; }
h1 { font-size:2.5rem; color:var(--accent); letter-spacing:0.5px; margin-bottom:0.5rem; }
.subtitle { color:var(--muted); font-size:1rem; }
.badge {
display:inline-block; margin-top:0.8rem; background:#30363d; color:#fff;
padding:3px 8px; border-radius:6px; font-size:0.85rem; font-weight:600;
border:1px solid #484f58;
}
.section { width:100%; max-width:900px; margin-bottom:2.5rem; }
.section h2 {
font-size:1.2rem; color:var(--muted); text-transform:uppercase;
letter-spacing:1.5px; margin-bottom:1rem; border-bottom:1px solid var(--border);
padding-bottom:0.4rem;
}
.grid {
display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:1.5rem; width:100%;
}
.card {
background:var(--card); border:1px solid var(--border); border-radius:12px;
padding:1.8rem; text-align:left;
transition:transform 0.15s ease,box-shadow 0.15s ease;
}
.card:hover {
transform:translateY(-4px); box-shadow:0 0 20px rgba(45,212,191,0.2);
border-color:var(--accent);
}
.card h3 { color:var(--accent); font-size:1.4rem; margin-bottom:0.4rem; }
.card p { color:var(--muted); font-size:0.95rem; line-height:1.6; }
.card a {
color:var(--accent); text-decoration:none; display:inline-block;
margin-top:0.8rem; font-weight:500;
}
.card a:hover { color:var(--accent-dim); text-decoration:underline; }
footer { margin-top:4rem; text-align:center; color:var(--muted); font-size:0.9rem; }
</style>
</head>
<body>
<header>
<h1>Aetoskia Developer Docs</h1>
<p class="subtitle">Central documentation hub for Aetoskia projects</p>
</header>
<section class="section">
<h2>Libraries</h2>
<div class="grid">
<div class="card">
<h3>OpenAPI First</h3>
<p>Design-first API development toolkit enforcing OpenAPI contracts as the single source of truth.</p>
<a href="/openapi-first/lib/" target="_blank">View Documentation &rarr;</a>
</div>
<div class="card">
<h3>Doc Forge</h3>
<p>Renderer-agnostic Python documentation compiler powering MkDocs and MCP generation across Aetoskia projects.</p>
<a href="/doc-forge/lib/" target="_blank">View Documentation &rarr;</a>
</div>
<div class="card">
<h3>DAG Pipe</h3>
<p>Deterministic pipeline framework for executing state transformations through a directed acyclic graph (DAG).</p>
<a href="/dagpipe/lib/" target="_blank">View Documentation &rarr;</a>
</div>
<div class="card">
<h3>Mail Intake</h3>
<p>High-performance email ingestion and processing framework with pluggable adapters and automation workflows.</p>
<a href="/mail-intake/lib/" target="_blank">View Documentation &rarr;</a>
</div>
<div class="card">
<h3>Omniread</h3>
<p>Unified ingestion and normalization layer for structured and unstructured data sources.</p>
<a href="/omniread/lib/" target="_blank">View Documentation &rarr;</a>
</div>
<div class="card">
<h3>Py JWT</h3>
<p>Lightweight, explicit JWT utilities for Python services with strong validation and minimal magic.</p>
<a href="/py-jwt/lib/" target="_blank">View Documentation &rarr;</a>
</div>
<div class="card">
<h3>Hexa</h3>
<p>Hexagonal architecture framework and toolbox for Python services.</p>
<a href="/hexa/lib/" target="_blank">View Documentation &rarr;</a>
</div>
</div>
</section>
<section class="section">
<h2>APIs</h2>
<div class="grid">
<div class="card">
<h3>Auth Server</h3>
<p>Aetoskia authentication service. OpenAPI-driven, FastAPI backend for auth flows.</p>
<a href="/auth-server/api/" target="_blank">View Documentation &rarr;</a>
</div>
<div class="card">
<h3>Blog API</h3>
<p>A modular, async Blog API backend for FastAPI microservices. Provides streamlined CRUD operations for articles and authors.</p>
<a href="/blog/" target="_blank">View Documentation &rarr;</a>
</div>
</div>
</section>
<section class="section">
<h2>Wiki</h2>
<div class="grid">
<div class="card">
<h3>Mongo Ops</h3>
<p>A modular, async MongoDB operations layer for FastAPI microservices. Simplifies CRUD, transactions, and model management.</p>
<a href="/mongo-ops/" target="_blank">View Documentation &rarr;</a>
</div>
</div>
</section>
<section class="section">
<h2>Tutorials</h2>
<div class="grid">
<div class="card">
<h3>Media Manager Tutorial</h3>
<p>Step-by-step guide to the Media Manager architecture, ingestion pipeline, automation workflows, and integrations.</p>
<a href="/media-manager/" target="_blank">View Tutorial &rarr;</a>
</div>
</div>
</section>
<footer>
&copy; 2025 Aetoskia Developer Network
</footer>
</body>
</html>