102 lines
4.1 KiB
Markdown
102 lines
4.1 KiB
Markdown
# -*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
|
##@creator: jclain
|
|
##@created: 27/04/2016 03:19
|
|
##@modifier: jclain
|
|
##@changecount: 1
|
|
##@tags:
|
|
##@title: ulib/template
|
|
|
|
!! {{{template_list}}}
|
|
{{{
|
|
Soit $N le séparateur --, lister les fichiers des répertoires sources
|
|
$2..$(N-1) qui seraient fusionnés avec template_merge() ou supprimés avec
|
|
template_unmerge() du répertoire destination $1. Si des chemins sont spécifiés
|
|
avec les arguments $(N+1)..@, ne traiter que les fichiers qui correspondent à
|
|
ces spécifications. Exemple:
|
|
template_list destdir srcdirs... -- specs...
|
|
}}}
|
|
!! {{{template_merge}}}
|
|
{{{
|
|
Soit $N le séparateur --, copier dans le répertoire destination $1 les
|
|
fichiers des répertoires sources $2..$(N-1) correspondant aux spécifications
|
|
$(N+1)..@, si ces fichiers n'ont pas été modifiés dans le répertoire de
|
|
destination.
|
|
Les fichiers sources ayant l'extension .template sont ignorés par défaut, sauf
|
|
s'ils sonts demandés explicitement. Exemple:
|
|
template_merge destdir srcdirs... -- specs...
|
|
}}}
|
|
!! {{{template_unmerge}}}
|
|
{{{
|
|
Soit $N le séparateur --, supprimer du répertoire destination $1 les fichiers
|
|
provenant des répertoires sources $2..$(N-1) et qui n'ont pas été modifiés. Si
|
|
des chemins sont spécifiés avec les arguments $(N+1)..@, ne traiter que les
|
|
fichiers qui correspondent à ces spécifications. Exemple:
|
|
template_unmerge destdir srcdirs... -- specs...
|
|
}}}
|
|
!! {{{template_cleandest}}}
|
|
{{{
|
|
Supprimer dans le répertoire de destination $1 tous les répertoires vides.
|
|
Cette fonction est habituellement utilisée après template_unmerge()
|
|
Ignorer les chemins qui contiennent .git/ et .svn/
|
|
}}}
|
|
!! {{{template_diff}}}
|
|
{{{
|
|
Afficher les différences entre les fichiers du répertoire de destination $1 et
|
|
les fichiers des répertoires sources $2..@
|
|
}}}
|
|
!! {{{template_srcdir}}}
|
|
{{{
|
|
Obtenir le chemin vers le répertoire source de templates $1, situé dans
|
|
ULIBDIR/templates
|
|
}}}
|
|
!! {{{templatectl_config}}}
|
|
{{{
|
|
Obtenir le chemin vers le fichier de configuration pour le répertoire $1
|
|
Si $2==nohideconfig, utiliser le nom CONFIG.conf, sinon utiliser par défaut
|
|
.CONFIG sauf si le fichier CONFIG.conf existe
|
|
}}}
|
|
!! {{{templatectl_loadvars}}}
|
|
{{{
|
|
Charger les valeurs des variables depuis le fichier $1
|
|
Les variables suivantes doivent être définies:
|
|
- Le tableau TEMPLATECTL_DEFAULTS permet de donner une valeur par défaut aux
|
|
variables mentionnées dans TEMPLATE_STATIC_VARS. C'est une liste de valeurs
|
|
de la forme 'name=value'
|
|
- Le tableau TEMPLATECTL_VARS contient des variables supplémentaires
|
|
spécifiées par l'utilisateur. C'est une liste de valeurs de la forme
|
|
'name=value'
|
|
- TEMPLATE_STATIC_VARS doit contenir une liste de noms de variables qui
|
|
peuvent être remplacés dans les fichiers de template.
|
|
- TEMPLATE_DYNAMIC_VARS contient une liste de noms de variables valides, mais
|
|
qui ne doivent pas être remplacés, en effet, ils sont utilisés pour le
|
|
déploiement des fichiers.
|
|
- TEMPLATE_NOWRITE_VARS contient une liste de noms de variables qui ne
|
|
devraient pas être écrits dans le fichier des variables, sauf si elles
|
|
reçoivent une valeur explicite de la part de l'utilisateur. Ce tableau est
|
|
mis à jour lors de l'analyse du tableau TEMPLATECTL_VARS
|
|
}}}
|
|
!! {{{templatectl_writevars}}}
|
|
{{{
|
|
Ecrire les variables dans le fichier $1
|
|
}}}
|
|
!! {{{templatectl_list_vars}}}
|
|
{{{
|
|
Afficher les valeurs des variables
|
|
}}}
|
|
!! {{{templatectl}}}
|
|
{{{
|
|
Fonction de haut niveau qui facilite l'utilisation des fonctions template_*
|
|
définir la fonction __display_templatectl_help() pour l'affichage de l'aide
|
|
- Le tableau TEMPLATECTL_SRCDIRS doit contenir la liste des répertoires
|
|
sources pour les templates. Alternativement, il est possible de définir la
|
|
variable TEMPLATECTL_SRCDIR s'il n'y a qu'un seul répertoire source pour le
|
|
template
|
|
- TEMPLATECTL_CONFIG est le nom de base du fichier à partir duquel sont
|
|
chargées les variables et dans lequel sont écrites les variables avec
|
|
l'option --write-vars
|
|
Si le nom de base est CONFIG, le fichier s'appelera .CONFIG si l'option
|
|
--hide-config est utilisée (par défaut) ou CONFIG.conf si l'option
|
|
--no-hide-config est utilisée
|
|
Les variables de template_loadvars() sont aussi prises en compte
|
|
}}}
|