Langage Scalp
Présentation
Scalp est un langage de mise en page simple. Dans son domaine d'application, il est plus simple et rapide à utiliser que HTML, mais il est par construction limité à la mise en forme du contenu d'une page, et non à sa structuration.
Règles du langage
Notion de paragraphe
Scalp s'appuie sur la notion de paragraphe pour fonctionner : pour lui, un texte est une suite de paragraphes, mis en forme par des marqueurs et séparés par au moins deux retours à la ligne.
Délimiteurs externes
Titres
On désigne un titre par le délimiteur [[. Il peut prendre un argument : un chiffre désignant le rang du titre. Ainsi, [[:3 Sous-titre ]] affiche un titre de rang 3, qui sera donc moins imposant qu'un titre [[:2 Exemple ]] de rang 2.
Listes à puces
La liste à puce est considérée comme un paragraphe à part entière. Le délimiteur du paragraphe est -- et la clôture est automatique à la fin du paragraphe. Les puces sont associées aux balises -- successives jusqu'à la fin du paragraphe. Ainsi :
-- Un premier élément. -- Un second. -- Un dernier.
Donne :
- Un premier élément.
- Un second.
- Un dernier.
Délimiteurs internes
Délimiteurs simples
Ils ne prennent pas d'argument.
-
**sert à mettre du texte en gras. -
//sert à mettre du texte en italique. -
__sert à souligner du texte. -
^^sert à mettre du texte en exposant.
Liens hypertextes
-
@@:X article X @@permet de créer un lien vers l'article numéro X. -
@@:www.exemple.fr lien externe @@permet de créer un lien de référence http://www.exemple.fr. -
@@:~/plan lien interne @@créé un lien vers le dossier plan à la racine du site (désignée par ~).
Délimiteurs ambivalents
Les marqueurs suivants sont dits ambivalents car ils peuvent être utilisés aussi bien à l'échelle du paragraphe qu'à l'intérieur.
Formules mathématiques
Le marqueur associé aux formules mathématiques est $$. Il ne prend pas d'argument. Lorsqu'il s'applique à un paragraphe, la formule décrite occupe toute la ligne, tandis qu'à l'intérieur d'un paragraphe, la formule est affichée inline.
Code source
Le code source est délimité par un %%. À l'échelle du paragraphe, il désigne un code complet qui sera inclus dans une balise pre. À l'intérieur d'un paragraphe, il désigne un code inline qui sera inclus dans une balise code.
Dans les deux cas, ce délimiteur peut prendre un argument : le nom du langage du code qu'il encadre. Par exemple, %%:cpp annonce un source C++ qui sera coloré syntaxiquement en tant que tel.
Commandes spéciales et html
L'opérateur ## permet d'inclure du code html au sein d'un fichier scalp. Il peut éventuellement prendre des arguments, auquel cas son contenu sera ignoré. En voici la liste :
-
##:news:Xaffiche une table avec les X dernières nouvelles. -
##:sonsrecopie la liste à puce des descendants du noeud actuel. -
##:maprecopie le plan du site.
Attention : ces options ne sont valables que lorsque ## est utilisé à l'échelle d'un paragraphe.