Album virtual para WEB
Publicado por Danilo 09/05/2004
[ Hits: 10.710 ]
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
Monitorar capacidade das partições
Backup de dados do Samba em um compartilhamento Windows
Verificar e efetua o download da nova versão do antivirus McAfee
Script de Inclusão (atualização) de Repositórios para Mandriva 2008.
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Instalar e Configurar a santíssima trindade (PAP) no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Lançamento do Brutal DOOM test 6
Consertando o erro no Brave de webgl
Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x
Seno, Coseno, Tangente em CLIPPER (0)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









