6 Commits

Author SHA1 Message Date
Charles N Wyble
a6cfae4dc3 refactor: flatten pages structure and update setup.php for Git Sync
- Move pages/{fqdn}/pages/* to pages/{fqdn}/*
- Update setup.php to look at /user/pages/{hostname}
- Prepare for Git Sync to sync pages/ to user/pages/
2026-03-02 17:10:25 -05:00
Charles N Wyble
1dbbfc5d7c refactor: convert to monorepo with all 21 sites merged
- Merged 21 repos using git subtree (preserves full history)
- Content now at content/{fqdn}/pages/
- Updated setup.php to use user/data/content/ path for Git Sync
- Simplified docker-compose.yml for local testing

Sites included (238 total pages):
- charters.turnsys.com (199 pages)
- plan.knownelement.com (7 pages)
- plan.startinglineproductions.com (10 pages)
- plan.suborbital-systems.com (2 pages)
- 17 other plan.* sites (1 page each)

Assisted-by: GLM-5 via Crush <crush@charm.land>
2026-03-02 16:51:02 -05:00
Charles N Wyble
3491bb7a46 fix: working multi-site setup with minimal stream override
- Use minimal setup.php that only overrides 'page' stream
- Override only page stream to avoid conflicts with Grav core streams
- Environment-specific pages now load correctly per hostname
- Remove unused add-streams.sh script

Root cause: Grav's core streams (data, config, etc.) cannot be
overridden in setup.php without causing initialization errors.
The solution is to only override the 'page' stream, which allows
each environment to have its own pages while sharing plugins,
themes, and data with the main installation.

Testing confirmed:
- charters.turnsys.com → "TSYS Group Charters"
- plan.knownelement.com → "Known Element Business Plan"
- plan.startinglineproductions.com → "Starting Line Productions Plan"

🤖 Generated with [Crush](https://crush.cbhops.com)

Assisted-by: GLM-5 via Crush <crush@charm.land>
2026-03-02 16:19:14 -05:00
Charles N Wyble
a872fe769a refactor: rename startinglineproductions to plan.startinglineproductions.com
- Rename mdbook source directory
- Rename Grav environment directory in container
- Update setup.php hostname mapping
- Update configure-sites.sh
- Update etc-hosts-entries.txt
- Update README.md site inventory

Consistent naming convention: all plan sites now use plan.{domain}

🤖 Generated with [Crush](https://crush.cbhops.com)

Assisted-by: GLM-5 via Crush <crush@charm.land>
2026-03-02 16:13:18 -05:00
Charles N Wyble
9cbaf668be fix: correct Grav multi-site setup and rename governance to charters
- Fix setup.php to use Grav's native environment-based multi-site
  - Set GRAV_ENVIRONMENT constant instead of overriding streams
  - Return empty array to let Grav handle stream configuration
- Rename governance.turnsys.com to charters.turnsys.com
  - Update setup.php hostname mapping
  - Update configure-sites.sh site title
  - Update etc-hosts-entries.txt
  - Rename mdbook source directory
  - Rename container environment directory
- Update site title from "TSYS Group Governance" to "TSYS Group Charters"

The stream initialization error was caused by setup.php returning
stream configurations that conflicted with Grav's core streams.
Grav's native environment handling properly manages stream prefixes
when GRAV_ENVIRONMENT is set.

Container is now healthy and responding with 302 redirects.

🤖 Generated with [Crush](https://crush.cbhops.com)

Assisted-by: GLM-5 via Crush <crush@charm.land>
2026-03-02 16:10:37 -05:00
Charles N Wyble
87feb5e3b5 feat: initialize Grav multi-site project
- Add AGENTS.md with project requirements and site inventory
- Add JOURNAL.md for project tracking
- Add etc-hosts-entries.txt for local testing (22 domains)
- Add setup.php for Grav multi-site routing configuration

This project migrates 21 mdbook sites to a single Grav multi-site
installation. Each site will have its own environment directory under
user/env/{fqdn}/ with independent config, pages, and themes.

Development runs in Docker on port 12000 (container: tsysstatic-dev-grav).
Production target: Cloudron Grav app at staticsites.turnsys.com.

🤖 Generated with [Crush](https://crush.cbhops.com)

Assisted-by: GLM-5 via Crush <crush@charm.land>
2026-03-02 16:04:09 -05:00