Publish the documentation site: docs.fluksio.com
A zensical site under docs/, served by a new `docs` compose service behind Traefik, built with --strict in CI. Same pattern the sibling n3xd workspace uses. Getting started splits the way the landing page does — one path is `pip install fluksio` and a training script, the other is a Docker stack and an afternoon in the browser — because the two audiences will not spend the same amount of time. Everything after that is shared: the concepts, the web interface (app and portal), the CLI and the API, and a reference for node types, payload types and configuration. The three flow guides move here from the docs submodule rather than being copied, so there is one version of them. Styling mirrors DESIGN-GUIDELINES.md: the app's token palette remapped onto Material's variables in both schemes, Inter, the 16px panel radius, and the one terracotta accent spent on the facility lane of the audience split. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M7Xv3cJEW5c8AXxn2hoojV
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
.PHONY: dev-utils dev dev-local up down update install dev-backend dev-frontend \
|
||||
generate-client seed-example seed-demo seed-house seed-aircon seed-hosted-demo test test-backend test-frontend soak bench-startup lint lint-backend \
|
||||
lint-frontend format-frontend umami build clean help
|
||||
lint-frontend format-frontend umami build docs docs-serve clean help
|
||||
|
||||
COMPOSE_ROOT := $(CURDIR)
|
||||
# Explicit project name keeps this stack isolated from the sibling website
|
||||
@@ -178,9 +178,23 @@ lint-frontend: ## Lint frontend with biome
|
||||
format-frontend: ## Apply biome's fixes to the frontend (what `lint-frontend` only reports)
|
||||
cd frontend && bun run format
|
||||
|
||||
# ── Documentation ─────────────────────────────────────────────────
|
||||
# The public site on docs.${DOMAIN}, served by the `docs` service in
|
||||
# docker/compose.yml. These targets are for local authoring: zensical runs on
|
||||
# demand via uvx, so it never touches the backend environment. Pinned to the
|
||||
# version docker/Dockerfile.docs and .gitea/workflows/docs.yml ship, so local
|
||||
# authoring builds with what docs.fluksio.com actually gets.
|
||||
ZENSICAL := zensical==0.0.46
|
||||
|
||||
docs: ## Build the documentation site into ./site
|
||||
uvx $(ZENSICAL) build --clean
|
||||
|
||||
docs-serve: ## Serve the documentation site locally with live reload
|
||||
uvx $(ZENSICAL) serve
|
||||
|
||||
# ── Cleanup ───────────────────────────────────────────────────────
|
||||
|
||||
clean: ## Remove build artifacts and caches
|
||||
rm -rf frontend/dist frontend/blob-report frontend/test-results
|
||||
rm -rf backend/.pytest_cache backend/htmlcov
|
||||
rm -rf backend/.pytest_cache backend/htmlcov site
|
||||
find backend -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true
|
||||
|
||||
Reference in New Issue
Block a user