This page is part of a static HTML representation of the TiddlyWiki at https://tiddlywiki.com/

HTML dans le WikiTexte

27 février 2022 à 2h04

Balises HTML et commentaires

Les balises et les commentaires HTML peuvent être utilisées directement en WikiTexte. Par exemple :

<article class='hello'>
Ceci est un simple bloc de texte. HelloThere
<!-- Ce commentaire n'apparaîtra pas. -->
</article>

Remarque
Par conséquent, un mot écrit entre "chevrons" < > sera interprété comme une balise HTML, ce qui peut entraîner des effets de bord (notamment à cause de l'inexistence de la balise fermante).
À la place, mieux vaut utiliser le code HTML des caractères "chevrons" : &lt; et &gt;

Commentaires Pragma

Depuis : 5.2.0 Les commentaires peuvent maintenant être librement entremêlés avec les pragmas ou bien à l'intérieur du corps d'un bloc de wikitexte.

<!-- NOUVEAU ! : Commentaire qui décrit la macro -->
\define test()
Un peu de texte <!-- commentaire en ligne -->
\end

<<test>>

Important

Les Widgets utilisent la même syntaxe que les balises HTML, donc les informations suivantes s'appliquent aussi à eux.

Mode bloc ou mode texte ?

Pour que le contenu d'un élément HTML soit interprété en mode bloc, la balise ouvrante doit être suivie par deux retours à la ligne.

Sans les deux retours à la ligne, le contenu des balises sera interprété en mode texte, ce qui signifie que les formatages de mode bloc tels que les tableaux, les listes et les titres ne seront pas reconnus.

Voir aussi Modes d'analyse du WikiTexte : exemples de HTML et Changements de mode d'analyse du WikiTexte.

Éléments auto-fermants

Les balises suivantes sont traitées comme si elles étaient vides, ce qui signifie que <balise> est traitée comme si c'était <balise/>, et qu'aucune balise de fermeture </balise> n'est nécessaire. Mais si la balise fermante existe elle est ignorée et traitée comme du texte.

  • <area>, <base>, <br>, <col>, <command>, <embed>, <hr>, <img>, <input>, <keygen>, <link>, <meta>, <param>, <source>, <track>, <wbr>

Si vous ne fermez pas n'importe quelle autre balise HTML, TiddlyWiki se comportera comme si les balises manquantes étaient déportées à la fin du tiddler.

Attributs

Par extension à la syntaxe conventionnelle HTML, les attributs des éléments ou widgets peuvent être écrits de différentes façons :

Valeurs littérales d'attributs

Les valeurs littérales d'attribut peuvent utiliser différents styles de ponctuation :

  • Guillemets simples (c-à-d attribut='valeur')
  • Guillemets doubles (c-à-d attribut="valeur")
  • Triples guillemets doubles (c-à-d attribut="""valeur""")
  • Aucune ponctuation n'est nécessaire pour les valeurs qui ne contiennent pas d'espace (c-à-d attribut=valeur)

Les valeurs littérales d'attribut peuvent contenir des retours à la ligne. Par exemple :

<div data-address="Maison Souris,
3 rue des rongeurs,
Ratville"/>

L'utilisation des triples guillemets doubles """ permet de spécifier des valeurs d'attributs qui contiennent des caractères "guillemet double" :

<div data-address="""Maison "Souris",
3 rue des rongeurs,
Ratville"""/>

Valeurs d'attributs par transclusion

Les valeurs d'attributs par transclusion sont encadrées par des doubles accolades autour d'une Référence texte, par exemple :

attr={{tiddler}}
attr={{!!field}}
attr={{tiddler!!field}}

La valeur de l'attribut sera le résultat exact de la transclusion, sans aucune interprétation supplémentaire de WikiTexte. Toute syntaxe de wiki dans ce résultat sera laissée en l'état.

Valeur d'attribut par variable

Les valeurs d'attributs par variable sont encadrées par des doubles crochets autour d'un appel de macro, par exemple :

<div title=<<MaMacro "Jacques">>>
...
</div>

Le texte de la définition de la macro est retrouvé et la substitution des arguments a lieu (c-à-d la syntaxe $param$ et $(...)$). Le texte résultant est affecté à la valeur de l'attribut. Toute syntaxe wiki dans ce texte, y-compris d'autres appels de macros ou des références de variables, sera laissée en l'état.

Valeurs d'attributs par filtre

Les valeurs d'attributs par filtre sont encadrées par des accolades triples autour d'une expression de filtre. Le premier élément de la liste renvoyée par le filtre est affecté à l'attribut, ou une chaîne vide si la liste est vide.

Cet exemple montre comment ajouter un préfixe à une valeur :

<$text text={{{ [<currentTiddler>addprefix[$:/myprefix/]] }}} />

La valeur de l'attribut sera le résultat exact du premier élément de la liste renvoyée par le filtre, sans aucune interprétation du WikiTexte. Toute syntaxe de wiki dans ce résultat sera laissée telle quelle.