Ieri in poco più di 90 minuti ho creato lo script con il quale oggi posto nel blog.
L'ho chiamato “post”, non molto originale ma rende l'idea. Unica pecca è che con Gftp dovrò caricare le pagine modificate da questo script, nell'host del blog.
Il procedimento è semplice: 1. creo il post con Nvu in formato html inserendo i vari tag; 2. salvo il file in una predeterminata cartella; 3. avvio lo script post; 4. infine, carico con il client ftp le pagine nell'host.
Questo script è scritto in Bash e può inserire più post in una volta. Ecco il codice: #!/bin/bash # # post(){ echo | grep -v EOF >> temp <<EOF <a name="$ancora"></a> <div class="titolo_testo">$titolo<br> <div class="info_testo">data<a class="link_esterno" rel="nofollow" href="$link"> \ $giorno $mese $anno</a> alle $ora,&nbsp;da&nbsp;<a \ class="link_esterno" rel="nofollow" href="chisono.html"> farthest</a> </div> </div> <div class="testo">$testo </div> <hr class="separ_princ"><!--Fine post--> EOF } #principale #if [ $# -eq 0 ]; then # zenity --title="post" --error \ --title="Attenzione" --text="Seleziona almeno un file." # exit 1 #fi dir_di_lavoro="$HOME/Mysite/work/post/" cd "$dir_di_lavoro" #pagina archivio page_archivio=`cat archivio`_20`date +%y`_archivio.html #while [ $# -gt 0 ]; do for file in *.[Hh][Tt][Mm][Ll]; do data=20`date +%y%m%d` ora=`date +%R` giorno=`date +%d` mese=`date +%B` anno=20`date+%y` ora_pre=`date +%X|sed 's/://g'` ancora=`echo "$data""$ora_pre"` link=`echo "$page_archivio"#"$data""$ora_pre"` # titolo=`echo $(basename "$file")|sed s/.[Hh][Tt][Mm][Ll]$//` testo=`sed -n "/<body>/,/<\/body>/p" "$file" | \ grep -v "<body>" | grep -v "</body>"` # linea=`sed -n '/<!--Inserire post-->/=' ../index.html` linea_successiva=$(( linea+1 )) tot_linee=`wc -l ../index.html|awk '{print $1}'` sed -n 1,"$linea"p ../index.html > temp post sed -n "$linea_successiva","$tot_linee"p \ ../index.html >> temp cp -f ../index.html backup-page/ mv temp ../index.html linea_arch=`sed -n '/<!--Inserire post-->/=' \ ../$page_archivio` linea_successiva_arch=$(( linea_arch+1 )) tot_linee_arch=`wc -l ../$page_archivio|awk '{ print $1 }'` sed -n 1,"$linea_arch"p ../$page_archivio > temp post sed -n "$linea_successiva_arch","$tot_linee_arch"p \ ../$page_archivio >> temp cp -f ../$page_archivio backup-page/ mv temp ../$page_archivio mv "$file" posts_inseriti/ shift sleep 2s done #fine zenity --title="post" --info --text="Lo script e' terminato!" exit 0
Ultimo aggiornamento 16 Aprile 2006