diff --git a/generate.sh b/generate.sh index 4a2d88b..9437d26 100755 --- a/generate.sh +++ b/generate.sh @@ -18,9 +18,11 @@ # this program. If not, see . ################################################################################ +set -e + # liste des fichiers html à générer #files="autres.html copaings.html index.html ou.html projets.html rss.html apropos.html" -files="lang" +langDir="lang" tmpHeader="/tmp/header.html" annexes="css img" @@ -115,12 +117,12 @@ fi mkdir $target -for l in $(ls -d $files/*/ | cut -d\/ -f2) +for l in $(ls -d $langDir/*/ | cut -d\/ -f2) do generate_header lang/$l/header.link echo "Create folder $l in $target..." mkdir "$target/$l" - for i in $(ls $files/$l) + for i in $(ls $langDir/$l) do echo "[$l] Generate $i..." file="$target/$l/$i" @@ -133,7 +135,7 @@ do # https://stackoverflow.com/questions/68573654/copy-a-content-from-one-file-and-need-to-replace-in-another-file-using-sed # https://unix.stackexchange.com/questions/26284/how-can-i-use-sed-to-replace-a-multi-line-string # TODO pouvoir mettre plusieurs lignes link - newHeader=$(sed -n -e "/%link%/,/%endlink%/p" $files/$l/$i | sed -e "/%link%/d;/%endlink%/d" -e 's/\//\\\//g' -e "i' | tr -d "\n") + newHeader=$(sed -n -e "/%link%/,/%endlink%/p" $langDir/$l/$i | sed -e "/%link%/d;/%endlink%/d" -e 's/\//\\\//g' -e "i' | tr -d "\n") # je suppose que s'il y a moins de 10 caractères, alors on ne prend pas # en compte le nouveau link. @@ -146,7 +148,7 @@ do sed -i -e "/%links%/a$newHeader" $file fi - cat $files/$l/$i >> $file + cat $langDir/$l/$i >> $file cat $footer >> $file # nettoyage des balises précédemment utilisées sed -i -e "/%links%/d" $file @@ -161,7 +163,7 @@ do done echo "Header links translation..." -mapfile translateHeader < lang/links.config +mapfile translateHeader < $langDir/links.config langs=${translateHeader[0]} nbLang=$(echo "$langs" | grep -c "|") for (( i=1; i<${#translateHeader[@]}; i++ )) @@ -180,7 +182,7 @@ do lang=$(echo ${translateHeader[0]} | cut -d\| -f$(( $k + 1 )) | tr -d " ") file=$(echo ${translateHeader[$i]} | cut -d\| -f$(( $k + 1 )) | tr -d " ") - sed -i -e "s/href=\"\/$lang\/.*\.html/href=\"\/$lang\/$file.html/" www/$currentLang/$currentFile.html + sed -i -e "s/href=\"\/$lang\/.*\.html/href=\"\/$lang\/$file.html/" $target/$currentLang/$currentFile.html done done done