Album virtual para WEB
Publicado por Danilo 09/05/2004
[ Hits: 10.138 ]
Homepage: http://www.danilocesar.com
Este Script cria um álbum virtual em formato HTML, facilitando muito o processo de publicação de fotos em websites.
O Layout das página é 100% costumizavel, cabendo ao usuário
apenas editar as linhas HTML dentro do script Shell.
Para que o script funcione, é necessário o pacote instalar o patoce imagemagick, e que o aplicativo convert esteja dentro do PATH.
#!/bin/bash clear ################################################################ # Script gerador de album virtual # Necessita dos pacotes: imagemagick # # autor: Danilo Cesar # danilo.paula@brturbo.com ################################################################ EXT="jpg" # Extensão dos arquivos DIR_DEST=$2 #Diretório destino DIR_ORI=$1 #Diretório de Origem" ESCALA_IMG=400 # Tamanho das imagens ESCALA_THUMB=100 # Tamanho das minhaturas COLUNAS=5 # Numero de colunas da página indice ERRO=0 if [ -z "$1" ]; then ERRO=1 fi if [ -z "$2" ]; then ERRO=1 fi if [ "$ERRO" == 1 ]; then echo -e "Forma Correta de usar:" echo $(basename $0) "(Origem) (Destino) " exit 1 fi echo "Digite o nome do Album" read NOME_ALBUM echo "Digite o Titulo do Album" read TITULO ###################################################### echo "Acessando pasta de origem" $DIR_ORI cd "$DIR_ORI" if [ "$?" != 0 ]; then echo "Não foi possível acessar a pasta " $DIR_FOTOS exit 1 fi echo "OK" echo "Contando Quantidade de fotos a serem utilizadas" quant=`ls *.${EXT} | wc -l` if (( $quant == 0 )); then echo "Não há fotos no diretório escolhido" exit 1 fi echo $quant "Fotos contadas" ########################################################### # Criando pastas necessárias ########################################################### DIR_FOTOS=${DIR_DEST}/fotos/ DIR_FOTOS_S=fotos/ DIR_THUMB=${DIR_DEST}/thumb/ DIR_THUMB_S=thumb/ DIR_HTML=${DIR_DEST}/html/ DIR_HTML_S=html/ echo "Criando pastas" $DIR_FOTOS mkdir -p $DIR_FOTOS if [ "$?" != 0 ]; then echo "Não foi possível criar o diretório" $DIR_FOTOS exit 1 fi echo -e "Concluido!" ######## echo "Criando pastas" $DIR_THUMB mkdir -p $DIR_THUMB if [ "$?" != 0 ]; then echo "Não foi possível criar o diretório" $DIR_THUMB exit 1 fi echo -e "Concluido!" ########## echo "Criando pastas" $DIR_HTML mkdir -p $DIR_HTML if [ "$?" != 0 ]; then echo "Não foi possível criar o diretório" $DIR_HTML exit 1 fi echo -e "Concluido!" echo -e "\n\n.........................................\n\n" echo "Iniciando cópia de arquivos" ########################################################### #Form indica a formatação(zeros) o nome do arquivo terá form=$((`echo $quant | wc -c` -1)) i=1 ls *.${EXT} | while read ARQ do nome=`printf {%0${form}d,$i}` nome_n=`printf {%0${form}d,$(($i+1))}` nome_p=`printf {%0${form}d,$(($i-1))}` echo -e "Copiando $ARQ - ($i/$quant)" cp $ARQ ${DIR_FOTOS}${nome}.${EXT} if [ "$?" != 0 ]; then echo "Não foi possível copiar o arquivo " $ARQ exit 1 fi echo -e "Redimensionando: ${DIR_FOTOS}${nome}.${EXT}" convert -scale $ESCALA_IMG ${DIR_FOTOS}${nome}.${EXT} ${DIR_FOTOS}${nome}.${EXT} if [ "$?" != 0 ]; then echo "Não foi possível redimencionar arquivo " ${DIR_FOTOS}${nome}.${EXT} exit 1 fi echo -e "Criando Minhatura..." convert -thumbnail $ESCALA_THUMB ${DIR_FOTOS}${nome}.${EXT} ${DIR_THUMB}${nome}.${EXT} if [ "$?" != 0 ]; then echo "Não foi possível converter arquivo " ${DIR_FOTOS}${nome}.${EXT} exit 1 fi echo -e "Criando página HTML" # # Inicio da página HTML. # Variáveis: # $NEXT -> Link para proxima foto # $PREV -> Link para foto anterior # $FOTO_LINK -> Imagem # # A Página será criada em cima deste modelo. FOTO_LINK="<img src=\"../${DIR_FOTOS_S}${nome}.${EXT}\">" ###################################################################### #Linhas Que verificam os Links. Para não criar, por exemplo, link para #página anterior na página inicial. ###################################################################### if [[ $i -gt 1 ]]; then PREV="<a href='${nome_p}.html'>Anterior</a>" else PREV= fi if [[ $i -lt $quant ]]; then NEXT="<a href='${nome_n}.html'>proxima</a> " else NEXT= fi ##################################################################### #As linhas do HTML abaixo podem ser aditadas de acordo com o gosto do #usuário, podendo este criar o layout desejado #################################################################### echo " <html> <head><title>${NOME_ALBUM} $i </title></head> <body> <table> <tr> <td align=\"center\" colspan=3>$Album virtual para WEB</td> </tr> <tr> <td></td> <td>${FOTO_LINK}</td> <td></td></tr> <tr> <td>${PREV}</td> <td align=\"center\"><a href=../index.html>index</a> </td> <td>${NEXT}</td> </tr> </table> </body> </html>" > ${DIR_HTML}/${nome}.html i=$(($i +1)) done ##################################################### #Criação do index.html - Indice das fotos ##################################################### echo "Criando index" echo " <html> <head><title>${NOME_ALBUM} $i </title></head> <body> <table> <tr> <td align=\"center\" colspan=${COLUNAS}>$Album virtual para WEB</td> </tr> <tr> " > ${DIR_DEST}/index.html ####################################################### # While que imprime os links das fotos ####################################################### i=1 while (($quant >= $i)) do nome=`printf {%0${form}d,$i}` FOTO_LINK="<a href='${DIR_HTML_S}${nome}.html'><img border='0' src=\"${DIR_THUMB_S}${nome}.${EXT}\"></a>" echo -e "<td>$FOTO_LINK</td>" >> ${DIR_DEST}/index.html ###################################################### # Neste ponto, o Shell divide as colunas, imprimindo # um <tr></tr> quando já tiver imprimido $COLUNAS fotos ###################################################### if ((${i}%${COLUNAS}==0));then echo -e "</tr><tr>" >> ${DIR_DEST}/index.html fi i=$(($i+1)) done ####################################################### # Fim do While ####################################################### echo " </tr> </table> </body> </html>" >> ${DIR_DEST}/index.html echo "OK" exit 0
Kronos - Sincronização de arquivos remotos
script testador de ips para rede wireless
Download de Wallpapers de Fotos do Espaço
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Alguém pode me ajudar porfavor como executar comandos ao iniciar no i3... (2)
Debian Bookworm para a versão beta Debian 13 Trixie (2)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (21)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba