Website-creator: always create locally first, then ask to sync

This commit is contained in:
Kunthawat Greethong
2026-03-15 15:02:10 +07:00
parent e5c299216a
commit 58ab725ef9
2 changed files with 35 additions and 46 deletions

View File

@@ -811,14 +811,15 @@ python3 scripts/create_astro_website.py \
--features "blog,products,contact" \
--umami-id "xxx-xxx-xxx" \
--output "./dealplustech-website"
# Local only (skip Gitea/Easypanel):
python3 scripts/create_astro_website.py \
--name "My Website" \
--local-only \
--output "./my-website"
```
**Workflow:**
1. Creates website locally
2. Shows preview instructions (npm run dev)
3. Asks: "Sync to Gitea and deploy?"
- **No:** Stay local, you're done
- **Yes:** Proceed with Gitea sync + Easypanel deploy
### Refactor Existing Website
```bash

View File

@@ -10,7 +10,7 @@ Creates complete Astro projects with:
- Cookie consent management
- Consent logging database (Astro DB)
- PDPA-compliant legal pages
- Easypanel deployment (optional with --local-only)
- Easypanel deployment (manual sync after local preview)
Usage:
python3 create_astro_website.py \\
@@ -19,11 +19,8 @@ Usage:
--languages "th,en" \\
--output "./dealplustech-website"
# Local only (skip Gitea/Easypanel):
python3 create_astro_website.py \\
--name "My Website" \\
--local-only \\
--output "./my-website"
# Then preview locally, and when ready:
# Script will ask: "Sync to Gitea and deploy?"
"""
import os
@@ -260,8 +257,6 @@ def main():
help='Output directory')
parser.add_argument('--no-interactive', action='store_true',
help='Skip interactive setup (use defaults)')
parser.add_argument('--local-only', action='store_true',
help='Create website locally only, skip Gitea sync and Easypanel deploy')
args = parser.parse_args()
@@ -341,38 +336,31 @@ def main():
print(" 3. Update .env with your credentials")
print(" 4. npm run dev")
# Check if local-only mode
if args.local_only:
# Always ask to sync (skip if no-interactive mode)
print("")
print("=" * 60)
print("🏠 LOCAL MODE - No auto-deploy")
print("🏠 Website created locally!")
print("=" * 60)
print("")
print("Website created locally. To preview:")
print(f" cd {args.output}")
print(" npm install")
print(" npm run dev")
print("Preview at: http://localhost:4321")
print("")
# Ask if they want to deploy (skip if no-interactive mode)
# Ask if they want to sync to Gitea/Easypanel
if args.no_interactive:
print("✅ Done! Website is ready at:", args.output)
print("To sync later, run the sync command manually.")
return
deploy_choice = input("Do you want to sync to Gitea and deploy to Easypanel? (y/n): ").strip().lower()
sync_choice = input("Do you want to sync to Gitea and deploy to Easypanel? (y/n): ").strip().lower()
if deploy_choice != 'y':
if sync_choice != 'y':
print("")
print("✅ Done! Website is ready at:", args.output)
print("To sync later, run this script again or use gitea-sync/easypanel-deploy skills.")
return
else:
print("")
print("Proceeding with deployment...")
else:
print("")
print("=" * 60)
print("🚀 AUTO-DEPLOY STARTING")
print("=" * 60)
print("Proceeding with sync and deployment...")
print("")
# Step 1: Sync to Gitea