**Language / Langue :** **FR** | [[en:yaml:texte|EN]] ====== Texte et formatage (YAML) ====== ===== Retours à la ligne ===== Dans un bloc YAML ''texte: |'', les retours à la ligne du fichier sont respectés tels quels. Pour un retour à la ligne **affiché** dans Discord (dans les formats qui ne supportent pas les vraies nouvelles lignes) : utiliser ''+n+''. ===== Bloc texte encadré ===== Quand le contenu entre ''%%[[%%'' et ''%%]]%%'' n'est pas une URL d'image, il s'affiche dans un encart (bloc code sur Discord, boîte sur web/desktop) : texte: "[[Mémo : la clé se trouve dans la bibliothèque.]]" ===== Formatage Markdown inline ===== Ces styles fonctionnent **dans tous les modes** (quel que soit ''markdown:'' global) : ^ Syntaxe ^ Rendu ^ | ''%%**texte**%%'' | **Gras** | | ''%%*texte*%%'' | //Italique// | | ''%%__texte__%%'' | Souligné | | ''%%~~texte~~%%'' | ~~Barré~~ | | %%``texte``%% | Code inline | | ''%%||texte||%%'' | Spoiler (cliquer pour révéler) | | ''> texte'' (sur sa propre ligne) | Citation blockquote | ===== Blocs de code colorés ===== texte: | ```diff - ancienne règle + nouvelle règle ``` ```python def lancer_de(faces): return random.randint(1, faces) ``` Langages supportés : ''diff'', ''yaml'', ''python'', ''js'', ''json'', ''bash'', et tous ceux supportés par highlight.js (web/desktop). Sur Discord, rendu en bloc code générique. ===== Blocs sémantiques (markdown: story) ===== En ajoutant ''markdown: story'' dans l'en-tête du scénario, cinq types de blocs narratifs sont disponibles avec chacun leur rendu visuel distinct : texte: | ```narration La brume s'épaissit entre les arbres. Quelque chose vous observe. ``` ```dialogue **L'inconnu** : Vous n'auriez pas dû venir ici. ``` ```pensee *Il ment. Ses mains tremblent légèrement.* ``` ```systeme **Objectif mis à jour** : Trouver l'origine de la cloche. ``` ```journal Nuit du 14 octobre. Troisième nuit sans sommeil. ``` Cinq types : ''narration'' ; ''dialogue'' ; ''pensee'' ; ''systeme'' ; ''journal'' Le rendu visuel dépend du **style UI choisi par le joueur** (classique, rpg, terminal, aventure) - pas une clé YAML auteur. ===== Styles par bloc (v4.9) ===== Dans une liste ''texte:'', chaque bloc peut avoir son propre style (web/desktop uniquement - ignoré sur Discord et terminal) : texte: - "Texte normal sans style" - taille: 28 police: Georgia texte: "Titre en Georgia 28 px" - taille: 14 police: monospace fond: "#111827" couleur-texte: "#facc15" texte: "Badge en monospace avec fond sombre" - taille: 18 si: "v_score_v > 0" texte: "Affiché seulement si score > 0 : v_score_v pts" ^ Clé ^ Valeur ^ | ''taille:'' | Taille en pixels (ex: ''18'', ''24'') | | ''police:'' | Famille CSS (ex: ''Georgia'', ''monospace'', ''cursive'') | | ''fond:'' | Couleur de fond CSS (ex: ''"#111827"'') | | ''couleur-texte:'' | Couleur du texte CSS (ex: ''"#facc15"'') | Ces clés s'appliquent au bloc entier. Pour styler un seul mot, utiliser le Markdown inline. ===== Couleur de fond d'une salle ===== La clé ''fond:'' sur une salle définit la couleur d'arrière-plan pour cette salle uniquement (web/desktop) : - id: salle_nuit fond: "#0d1117" texte: "Il fait nuit noire." ===== Champ markdown: global ===== Défini en en-tête du scénario, il enveloppe **tout** le texte des salles : ^ Valeur ^ Rendu ^ | ''fix'' | Bloc monospace (défaut) | | ''none'' | Texte brut | | ''bold'' | Gras | | ''italic'' | Italique | | ''quote'' | Citation blockquote | | ''story'' | Blocs sémantiques actifs | | ''py'' / ''yaml'' / ''js'' / ... | Bloc code coloré | Les syntaxes de médias sont détaillées dans [[fr:yaml:medias|Sons, images et vidéos]]. ===== Éléments inline interactifs ===== Les doubles accolades servent aussi à rendre un mot, une phrase ou une image interactive : texte: - "La {{porte:?Une vieille porte.}} est fermée." - "Touchez le {{levier:@activer_levier}}." - "Posez la {{clé:>cle}} sur la {{porte:$porte}}." Voir [[fr:yaml:tooltips|Tooltips interactifs]], [[fr:yaml:elements-cliquables|Éléments cliquables]] et [[fr:yaml:glisser-deposer|Glisser-déposer]]. Les tuiles et grilles utilisent la syntaxe image étendue : [[fr:yaml:tuiles-tilemaps|Tuiles et tilemaps]]. ===== Réutiliser le texte d'une autre salle ===== ''%%[[SALLE:n]]%%'' insère le contenu narratif de la salle numéro //n// à l'endroit où vous l'écrivez. Pratique pour une description ou une réplique récurrente, écrite une seule fois. texte: "Le couloir se prolonge.[[SALLE:12]]" La forme anglaise est ''%%[[ROOM:n]]%%''. Les renvois circulaires sont détectés et arrêtés : une salle ne peut pas s'inclure elle-même, directement ou indirectement. Le renvoi fonctionne sur le web, dans le logiciel et dans un export HTML5. Discord, le Terminal et le PDF affichent le texte référencé sous leur forme linéaire habituelle. Pour construire une conversation plutôt qu'un simple texte, voir [[fr:yaml:dialogues|Dialogues et séquences]]. ===== Liste des choix dans le texte ===== ''%%[[choix_vertical]]%%'' affiche les alias des choix de la salle sur plusieurs lignes. ''%%[[choix_horizontal]]%%'' les sépare par " / ". Les formes anglaises ''%%[[choice_vertical]]%%'' et ''%%[[choice_horizontal]]%%'' fonctionnent aussi. salles: - id: depart texte: | Que souhaitez-vous faire ? [[choix_vertical]] choix: - commande: fouiller vers: coffre - vers: couloir - id: coffre texte: Le coffre. - id: couloir texte: Le couloir. La liste affiche "fouiller" et "2". Sans alias, un choix utilise son numéro dans la liste déclarée, utilisable directement ou avec ''avancer''. Les alias modifiés et les choix ajoutés sont pris en compte lors du jeu et dans l'aperçu. Les choix masqués par leurs conditions ne sont pas annoncés ; les numéros des autres choix ne changent pas. Le [[fr:editeur:generation|générateur de fiction interactive]] peut ajouter ce texte, des alias numérotés et des boutons de choix. Les textes de sorties directionnelles des labyrinthes et donjons sont, eux, remplacés lors de la génération. ===== Textes composés et boucles (4.17) ===== Un groupe peut porter une condition et un style, puis contenir d'autres textes ou boucles. Le style est hérité ; un enfant peut le préciser. texte: - si: v_visible_v = 1 taille: 23 texte: - pour_chaque: objet dans: sac faire: - texte: t_objet_t Déclarer ici ''visible'' dans ''vars:'' et ''sac'' dans ''listes:''. Dans un texte ou un HUD, les boucles ne modifient pas les données. Les médias habituels sont admis, sans pause ni interaction ; leur répétition dépend des conditions de l'auteur et des règles de lecture du client. Écrire les balises de médias dans le scénario : ''%%[[t_objet.image_t]]%%'' lit une adresse. Une valeur insérée comme ''t_objet.nom_t'' reste du texte, même si elle contient des balises. Voir [[fr:yaml:listes-boucles|Listes et boucles]]. Dans l'éditeur, **Contenu composé** crée ce groupe. ===== Objets du meuble et inventaire vertical ===== ''%%[[OBJET_DANS:coffre]]%%'' insère l'identifiant du premier objet présent dans ce meuble de la salle courante, ou un texte vide si le meuble est vide. La forme anglaise est ''%%[[ITEM_IN:coffre]]%%''. ''%%[[INVENTAIRE_VERTICAL]]%%'' affiche un objet par ligne, avec les identifiants et les quantités regroupées. La forme anglaise est ''%%[[INVENTORY_VERTICAL]]%%''. titre: 'Wiki 4.17 : inventaire' langue: fr salles: - id: atelier auto_refresh: true texte: | Inventaire : [[INVENTAIRE_VERTICAL]] Premier objet du coffre : [[OBJET_DANS:coffre]] objets: - nom: cle endroit: coffre reaction_prise: Prendre choix: - commande: regarder bouton: Regarder vers: atelier ''reaction_prise: Prendre'' ajoute le bouton natif de prise de cet objet dans ce meuble. ''auto_refresh: true'' actualise le texte après la prise : la clé apparaît dans l'inventaire vertical et le coffre est vide. Le choix «Regarder» réaffiche la salle sans prendre d'objet. ===== Nom de la salle précédente ===== ''%%[[SALLE_PRECEDENTE]]%%'' insère l'identifiant de la salle précédente connue, pas son texte ni son bouton. Avant le premier déplacement, le résultat est vide. Cette balise n'a pas d'alias anglais. titre: 'Wiki 4.17 : précédent' salles: - id: entree texte: 'Précédente : [[SALLE_PRECEDENTE]]' choix: - bouton: Suite vers: atelier - id: atelier texte: 'Précédente : [[SALLE_PRECEDENTE]]' choix: - bouton: Retour vers: entree ===== Alignement local et séparations dimensionnées ===== Sur Web, Desktop et dans l'export HTML, ''%%[[align:gauche]]texte[[/align]]%%'' aligne un bloc. Les directions sont ''gauche'', ''centre'', ''droite'' ou ''left'', ''center'', ''right''. Une variable textuelle comme ''t_cote_t'' peut donner la direction. Fermez le bloc avec ''%%[[/align]]%%''. ''%%[[split]]%%'' sépare des zones. ''%%[[split:40]]%%'' réserve 40 % à la zone précédente ; le reste va à la suivante. La séparation et l'alignement fonctionnent aussi dans les encadrés HUD. titre: 'Wiki 4.17 : alignement' vars_texte: cote: droite salles: - id: atelier texte: | [[align:gauche]]Gauche.[[/align]] [[align:centre]]Centre.[[/align]] [[align:t_cote_t]]Droite.[[/align]] [[split:40]] Seconde zone. choix: - commande: rester bouton: Rester vers: atelier