sábado, 17 de setembro de 2011

Criando páginas rápidas com fotos

  O propósito deste script é gerar uma página para cada foto. Cada página tem dois links sendo o anterior e a próxima (exceção para a primeira e a última). Em outras palavras, aparecerá um número em ordem crescente(iniciado em 1) para cada foto, a foto e os links entre as páginas adjacentes.
  Esta necessidade surgiu para eu mostrar para os meus pais que tem dificuldade de lidar com o computador. Então juntei alguns conhecimentos para facilitar para eles. Recomendo redimensionar as fotos para não demorar no carregamento (veja Convertendo as fotos de um diretório específico ).
  O script exige que as fotos estejam numeradas sequencialmente. Para automatizar esta etapa, junte com o script que está em Renomear de maiúscula para minúscula e com sequência numérica . Copie e execute o segundo script desta página.
  As últimas instruções do script são 4 ajustes:
  • Trocar o link de número 010 por 10
  • Trocar o link de número 9 por 09
  • Eliminar da primeira página o link para página anterior
  • Eliminar da última página o link para a página seguinte
  Para entender como os arquivos TXT criaram os arquivos HTML, recomendo a leitura Marcas do Txt2tags do genial Aurélio Marinho Jargas.
  Depois de executar o script abaixo, transfira para o seu servidor web as fotos e os arquivos HTML. Uma alternativa que requer um pouco mais de conhecimento é configurar o Apache e o seu roteador para fazer um port forwarding. Assim, meus pais acessavam as fotos diretamente do meu computador.

#/bin/bash

# v1.1 September, 11th, 2010

total=`ls *.jpg | wc -l`
for i in `seq 9`
  do
   let j=$i-1
   let k=$i+1
echo "


=0$i/$total=

[0$i.jpg]


[anterior 0$j.html]


[proxima 0$k.html]
" > 0$i.txt
  done

for i in `seq 10 1 $total`
  do
   let j=$i-1
   let k=$i+1
echo "


=$i/$total=

[$i.jpg]


[anterior $j.html]

[proxima $k.html]
" > $i.txt
  done


# txt2html

for i in $total
  do
   txt2tags -t html *.txt
  done


sed 's/010/10/' 09.html > 09temp
mv -v 09temp 09.html

sed 's/9.html/09.html/' 10.html > 10temp
mv -v 10temp 10.html

sed '/anterior/d' 01.html > primeiroTemp
mv -v primeiroTemp 01.html

sed '/proxima/d' $total.html > ultimoTemp
mv -v ultimoTemp "$total".html

Nenhum comentário:

Postar um comentário