# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 function get_version() { # lire le numéro de version dans le fichier $1 awk '/var[ \t]*version/ { match($0, /major: [0-9]*,/) major = substr($0, RSTART + 7, RLENGTH - 8) match($0, /minor: [0-9]*,/) minor = substr($0, RSTART + 7, RLENGTH - 8) match($0, /revision: [0-9]*,/) revision = substr($0, RSTART + 10, RLENGTH - 11) print major "." minor "." revision exit }' "$1" } function dump_header() { # lire et afficher le contenu avant-storeArea du tiddlywiki $1 awk ' BEGIN { found = 0 } /
.*<\/div>/ { foundFooter = 1; next } foundStoreArea && /^[ \t]*<\/div>/ { foundFooter = 1; next } foundFooter { print } ' "$1" } function dump_storeArea() { # lire et afficher le storeArea dans le tiddlywiki $1 awk ' BEGIN { found = 0 } /
.*<\/div>/ { found = 0; next } found && /^[ \t]*<\/div>/ { found = 0; next } ' "$1" } function dump_defaultStoreArea() { # Générer un storeArea par défaut pour le projet dont le répertoire est $1 local today="$(date +%Y%m%d%H%M)" local projdir="${1:-.}" local title subtitle if [ -f "$projdir/build.properties" ]; then local project_name project_desc file_get_properties "$projdir/build.properties" project_name "" project_desc "" title="$project_name" subtitle="$project_desc" fi [ -z "$title" ] && title="$(basename "$(abspath "$projdir")")" [ -z "$subtitle" ] && subtitle="Gestion des tâches" echo '
'"$title"'
'"$subtitle"'
' } function replace_storeArea() { # dans le tiddlywiki $1, remplacer le storeArea par le fichier $2 (par défaut, lu sur stdin) ( dump_header "$1" if [ -z "$2" -o "$2" == "-" ]; then cat else cat "$2" fi dump_footer "$1" ) >"$1.$$" /bin/mv "$1.$$" "$1" } function upgrade_TiddlyWiki() { # mettre à jour le tiddly wiki $1 avec $2 ( dump_header "$2" dump_storeArea "$1" dump_footer "$2" ) >"$1.$$" /bin/mv "$1.$$" "$1" }