mirror of
https://github.com/skoelle/moonweb-site.git
synced 2026-09-17 17:00:25 +00:00
- AGENTS.md: new file structure, single config, correct commands - README.md: updated architecture, project structure, CI/CD docs - SPEC.md: updated sitemap, design system, repository structure, tech stack - PLAN.md: completed migration phases, remaining items - TODO.md: current status, completed tasks, remaining items
75 lines
3.6 KiB
Markdown
Executable File
75 lines
3.6 KiB
Markdown
Executable File
# moonweb.org — Implementation Plan
|
|
|
|
Companion to `SPEC.md`. Documents the completed migration from separate subdomain sites to a unified `www.moonweb.org` subdirectory structure.
|
|
|
|
## Phase 0 — Repo & tooling setup
|
|
|
|
1. Created the `moonweb-site` monorepo.
|
|
2. Initialized Eleventy project structure per `SPEC.md §10`.
|
|
3. Set up `shared/_includes/base.njk` (header + card-grid) with accent colors inlined.
|
|
4. Verified local dev server works per site.
|
|
|
|
## Phase 1 — Content migration & authoring (per domain)
|
|
|
|
1. **code** — GitHub aggregator, `_data/repos.json`, overview page grouped by subcategory.
|
|
2. **smarthome** — overview + detail pages where content exists.
|
|
3. **infra** — shallow overview with redaction pass (no IPs, keys, passwords).
|
|
4. **retro** — minimal overview with WIP notices.
|
|
5. **hub** — central index linking all sites, including redirect `.htm` files for old www.moonweb.org paths.
|
|
6. **timecapsule** — integrated from moonweb-www, preserves original 2001 design under `/timecapsule/`.
|
|
|
|
## Phase 2 — CI/CD
|
|
|
|
1. GitHub Actions workflow `build-deploy-moonweb.yml`: single Eleventy build for all moonweb sites + timecapsule build, deploy via IONOS SFTP.
|
|
2. GitHub Actions workflow `deploy-stefankoelle.yml`: stefankoelle.de build, deploy via IONOS SFTP.
|
|
3. Cloudflare redirect rules for old subdomains (`scripts/cloudflare/`).
|
|
|
|
## Phase 3 — Consolidation to www.moonweb.org
|
|
|
|
All moonweb.org sites now live under `www.moonweb.org` as subdirectories:
|
|
|
|
| URL | Content |
|
|
|-----|---------|
|
|
| `www.moonweb.org/` | Hub (root) |
|
|
| `www.moonweb.org/infra/` | Infrastructure |
|
|
| `www.moonweb.org/smarthome/` | Smart Home |
|
|
| `www.moonweb.org/code/` | Code catalog |
|
|
| `www.moonweb.org/retro/` | Retro hardware |
|
|
| `www.moonweb.org/timecapsule/` | 2000s time capsule |
|
|
| `www.moonweb.org/impressum/` | Legal notice |
|
|
|
|
Cloudflare redirects forward old subdomains:
|
|
- `hub.moonweb.org/*` → `www.moonweb.org/*`
|
|
- `infra.moonweb.org/*` → `www.moonweb.org/infra/*`
|
|
- `smarthome.moonweb.org/*` → `www.moonweb.org/smarthome/*`
|
|
- `code.moonweb.org/*` → `www.moonweb.org/code/*`
|
|
- `retro.moonweb.org/*` → `www.moonweb.org/retro/*`
|
|
|
|
### Technical consolidation
|
|
|
|
- Single `eleventy.config.js` at root with computed `pathPrefix` per section.
|
|
- Shared `base.njk` layout with inlined accent colors (no per-site theme CSS).
|
|
- Central `_data/repos.json` (moved from `code/_data/`).
|
|
- Central sitemap (`shared/_includes/sitemap.njk`) with all 36 pages.
|
|
- Single `robots.txt` at root.
|
|
- `.eleventyignore` excludes `stefankoelle/` and `timecapsule/` (built separately).
|
|
- `build-pdf.sh` temporarily renames `.eleventyignore` for stefankoelle build.
|
|
|
|
## Definition of done — Achieved
|
|
|
|
- All sites live under `www.moonweb.org` as subdirectories, deployed via IONOS SFTP.
|
|
- `www.moonweb.org/code/` reflects the current GitHub repos via the `.moonweb.yml` aggregator.
|
|
- `www.moonweb.org/smarthome/` gives an accurate picture of what's running on the homelab.
|
|
- `www.moonweb.org/infra/` describes the stack shallowly with zero sensitive data leaked.
|
|
- `www.moonweb.org/retro/` exists with an honest, minimal overview.
|
|
- `www.moonweb.org/` correctly links everything.
|
|
- `stefankoelle.de` is a working onepager with CV, Projects, Languages, Impressum, and LED Matrix documentation.
|
|
- Old subdomains redirect via Cloudflare to new paths.
|
|
- Old www.moonweb.org content preserved under `/timecapsule/`.
|
|
|
|
## Remaining items
|
|
|
|
- Cloudflare redirect rules need activation (script ready, needs `CLOUDFLARE_API_TOKEN` and `CLOUDFLARE_ZONE_ID` secrets, or manual dashboard setup).
|
|
- Google Search Console: new property `www.moonweb.org` not yet created.
|
|
- `moonweb-www` repository not yet archived.
|