Produire des gabarits avec Twig

Le html est compilé depuis la version javascript du moteur de templates Twig, initialement écrit en php pour Symfony. La documentation est disponible sur le site de Sensiolab. Une page sur le wiki de twigjs recence les fonctionnalités disponibles ou inexistantes dans la version javascript.

Organisation

On construit chaque gabarit (ou page dans le cas d'un site statique) dans le répertoire pages/ tandis que le répertoire templates/ accueille les layouts, les includes et les macros. Le répertoire des pages peut contenir des sous-répertoires si nécessaire, par exemple pour créer des rubriques.

Les contenus peuvent être saisis directement dans la page (en html ou en markdown) ou par inclusion de fichiers.

Il n'y a pas de stratégie impérative en la matière, on adapte selon les besoins. Dans le cas d'un site statique avec des contenus sous forme de fichiers markdown devant être alimentés par des équipes différentes de celles chargées du développement il peut s'avérer utile de créer un répertoire dédié dans le depôt, voire de créer un sous-dépôt.

Trois pages sont fournies par défaut dans Scampi-Twig : la page d'index, qui servira de centre d'aiguillage du projet, une page 404 (404.html) pour ne pas l'oublier et la page de styleguide à enrichir.

Prise en charge de markdown

Les contenus en markdown peuvent être insérés de deux façons :

En saisie directe dans un template :


{% markdown %}
  Contenu
{% endmarkdown %}

Par inclusion de fichier depuis un template :


{% markdown 'chemin/relatif/vers/fichier/md' %}{% endmarkdown %}

À noter : le chemin s'écrit relativement à l'index du répertoire templates/, même si la page appelante est au deuxième ou troisième (ou…) niveau d'arborescence.

Les informations données dans cette rubrique correspondent à la version 1.0 release candidate de Scampi-Twig, encore en développement. Pour lire la documentation de la version courante (0.3.1), référez-vous au readme du dépôt.