From 61d08f336a62d2e9d4122670980986d2712b9c13 Mon Sep 17 00:00:00 2001 From: cevheri Date: Tue, 23 Jun 2026 21:52:37 +0300 Subject: [PATCH 1/9] =?UTF-8?q?docs:=20design=20spec=20for=20unifying=20de?= =?UTF-8?q?ploy=20(B2=20=E2=80=94=20single-source=20content,=20shared=20ID?= =?UTF-8?q?E=20shell)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- .../designs/2026-06-23-deploy-unify-design.md | 139 ++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 docs/designs/2026-06-23-deploy-unify-design.md diff --git a/docs/designs/2026-06-23-deploy-unify-design.md b/docs/designs/2026-06-23-deploy-unify-design.md new file mode 100644 index 0000000..0e1e782 --- /dev/null +++ b/docs/designs/2026-06-23-deploy-unify-design.md @@ -0,0 +1,139 @@ +# Unify Deploy — single-source content, consistent IDE shell (B2) + +> Problem: `/deploy` (a Google-indexed URL) renders as a classic centered +> Header/Footer page, while the homepage Explorer→deploy shows a sparse IDE +> result-set teaser. Two different approaches AND two different content depths. +> Goal: one rich deploy content authored ONCE, shown in the SAME IDE shell both +> on the homepage `#deploy` section and at `/deploy` — without losing `/deploy`'s +> SEO and without duplicating content or the shell. + +## Decisions (locked with user, 2026-06-23) +- **B2**: keep `/deploy` as a real, indexed page (do NOT redirect — it's indexed; + a hash `/#deploy` is not a separate indexable URL, so redirecting would + consolidate `/deploy` into the homepage and drop the dedicated URL). +- **Single source, hard requirement**: the deploy *content* is authored exactly + once (in `DeploySection.astro`) and rendered from two places. No second copy. +- **Shared shell**: extract the IDE chrome into `StudioShell.astro` so both pages + use one shell (no shell duplication either). +- Scope: deploy only. Other sub-pages (`/docker-compose-example`, + `/privacy-policy`, `/404`) keep Header/Footer for now (separate future pass). + +## Architecture + +### 1. `StudioShell.astro` (NEW) — the one IDE chrome +Extracts what `index.astro` currently inlines: desktop `TopBar`, `MobileTopBar`, +the workbench (`