refactor(demo-load): iterate docs/demo/trips/* instead of per-trip blocks
demo-load / demo-reset now loop over every fixture under docs/demo/trips/ rather than hardcoding each trip, so new fixtures (no-photos-demo and any future one) are picked up with no Makefile edit. The only per-trip specific — the source `dailies/` folder mapping to `01.dailies/` in the pages tree — is uniform across fixtures, so one loop covers all. chown is scoped per fixture dir (never the whole 01.trips tree) and all copies stay `|| true`. Verified on the worktree server: a full reset then reload restores both italy-2026-demo (7 gpx + 12 entries + stories) and no-photos-demo; trip suite green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RDS6t8wcpbwKvvrxykVQ5K
This commit is contained in:
@@ -93,29 +93,24 @@ install-plugins:
|
||||
# ── Demo content ──────────────────────────────────────────────────────────────
|
||||
|
||||
demo-load:
|
||||
# Load italy-2026-demo trip (create pages if absent)
|
||||
docker exec intotheeast_grav bash -c "\
|
||||
mkdir -p /var/www/html/user/pages/01.trips/italy-2026-demo/01.dailies /var/www/html/user/pages/01.trips/italy-2026-demo/04.stories && \
|
||||
cp /var/www/html/user/docs/demo/trips/italy-2026-demo/trip.md /var/www/html/user/pages/01.trips/italy-2026-demo/trip.md 2>/dev/null || true && \
|
||||
cp /var/www/html/user/docs/demo/trips/italy-2026-demo/stories.md /var/www/html/user/pages/01.trips/italy-2026-demo/04.stories/stories.md 2>/dev/null || true && \
|
||||
cp -r /var/www/html/user/docs/demo/trips/italy-2026-demo/04.stories/. /var/www/html/user/pages/01.trips/italy-2026-demo/04.stories/ 2>/dev/null || true && \
|
||||
cp -r /var/www/html/user/docs/demo/trips/italy-2026-demo/dailies/. /var/www/html/user/pages/01.trips/italy-2026-demo/01.dailies/ && \
|
||||
cp /var/www/html/user/docs/demo/trips/italy-2026-demo/*.gpx /var/www/html/user/pages/01.trips/italy-2026-demo/ 2>/dev/null || true && \
|
||||
chown -R 1000:1000 /var/www/html/user/pages/01.trips/italy-2026-demo && \
|
||||
cd /var/www/html && php bin/grav clearcache"
|
||||
# Load no-photos-demo fixture (AE4: no cover_image, no entry images -> text-only header, no banner).
|
||||
# Guarded with `|| true` so runs whose user/ predates the fixture (e.g. the main
|
||||
# checkout before this branch merges) skip it instead of failing globalSetup.
|
||||
docker exec intotheeast_grav bash -c "\
|
||||
mkdir -p /var/www/html/user/pages/01.trips/no-photos-demo/01.dailies /var/www/html/user/pages/01.trips/no-photos-demo/04.stories && \
|
||||
cp /var/www/html/user/docs/demo/trips/no-photos-demo/trip.md /var/www/html/user/pages/01.trips/no-photos-demo/trip.md 2>/dev/null || true && \
|
||||
cp /var/www/html/user/docs/demo/trips/no-photos-demo/stories.md /var/www/html/user/pages/01.trips/no-photos-demo/04.stories/stories.md 2>/dev/null || true && \
|
||||
cp -r /var/www/html/user/docs/demo/trips/no-photos-demo/dailies/. /var/www/html/user/pages/01.trips/no-photos-demo/01.dailies/ 2>/dev/null || true && \
|
||||
chown -R 1000:1000 /var/www/html/user/pages/01.trips/no-photos-demo && \
|
||||
cd /var/www/html && php bin/grav clearcache"
|
||||
# Load every fixture trip under docs/demo/trips/ into the pages tree.
|
||||
# Source uses dailies/ + 04.stories/; dailies/ maps to 01.dailies/ on copy.
|
||||
# All copies are `|| true` so a fixture absent from an older user/ is skipped.
|
||||
docker exec intotheeast_grav bash -c 'for src in /var/www/html/user/docs/demo/trips/*/; do \
|
||||
slug=$$(basename "$$src"); dst=/var/www/html/user/pages/01.trips/$$slug; \
|
||||
mkdir -p "$$dst/01.dailies" "$$dst/04.stories"; \
|
||||
cp "$$src/trip.md" "$$dst/trip.md" 2>/dev/null || true; \
|
||||
cp "$$src/stories.md" "$$dst/04.stories/stories.md" 2>/dev/null || true; \
|
||||
cp -r "$$src/04.stories/." "$$dst/04.stories/" 2>/dev/null || true; \
|
||||
cp -r "$$src/dailies/." "$$dst/01.dailies/" 2>/dev/null || true; \
|
||||
cp "$$src"/*.gpx "$$dst/" 2>/dev/null || true; \
|
||||
chown -R 1000:1000 "$$dst"; \
|
||||
done; cd /var/www/html && php bin/grav clearcache'
|
||||
|
||||
demo-reset:
|
||||
docker exec intotheeast_grav bash -c "rm -rf /var/www/html/user/pages/01.trips/italy-2026-demo /var/www/html/user/pages/01.trips/no-photos-demo && cd /var/www/html && php bin/grav clearcache"
|
||||
docker exec intotheeast_grav bash -c 'for src in /var/www/html/user/docs/demo/trips/*/; do \
|
||||
rm -rf /var/www/html/user/pages/01.trips/$$(basename "$$src"); \
|
||||
done; cd /var/www/html && php bin/grav clearcache'
|
||||
|
||||
pixelfed-import:
|
||||
docker exec intotheeast_grav bash -c "which python3 || apt-get install -y python3 --no-install-recommends -q"
|
||||
|
||||
Reference in New Issue
Block a user