#!/bin/bash # ============================================================================ # Script de Preservacao de Assets - Avanzato # ============================================================================ # Uso: bash scripts/preserve-assets.sh [pasta-do-site-no-servidor] # # Este script copia assets personalizados (logo, imagens, etc.) # para a pasta do site apos o deploy, SEM alterar os arquivos do build. # # EXEMPLO: # bash scripts/preserve-assets.sh /var/www/avanzato # ============================================================================ set -e # Cores para output GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' # No Color # Diretorio do script SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_DIR="$(dirname "$SCRIPT_DIR")" # Diretorio dos assets personalizados ASSETS_DIR="${PROJECT_DIR}/custom-assets" # Diretorio de destino (passado como argumento ou usa default) DEST_DIR="${1:-/var/www/avanzato/dist}" echo "==========================================" echo " Avanzato - Preservacao de Assets" echo "==========================================" echo "" # Verifica se a pasta de assets existe if [ ! -d "$ASSETS_DIR" ]; then echo -e "${YELLOW}Pasta custom-assets/ nao encontrada.${NC}" echo "Criando estrutura em: ${ASSETS_DIR}" mkdir -p "$ASSETS_DIR" mkdir -p "$ASSETS_DIR/images" mkdir -p "$ASSETS_DIR/logo" mkdir -p "$ASSETS_DIR/fonts" echo -e "${GREEN}Estrutura criada!${NC} Coloque seus assets nesta pasta." echo "" fi # Verifica se o destino existe if [ ! -d "$DEST_DIR" ]; then echo -e "${RED}Erro: Diretorio de destino nao existe: ${DEST_DIR}${NC}" echo "Usage: bash scripts/preserve-assets.sh /caminho/do/site" exit 1 fi echo -e "${GREEN}Assets origem:${NC} ${ASSETS_DIR}" echo -e "${GREEN}Assets destino:${NC} ${DEST_DIR}" echo "" # Contador de arquivos copiados COPIED=0 # ============================================================================ # 1. LOGO # ============================================================================ if [ -f "$ASSETS_DIR/logo/logo.png" ]; then echo -e "${GREEN}[LOGO]${NC} Copiando logo.png..." cp "$ASSETS_DIR/logo/logo.png" "$DEST_DIR/assets/logo.png" COPIED=$((COPIED + 1)) fi if [ -f "$ASSETS_DIR/logo/logo.svg" ]; then echo -e "${GREEN}[LOGO]${NC} Copiando logo.svg..." cp "$ASSETS_DIR/logo/logo.svg" "$DEST_DIR/assets/logo.svg" COPIED=$((COPIED + 1)) fi if [ -f "$ASSETS_DIR/logo/favicon.ico" ]; then echo -e "${GREEN}[LOGO]${NC} Copiando favicon.ico..." cp "$ASSETS_DIR/logo/favicon.ico" "$DEST_DIR/favicon.ico" COPIED=$((COPIED + 1)) fi if [ -f "$ASSETS_DIR/logo/favicon.svg" ]; then echo -e "${GREEN}[LOGO]${NC} Copiando favicon.svg..." cp "$ASSETS_DIR/logo/favicon.svg" "$DEST_DIR/favicon.svg" COPIED=$((COPIED + 1)) fi # ============================================================================ # 2. IMAGENS # ============================================================================ if [ -d "$ASSETS_DIR/images" ] && [ "$(ls -A "$ASSETS_DIR/images/" 2>/dev/null)" ]; then echo -e "${GREEN}[IMAGENS]${NC} Copiando imagens personalizadas..." for img in "$ASSETS_DIR/images"/*; do if [ -f "$img" ]; then filename=$(basename "$img") cp "$img" "$DEST_DIR/assets/${filename}" echo " -> ${filename}" COPIED=$((COPIED + 1)) fi done fi # ============================================================================ # 3. FONTS # ============================================================================ if [ -d "$ASSETS_DIR/fonts" ] && [ "$(ls -A "$ASSETS_DIR/fonts/" 2>/dev/null)" ]; then echo -e "${GREEN}[FONTES]${NC} Copiando fontes personalizadas..." for font in "$ASSETS_DIR/fonts"/*; do if [ -f "$font" ]; then filename=$(basename "$font") cp "$font" "$DEST_DIR/assets/${filename}" echo " -> ${filename}" COPIED=$((COPIED + 1)) fi done fi # ============================================================================ # 4. ARQUIVOS EXTRAS (robots.txt, sitemap, etc.) # ============================================================================ if [ -f "$ASSETS_DIR/robots.txt" ]; then echo -e "${GREEN}[EXTRA]${NC} Copiando robots.txt personalizado..." cp "$ASSETS_DIR/robots.txt" "$DEST_DIR/robots.txt" COPIED=$((COPIED + 1)) fi if [ -f "$ASSETS_DIR/sitemap.xml" ]; then echo -e "${GREEN}[EXTRA]${NC} Copiando sitemap.xml personalizado..." cp "$ASSETS_DIR/sitemap.xml" "$DEST_DIR/sitemap.xml" COPIED=$((COPIED + 1)) fi # ============================================================================ # RESULTADO # ============================================================================ echo "" echo "==========================================" if [ $COPIED -gt 0 ]; then echo -e "${GREEN}Concluido! ${COPIED} arquivo(s) preservado(s).${NC}" else echo -e "${YELLOW}Nenhum arquivo customizado encontrado.${NC}" echo "" echo "Para usar, coloque seus arquivos em:" echo " ${ASSETS_DIR}/logo/ -> logo.png, logo.svg, favicon.ico" echo " ${ASSETS_DIR}/images/ -> imagens personalizadas" echo " ${ASSETS_DIR}/fonts/ -> fontes personalizadas" echo " ${ASSETS_DIR}/ -> robots.txt, sitemap.xml" fi echo "=========================================="