synthèse des éléments (balises, options, blocs spéciaux, etc.) que le script est capable d’interpréter dans le fichier de données à charger:
Options en première ligne
Syntaxe :
[options: option1, option2, …]
Options disponibles :
hide_comments (masque la section des commentaires)
hide_reading_time (masque l’affichage du temps de lecture estimé)
hide_image (masque l’image affichée en haut)
Blocs de code avec délimiteurs « ``` »
Syntaxe :
Une ligne contenant exactement ``` démarque le début (ou la fin) d’un bloc de code.
Particularité :
Si la première ligne du bloc commence par // noexec, le code ne sera pas exécutable (et cette ligne est retirée).
Particularité :
Si la première ligne du bloc commence par // reinit, le code sera exécutable (et cette ligne n'est pas retirée) mais le code ne prendra pas en compte le code précédemment exécuté.
**Blocs de code en ligne
avec
Syntaxe :
[code] ..... [/code]**
Interprétation :
Le contenu est encapsulé dans une balise <pre><code> avec les caractères spéciaux échappés.
Insertion de HTML brut avec…
Syntaxe :
[html] votre code HTML ici [/html]
Interprétation :
Le contenu est préservé et inséré tel quel dans le rendu final (après un encodage temporaire).
Interprétation :
Le contenu est transformé en balise HTML correspondante avec un identifiant généré automatiquement pour la navigation (table des matières).
Blocs d’encart
Syntaxe :
Deux formes :
En bloc dans le texte via la fonction de conversion (similaire aux autres balises) :
[encart]contenu[/encart]
Ou, en mode bloc (détecté dans la boucle de lecture) :
Ligne contenant exactement [encart] pour débuter
Ligne contenant exactement [/encart] pour terminer
Interprétation :
Le contenu est enveloppé dans une <div class="encart">…</div>.
[encart]contenu[/encart]
contenu
Blocs « canvas » pour affichage de canevas interactifs
Syntaxe :
A condition que le moteur CIA soit chargé dans le premier canvas
Sans dimensions : [canvas]script_canvas[/canvas]
Avec dimensions personnalisées : [canvas-largeur-hauteur]script_canvas[/canvas]
Exemple : [canvas-500-300]monScript.js[/canvas]
Les dimensions peuvent être en pixels (nombre seul) ou en pourcentage (avec le symbole %).
Texte normal
Tout le reste est traité comme du texte simple, avec conversion des retours à la ligne en <br> (grâce à nl2br).
Chaque balise est interprétée dans l’ordre suivant :
D’abord, les blocs spécifiques (options, canvas, code avec ``` et encart … /encart gérés dans la boucle de lecture),
Puis, pour le reste, la fonction convertirBalises() applique les transformations BBCode-like et les autres remplacements.
En combinant ces éléments, le fichier data.txt peut afficher du texte formaté, des blocs de code (exécutables ou non), insérer du HTML brut, ajouter des images, liens, titres et des canevas interactifs appelés par le moteur de CIA.
🧙️ Fonctionnement magique des balises [canvas]monFichier.js[/canvas]
🔧 But :
Permet d’insérer un canvas dynamique avec du JavaScript custom en écrivant simplement une balise [canvas]nom.js[/canvas] dans le texte source.
🧩 Comment ça marche :
Le parser PHP repère la balise [canvas]monScript.js[/canvas]
Il génère dynamiquement une balise <canvas id="canvas_monScript"> dans le HTML
Puis il inclut un <script src="monScript.js"></script> associé, à condition que le fichier JS existe
Le script JS vérifie que le canvas correspondant est bien présent (_root["canvas_monScript"]) avant de s’exécuter
📝 Exemple :
Dans le fichier source texte : [canvas]404.js[/canvas]