SHP Home Page
Introduction
Qu'est ce que SHP
SHP est un préprocesseur pour HTML écrit en Perl.
Il permet de remplacer des tags prédéfinis par du texte et d'appeller
des fonctions Perl. Toute la configuration se fait en Perl. Un exemple
tout simple :
# Fichier de configuration ecrit en Perl
$tag{"<deb>"}='<meta http-equiv="Content-Type"
content="text/html;charset=iso-8859-1">';
sub stitre {
print '<br><font size="+1" color="#0088AA"><b>';
print @_[0];
print '</b></font><br>';
}
<!-- fichier source -->
<deb>
<HTML>
...
<%stitle "exemple de titre">
Quelques fonctions sont données en exemple (date de
modification d'un fichier, taille d'un fichier, inclusion de
fichier...).
Pourquoi utiliser SHP ?
Il est idéniable que l'utilisation d'un préprocesseur simplifie
grandement la tâche d'écriture d'un site ouèbe. Un préprocesseur qui
permet le rajout de fonction de façon aussi simple est également un
atout. Ensuite il en existe certainement d'autres beaucoup plus
aboutit... La réalisation de ce préprocesseur était donc plus un
excercice qu'autre chose.
Installation de SHP
Téléchargement
shp-0.3.tgz (4Ko)
Principe d'utilisation
SHP crée un fichier html à partir d'un fichier source (ici,
l'extension .htm a été choisit). ex : SHP < toto.htm >
toto.html
Installation,
Avant tout, il faut éditer le fichier SHP et remplacer la première
ligne si nécessaire (Cette ligne indique où se trouve Perl sur votre
système).
Ensuite copier le fichier SHP dans un répertoire du PATH (Par
exemple /usr/bin ou /usr/local/bin).
Ensuite, créer un répertoire de travail et un Makefile...
Manuel d'utilisation
Utilisation
Dans chaque fichier .htm, le debut du texte est du script Perl.
Le délimiteur utilisé pour repérer la fin du script et donc le début
du HTML est <doc> (en miniscule !).
Un exemple :
--------- expl.htm -----------
<doc>
------------------------------
Les tags
Un nouveau tag est défini par :
$tag{'<nouveau_tag>'}='Texte';
Tout les tags "<nouveau_tag>" seront remplacés par "Texte".
Exemple:
$tag{"<nouveau_tag>"}="<IMG SRC="toto.gif">";
Les fonctions
Les fonctions appelées sont des fonctions Perl.
Elles peuvent bien sûr avoir des arguments.
Exemple:
sub equiv_tag {
print "Cette fonction est équivalente à un bête tag";
}
Attention à ne pas utiliser de mot réservés pour le nom des fonctions !
Appel de la fonction:
<%equiv_tag>
Un autre exemple
Un autre exemple tout simple :
$tag{"<deb>"}="<HTML>";
$tag{"<fin>"}="</HTML>";
sub toto {
print "Un petit test...",@_[0],@_[1];
}
sub toto2 {
print "Un gros test...",@_[0];
}
<doc>
<deb>
<title>Ceci est un test</title>
AAA<%toto "aaaa","bbbb">BBB
AAA<%toto2>BBB
<fin>
Définitions locales
Pour créer des définitions locales à un répertoire, il suffit de les
placer dans un fichier "local.pl". Ces définitions ne seront
effectives que dans ce répertoire. Attention, le fichier "local.pl"
est un module Perl et doit obligatoirement se terminer par "1;" (vrai).
Définitions globales
Pour créer des définitions communes à tous les fichiers, il suffit de les
placer dans le fichier "~/.SHP" ().
Attention, ce fichier est un module Perl et doit obligatoirement se
terminer par "1;" (vrai).
Fonctions disponibles en exemple
- Date de modification du fichier (en français)
- Taille d'un fichier
Evolution
Ce présent document correspond à la version 0.1 et devrait être mis à
jour...
Autres préprocesseurs
- m4, livré avec tout UNIX digne de ce nom (man m4)
-
Artho Informatik - HTML PLAIN : un préprocesseur en Perl
très puissant.
- d'autres processeur HTML en Perl : faire une recherche
"HTML Perl preprocessor" sur freshmeat
- wml, certainement le meilleur outil actuellement.
|