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
This commit is contained in:
17
Dockerfile
17
Dockerfile
@@ -29,12 +29,19 @@ COPY main.py core.py config.py collect.py config.yml ./
|
|||||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||||
RUN rm -f /etc/nginx/sites-enabled/default
|
RUN rm -f /etc/nginx/sites-enabled/default
|
||||||
|
|
||||||
# --- collected documentation tree -----------------------------------------
|
# --- collected documentation tree (flat, one dir per repo) -----------------
|
||||||
COPY _index /usr/share/nginx/html/
|
COPY _index /usr/share/nginx/html/
|
||||||
COPY libs /usr/share/nginx/html/libs
|
COPY openapi-first /usr/share/nginx/html/openapi-first
|
||||||
COPY apis /usr/share/nginx/html/apis
|
COPY doc-forge /usr/share/nginx/html/doc-forge
|
||||||
COPY wiki /usr/share/nginx/html/wiki
|
COPY dagpipe /usr/share/nginx/html/dagpipe
|
||||||
COPY tutorials /usr/share/nginx/html/tutorials
|
COPY mail-intake /usr/share/nginx/html/mail-intake
|
||||||
|
COPY omniread /usr/share/nginx/html/omniread
|
||||||
|
COPY py-jwt /usr/share/nginx/html/py-jwt
|
||||||
|
COPY hexa /usr/share/nginx/html/hexa
|
||||||
|
COPY mongo-ops /usr/share/nginx/html/mongo-ops
|
||||||
|
COPY auth-server /usr/share/nginx/html/auth-server
|
||||||
|
COPY blog /usr/share/nginx/html/blog
|
||||||
|
COPY media-manager /usr/share/nginx/html/media-manager
|
||||||
|
|
||||||
# --- MCP bundles -----------------------------------------------------------
|
# --- MCP bundles -----------------------------------------------------------
|
||||||
COPY mcp /app/mcp
|
COPY mcp /app/mcp
|
||||||
|
|||||||
@@ -71,37 +71,37 @@
|
|||||||
<div class="card">
|
<div class="card">
|
||||||
<h3>OpenAPI First</h3>
|
<h3>OpenAPI First</h3>
|
||||||
<p>Design-first API development toolkit enforcing OpenAPI contracts as the single source of truth.</p>
|
<p>Design-first API development toolkit enforcing OpenAPI contracts as the single source of truth.</p>
|
||||||
<a href="/libs/openapi-first/" target="_blank">View Documentation →</a>
|
<a href="/openapi-first/lib/" target="_blank">View Documentation →</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h3>Doc Forge</h3>
|
<h3>Doc Forge</h3>
|
||||||
<p>Renderer-agnostic Python documentation compiler powering MkDocs and MCP generation across Aetoskia projects.</p>
|
<p>Renderer-agnostic Python documentation compiler powering MkDocs and MCP generation across Aetoskia projects.</p>
|
||||||
<a href="/libs/doc-forge/" target="_blank">View Documentation →</a>
|
<a href="/doc-forge/lib/" target="_blank">View Documentation →</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h3>DAG Pipe</h3>
|
<h3>DAG Pipe</h3>
|
||||||
<p>Deterministic pipeline framework for executing state transformations through a directed acyclic graph (DAG).</p>
|
<p>Deterministic pipeline framework for executing state transformations through a directed acyclic graph (DAG).</p>
|
||||||
<a href="/libs/dagpipe/" target="_blank">View Documentation →</a>
|
<a href="/dagpipe/lib/" target="_blank">View Documentation →</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h3>Mail Intake</h3>
|
<h3>Mail Intake</h3>
|
||||||
<p>High-performance email ingestion and processing framework with pluggable adapters and automation workflows.</p>
|
<p>High-performance email ingestion and processing framework with pluggable adapters and automation workflows.</p>
|
||||||
<a href="/libs/mail-intake/" target="_blank">View Documentation →</a>
|
<a href="/mail-intake/lib/" target="_blank">View Documentation →</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h3>Omniread</h3>
|
<h3>Omniread</h3>
|
||||||
<p>Unified ingestion and normalization layer for structured and unstructured data sources.</p>
|
<p>Unified ingestion and normalization layer for structured and unstructured data sources.</p>
|
||||||
<a href="/libs/omniread/" target="_blank">View Documentation →</a>
|
<a href="/omniread/lib/" target="_blank">View Documentation →</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h3>Py JWT</h3>
|
<h3>Py JWT</h3>
|
||||||
<p>Lightweight, explicit JWT utilities for Python services with strong validation and minimal magic.</p>
|
<p>Lightweight, explicit JWT utilities for Python services with strong validation and minimal magic.</p>
|
||||||
<a href="/libs/py-jwt/" target="_blank">View Documentation →</a>
|
<a href="/py-jwt/lib/" target="_blank">View Documentation →</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h3>Hexa</h3>
|
<h3>Hexa</h3>
|
||||||
<p>Hexagonal architecture framework and toolbox for Python services.</p>
|
<p>Hexagonal architecture framework and toolbox for Python services.</p>
|
||||||
<a href="/libs/hexa/" target="_blank">View Documentation →</a>
|
<a href="/hexa/lib/" target="_blank">View Documentation →</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@@ -112,12 +112,12 @@
|
|||||||
<div class="card">
|
<div class="card">
|
||||||
<h3>Auth Server</h3>
|
<h3>Auth Server</h3>
|
||||||
<p>Aetoskia authentication service. OpenAPI-driven, FastAPI backend for auth flows.</p>
|
<p>Aetoskia authentication service. OpenAPI-driven, FastAPI backend for auth flows.</p>
|
||||||
<a href="/apis/auth-server/" target="_blank">View Documentation →</a>
|
<a href="/auth-server/api/" target="_blank">View Documentation →</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h3>Blog API</h3>
|
<h3>Blog API</h3>
|
||||||
<p>A modular, async Blog API backend for FastAPI microservices. Provides streamlined CRUD operations for articles and authors.</p>
|
<p>A modular, async Blog API backend for FastAPI microservices. Provides streamlined CRUD operations for articles and authors.</p>
|
||||||
<a href="/apis/blog/" target="_blank">View Documentation →</a>
|
<a href="/blog/" target="_blank">View Documentation →</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@@ -128,7 +128,7 @@
|
|||||||
<div class="card">
|
<div class="card">
|
||||||
<h3>Mongo Ops</h3>
|
<h3>Mongo Ops</h3>
|
||||||
<p>A modular, async MongoDB operations layer for FastAPI microservices. Simplifies CRUD, transactions, and model management.</p>
|
<p>A modular, async MongoDB operations layer for FastAPI microservices. Simplifies CRUD, transactions, and model management.</p>
|
||||||
<a href="/wiki/mongo-ops/" target="_blank">View Documentation →</a>
|
<a href="/mongo-ops/" target="_blank">View Documentation →</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@@ -139,7 +139,7 @@
|
|||||||
<div class="card">
|
<div class="card">
|
||||||
<h3>Media Manager Tutorial</h3>
|
<h3>Media Manager Tutorial</h3>
|
||||||
<p>Step-by-step guide to the Media Manager architecture, ingestion pipeline, automation workflows, and integrations.</p>
|
<p>Step-by-step guide to the Media Manager architecture, ingestion pipeline, automation workflows, and integrations.</p>
|
||||||
<a href="/tutorials/media-manager/" target="_blank">View Tutorial →</a>
|
<a href="/media-manager/" target="_blank">View Tutorial →</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user