Add --deploy flag to build and publish public docs automatically

This commit is contained in:
rob 2026-01-05 19:13:42 -04:00
parent 5f6cab404b
commit be7b848640
1 changed files with 44 additions and 6 deletions

View File

@ -48,6 +48,7 @@ PROJECT_TITLE=""
PROJECT_TAGLINE="" PROJECT_TAGLINE=""
DRY_RUN=false DRY_RUN=false
SKIP_GITEA=false SKIP_GITEA=false
DEPLOY_DOCS=false
show_help() { show_help() {
cat << EOF cat << EOF
@ -61,6 +62,7 @@ Arguments:
Options: Options:
--title "Title" Display title (default: derived from name) --title "Title" Display title (default: derived from name)
--tagline "..." Short description (prompted if not provided) --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 --dry-run Show what would happen without doing it
--skip-gitea Skip Gitea repo creation (for offline use) --skip-gitea Skip Gitea repo creation (for offline use)
--help, -h Show this help message --help, -h Show this help message
@ -88,6 +90,10 @@ parse_args() {
PROJECT_TAGLINE="$2" PROJECT_TAGLINE="$2"
shift 2 shift 2
;; ;;
--deploy)
DEPLOY_DOCS=true
shift
;;
--dry-run) --dry-run)
DRY_RUN=true DRY_RUN=true
shift shift
@ -429,9 +435,31 @@ Created by development-hub/new-project script"
log_success "Created initial commit" 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() { print_summary() {
local name="$1" local name="$1"
local title="$2" local title="$2"
local deployed="$3"
echo "" echo ""
echo -e "${GREEN}========================================${NC}" echo -e "${GREEN}========================================${NC}"
@ -447,11 +475,16 @@ print_summary() {
echo " 1. cd $PROJECTS_ROOT/$name" echo " 1. cd $PROJECTS_ROOT/$name"
echo " 2. Start developing!" echo " 2. Start developing!"
echo "" echo ""
echo "To publish documentation:" if [[ "$deployed" == true ]]; then
echo " $PROJECT_DOCS_ROOT/scripts/build-public-docs.sh $name --deploy" echo "Public docs are live at:"
echo "" echo " https://pages.brrd.tech/$GITEA_OWNER/$name/"
echo "Public docs will be available at:" else
echo " https://pages.brrd.tech/$GITEA_OWNER/$name/" 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 "" echo ""
} }
@ -484,8 +517,13 @@ main() {
update_build_script "$PROJECT_NAME" "$PROJECT_TITLE" "$PROJECT_TAGLINE" update_build_script "$PROJECT_NAME" "$PROJECT_TITLE" "$PROJECT_TAGLINE"
initial_commit "$PROJECT_NAME" 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 if [[ "$DRY_RUN" != true ]]; then
print_summary "$PROJECT_NAME" "$PROJECT_TITLE" print_summary "$PROJECT_NAME" "$PROJECT_TITLE" "$DEPLOY_DOCS"
fi fi
} }