feat: regroup homepage into apps/tutorial/services/libraries cards

- assign each repo a section via config.yml (blog -> apps,
  media-manager -> tutorial, auth-server -> services, rest -> libraries)
- render one card per repo with a bottom-justified action row containing
  one link per available kind (view docs / view wiki / view lib /
  view tutorial)
- switch card grid to three columns with responsive breakpoints and
  taller cards
This commit is contained in:
2026-09-11 23:49:59 +05:30
parent 42e5ed290e
commit bd8ba6e67c
3 changed files with 170 additions and 94 deletions

View File

@@ -12,7 +12,8 @@
# wiki -> /<repo>/ when the wiki is the whole site (e.g. mongo-ops)
# -> /<repo>/wiki/ in combined sites (e.g. doc-forge with lib + wiki)
# mcp -> MCP server on its configured port
# The docs homepage lists a repo once per declared kind (lib, api, wiki).
# The docs homepage shows one card per repo, grouped by its `section`
# (apps, tutorial, services, libraries); card links cover the repo's kinds.
service:
name: aetos-docs
@@ -24,6 +25,7 @@ repos:
source: ../openapi-first
title: OpenAPI First
description: Design-first API development toolkit enforcing OpenAPI contracts as the single source of truth.
section: libraries
docs:
lib: site
mcp: { bundle: docs/mcp, server: openapi_first, port: 8004 }
@@ -32,6 +34,7 @@ repos:
source: ../doc-forge
title: Doc Forge
description: Renderer-agnostic Python documentation compiler powering MkDocs and MCP generation across Aetoskia projects.
section: libraries
docs:
wiki: site
lib: site
@@ -41,6 +44,7 @@ repos:
source: ../dagpipe
title: DAG Pipe
description: Deterministic pipeline framework for executing state transformations through a directed acyclic graph (DAG).
section: libraries
docs:
lib: site
mcp: { bundle: docs/mcp, server: dagpipe, port: 8006 }
@@ -49,6 +53,7 @@ repos:
source: ../mail-intake
title: Mail Intake
description: High-performance email ingestion and processing framework with pluggable adapters and automation workflows.
section: libraries
docs:
lib: site
mcp: { bundle: docs/mcp, server: mail_intake, port: 8002 }
@@ -57,6 +62,7 @@ repos:
source: ../omniread
title: Omniread
description: Unified ingestion and normalization layer for structured and unstructured data sources.
section: libraries
docs:
lib: site
mcp: { bundle: docs/mcp, server: omniread, port: 8003 }
@@ -65,6 +71,7 @@ repos:
source: ../py-jwt
title: Py JWT
description: Lightweight, explicit JWT utilities for Python services with strong validation and minimal magic.
section: libraries
docs:
lib: site
mcp: { bundle: docs/mcp, server: jwtlib, port: 8005 }
@@ -73,6 +80,7 @@ repos:
source: ../hexa
title: Hexa
description: Hexagonal architecture framework and toolbox for Python services.
section: libraries
docs:
lib: site
@@ -80,6 +88,7 @@ repos:
source: ../mongo-ops
title: Mongo Ops
description: A modular, async MongoDB operations layer for FastAPI microservices. Simplifies CRUD, transactions, and model management.
section: libraries
docs:
wiki: site
@@ -87,6 +96,7 @@ repos:
source: ../auth-server
title: Auth Server
description: Aetoskia authentication service. OpenAPI-driven, FastAPI backend for auth flows.
section: services
docs:
api: site
@@ -95,10 +105,12 @@ static:
repo: blog
title: Blog API
description: A modular, async Blog API backend for FastAPI microservices. Provides streamlined CRUD operations for articles and authors.
section: apps
path: blog
- kind: tutorial
repo: media-manager
title: Media Manager Tutorial
description: Step-by-step guide to the Media Manager architecture, ingestion pipeline, automation workflows, and integrations.
section: tutorial
path: media-manager