90 lines
2.3 KiB
Bash
90 lines
2.3 KiB
Bash
#!/bin/bash
|
|
# ============================================================================
|
|
# Script Post-Build - Gera paginas estaticas para rotas React
|
|
# ============================================================================
|
|
# Isso permite que URLs como /avaliacao funcionem diretamente,
|
|
# mesmo em servidores sem try_files configurado.
|
|
#
|
|
# Uso: bash scripts/build-static-routes.sh (executa automaticamente apos build)
|
|
# ============================================================================
|
|
|
|
set -e
|
|
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m'
|
|
|
|
echo -e "${BLUE}[Post-Build]${NC} Gerando paginas estaticas para rotas..."
|
|
|
|
DIST_DIR="${1:-dist}"
|
|
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
|
|
if [ ! -d "$DIST_DIR" ]; then
|
|
echo -e "${YELLOW}Pasta dist/ nao encontrada. Execute npm run build primeiro.${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
# Lista de todas as rotas do site
|
|
ROUTES=(
|
|
"sobre"
|
|
"contato"
|
|
"cases"
|
|
"blog"
|
|
"avaliacao"
|
|
"tecnologias"
|
|
"tecnologia-para-condominios"
|
|
"ti-para-contabilidades"
|
|
"ti-para-advocacias"
|
|
"monitoramento-empresarial"
|
|
"firewall-pfsense-empresarial"
|
|
"backup-corporativo"
|
|
"voip-empresarial"
|
|
"servicos/ti-gerenciada"
|
|
"servicos/cloud-computing"
|
|
"servicos/seguranca"
|
|
"servicos/suporte"
|
|
"servicos/redes"
|
|
"servicos/pabx"
|
|
"servicos/backup"
|
|
"servicos/servidores"
|
|
"servicos/consultoria"
|
|
"servicos/noc"
|
|
"suporte-windows-server"
|
|
"suporte-linux-empresas"
|
|
"suporte-pfsense"
|
|
"suporte-proxmox"
|
|
"suporte-vmware"
|
|
"suporte-sharepoint"
|
|
"suporte-redes-cisco"
|
|
"privacidade"
|
|
"termos"
|
|
)
|
|
|
|
# Copiar index.html como base
|
|
cp "$DIST_DIR/index.html" "$DIST_DIR/index.html.bak"
|
|
|
|
# Gerar pagina para cada rota
|
|
for route in "${ROUTES[@]}"; do
|
|
mkdir -p "$DIST_DIR/$route"
|
|
cp "$DIST_DIR/index.html" "$DIST_DIR/$route/index.html"
|
|
done
|
|
|
|
echo -e "${GREEN}OK${NC} ${#ROUTES[@]} rotas estaticas criadas"
|
|
|
|
# Criar 404.html (copia do index.html para fallback)
|
|
cp "$DIST_DIR/index.html" "$DIST_DIR/404.html"
|
|
echo -e "${GREEN}OK${NC} 404.html criado"
|
|
|
|
# Limpar backup
|
|
rm -f "$DIST_DIR/index.html.bak"
|
|
|
|
echo ""
|
|
echo -e "${GREEN}Post-build concluido!${NC}"
|
|
echo ""
|
|
echo "Estrutura gerada:"
|
|
echo " dist/index.html (home)"
|
|
echo " dist/404.html (pagina nao encontrada)"
|
|
echo " dist/{rota}/index.html (${#ROUTES[@]} paginas estaticas)"
|
|
echo ""
|