From be7b8486408082a791119f686f41ab17ac2ed566 Mon Sep 17 00:00:00 2001 From: rob Date: Mon, 5 Jan 2026 19:13:42 -0400 Subject: [PATCH] Add --deploy flag to build and publish public docs automatically --- bin/new-project | 50 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/bin/new-project b/bin/new-project index e755790..fa08c95 100755 --- a/bin/new-project +++ b/bin/new-project @@ -48,6 +48,7 @@ PROJECT_TITLE="" PROJECT_TAGLINE="" DRY_RUN=false SKIP_GITEA=false +DEPLOY_DOCS=false show_help() { cat << EOF @@ -61,6 +62,7 @@ Arguments: Options: --title "Title" Display title (default: derived from name) --tagline "..." Short description (prompted if not provided) + --deploy Build and deploy public docs to Gitea Pages --dry-run Show what would happen without doing it --skip-gitea Skip Gitea repo creation (for offline use) --help, -h Show this help message @@ -88,6 +90,10 @@ parse_args() { PROJECT_TAGLINE="$2" shift 2 ;; + --deploy) + DEPLOY_DOCS=true + shift + ;; --dry-run) DRY_RUN=true shift @@ -429,9 +435,31 @@ Created by development-hub/new-project script" log_success "Created initial commit" } +deploy_public_docs() { + local name="$1" + local build_script="$PROJECT_DOCS_ROOT/scripts/build-public-docs.sh" + + log_step "Building and deploying public documentation" + + if [[ "$DRY_RUN" == true ]]; then + log_info "[DRY RUN] Would run: $build_script $name --deploy" + return 0 + fi + + if [[ ! -x "$build_script" ]]; then + log_error "Build script not found: $build_script" + return 1 + fi + + "$build_script" "$name" --deploy + + log_success "Public docs deployed" +} + print_summary() { local name="$1" local title="$2" + local deployed="$3" echo "" echo -e "${GREEN}========================================${NC}" @@ -447,11 +475,16 @@ print_summary() { echo " 1. cd $PROJECTS_ROOT/$name" echo " 2. Start developing!" echo "" - echo "To publish documentation:" - echo " $PROJECT_DOCS_ROOT/scripts/build-public-docs.sh $name --deploy" - echo "" - echo "Public docs will be available at:" - echo " https://pages.brrd.tech/$GITEA_OWNER/$name/" + if [[ "$deployed" == true ]]; then + echo "Public docs are live at:" + echo " https://pages.brrd.tech/$GITEA_OWNER/$name/" + else + echo "To publish documentation:" + echo " $PROJECT_DOCS_ROOT/scripts/build-public-docs.sh $name --deploy" + echo "" + echo "Public docs will be available at:" + echo " https://pages.brrd.tech/$GITEA_OWNER/$name/" + fi echo "" } @@ -484,8 +517,13 @@ main() { update_build_script "$PROJECT_NAME" "$PROJECT_TITLE" "$PROJECT_TAGLINE" initial_commit "$PROJECT_NAME" + # Deploy public docs if requested + if [[ "$DEPLOY_DOCS" == true ]]; then + deploy_public_docs "$PROJECT_NAME" + fi + if [[ "$DRY_RUN" != true ]]; then - print_summary "$PROJECT_NAME" "$PROJECT_TITLE" + print_summary "$PROJECT_NAME" "$PROJECT_TITLE" "$DEPLOY_DOCS" fi }