97 lines
4.0 KiB
Markdown
97 lines
4.0 KiB
Markdown
|
# 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
|
||
|
~~~
|
||
|
|
||
|
-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary
|