Motifs divers

.:GetRandomNumber::min::max::precision:.

Génère un nombre aléatoire compris entre min et max avec une précision décimale définit par precision.

Par exemple, pour générer un nombre décimal compris entre zéro inclus et dix, avec au plus quatre chiffres après la virgule nous pouvons utiliser :

.:GetRandomNumber::0::10::4:.

Pour générer un nombre entier compris entre zero inclus et cent nous pouvons utiliser :

.:GetRandomNumber::0::100::0:.

Enfin pour générer un nombre décimal, par exemple entre 12.25 inclus et 12.5, avec au plus 5 chiffres après la virgules, nous pouvons utiliser :

.:GetRandomNumber::12.25::12.5::5:.

.:GetGenerationTimestamp::date_format:.

Ce motif renvoie la date formatée à laquelle la page courante a été générée.

Le seul paramètre de ce motif est :

  • date_format : La chaîne de caractères permettant de formater la date courante. Le format utilisé est le même que celui utilisé par Python. La documentation est disponible ici.

.:GetVenCVersion:.

Ce motif retourne la version de VenC avec laquelle la page courante est générée et il ne prend pas de paramètre.

.:IncludeFile::escape::filename[::arg1][::arg2][...]:.

Ce motif permet d'inclure le contenu d'un fichier dans la publication courante. Celui-ci ne doit comporter que des caractères imprimables.

Ce motif prend au minimum deux arguments :

  • escape : indique à VenC s'il doit chercher des motifs à interpréter dans le fichier à inclure. Si escape vaut "true", VenC ignore les motifs dans le fichier. Cette variable n'est pas sensible à la casse.
  • filename : le chemin du fichier à inclure dans la page. Celui-ci doit se trouver dans le répertoire includes de votre projet.
  • arg1, arg2, ... : ces paramètres sont optionnels. Il vous permettent de formater l'intérieur du fichier à inclure en remplaçant des variables numérotés (venc_arg_1, venc_arg_2, venc_arg_n) qui s'y trouverait par la valeur de chacun des paramètres correspondant.

Un premier exemple

Avec un fichier contenant plein de trucs longs et compliqués que nous appellerons :

plein-de-truc-longs-et-compliqués.txt

Et qui se trouverait dans le répertoire includes de votre projet. Nous utiliserions alors le motif comme suit :

.:IncludeFile::True::plein-de-truc-longs-et-compliqués.txt:.

Notons que tout ce qui se trouve à l'intérieur du fichier ainsi inclus n'est pas traité par les interpréteurs de langage balisé Markdown et reStructuredText. Comme le premier argument, escape vaut "True", les motifs VenC sont également ignorés.

Un second exemple

Nous utiliserons les paramètres optionnels pour formater le contenu du fichier à inclure.

Soit le fichier :

liste_de_choses_à_faire.txt

Qui contiendrait :

Voilà les choses qu'il faut que je fasse avant de mourrir
 - {venc_arg_1}
 - {venc_arg_2}
 - {venc_arg_3}
 - {venc_arg_4}

En utilisant le motif IncludeFile comme suit :

.:IncludeFile::True::liste_de_choses_à_faire.txt::
Libérer la Corée du Nord::
Terraformer la lune::
Découvrir la matière exotique et commercialiser les trous de ver pour le voyage interstellaire::
Nourrir Tacos, mon chien.
:.

Nous obtiendrions :

Voilà les choses qu'il faut que je fasse avant de mourrir
 - Libérer la Corée du Nord
 - Terraformer la lune
 - Découvrir la matière exotique et commercialiser les trous de ver pour le voyage interstellaire
 - Nourrir Tacos, mon chien

La portion de texte ci-dessus serait incluse telle quelle dans la page générée par VenC. Là encore, ni les motifs VenC, ni le langage de balisage courant ne sont interprétés.

.:DisableMarkup::content:.

Ce motif permet de désactiver l'interpréteur de langage de balisage pour le texte passé en paramètre. Attention cependant, VenC reconnaît toujours ses propres motifs (ils sont documentés dans le chapitre 5 de ce manuel).

Ce motif ne prend qu'un seul paramètre.

  • content : le texte pour lequel on veut désactiver l'interpréteur de langage de balisage.

.:Escape::content::EndEscape:.

Ce motif est traité un peu différemment des autres. Il permet d'ignorer les motifs contenus à l'intérieur du texte de l'unique argument content.

Ce motif ne peut pas s'échapper lui-même. Pour ignorer ce motif, il doit être inclus dans un fichier avec le pattern IncludeFile dont l'argument escape doit être fixé à True.

.:GetJSON-LD:.

Retourne le document JSON-LD, s'il existe, associé à la première page du fil de publication courant.

Par exemple, si l'on est sur la première page d'une catégorie quelconque, le motif renvoie :

<script type="application/ld+json" src="categories.jsonld"></script>