Outils pour utilisateurs

Outils du site


en:editeur:linter-export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
en:editeur:linter-export [2026/05/03 18:48] – Harmonize FR/EN language switch cyrilfiestaen:editeur:linter-export [2026/08/31 20:43] (Version actuelle) – Wiki : fins de pages homogènes, liens Discord retirés cyrilfiesta
Ligne 1: Ligne 1:
 **Language / Langue :** [[fr:editeur:linter-export|FR]] | **EN** **Language / Langue :** [[fr:editeur:linter-export|FR]] | **EN**
  
-====== Editor — Linter and Export ======+====== Graphical editor - Linter and export ======
  
-The linter detects blocking errors, warnings and useful information before publication.+===== Built-in linter =====
  
-It checks+The linter analyses your scenario as you work and reports errors and warnings. 
-  * missing or duplicate room IDs; + 
-  * unknown destinations; +**Running it:** the **Linter** button (🔍 icon) in the toolbar, or ''Ctrl+Shift+L''
-  * missing variables; + 
-  * invalid media URLs; +**Kinds of messages:** 
-  * unknown ''trigger_event:'' references+ 
-  * export compatibility issues.+  * 🔴 **Error** - a blocking problem (missing variable, wrong syntax, dead end) 
 +  * 🟡 **Warning** - a possible problem (unreachable room, unused variable) 
 +  * 🔵 **Info** - a suggested improvement 
 + 
 +**Errors detected, among others:** 
 +  * Variables used but never declared 
 +  * ''trigger_event:'' identifiers that do not exist 
 +  * Rooms with no exit (dead ends) 
 +  * Conditions with invalid operators 
 +  * Timers started but never stopped 
 +  * A choice with neither ''button:'' nor ''command:'': no button appears and the player cannot type anything 
 +  * A global timer declared without ''id:'', which the engine would ignore 
 +  * A video link that does not point to one precise video (a channel page or a playlist) 
 + 
 +The label of a choice is written ''button:''. Written ''text:'', the choice keeps its destination but shows no button: the room looks like a dead end. The linter reports it and names the expected key. 
 + 
 +**Platform warnings.** With a Discord or Terminal profile, the report adds the incompatibilities of that platform, with their location: more than 25 options in a room, a label longer than 100 characters, or a media file Discord cannot reach publicly. 
 + 
 +Clicking an error opens the matching room in the inspector. For an undeclared variable, the click leads to the place that uses itwhen it is used in several places, a window lists them with their kind of usage. 
 + 
 +===== Test button ===== 
 + 
 +The **Test** button starts a game right inside the editor, without going through Discord. A game window opens, running the full engine. 
 + 
 +It lets you check conditions, the order of events, timers and the HUD, exactly as if you were playing in the browser. 
 + 
 +===== Export ===== 
 + 
 +**YAML export** generates a ''.yaml'' file the engine can read. 
 + 
 +**Standalone HTML5 export** generates a ZIP ready to be hosted or uploaded to itch.io as an HTML5 game. 
 + 
 +  * Self-contained JS runtime: it runs on its own, with no JDR-Bot backend 
 +  * Clean slug based on the file name (a ''jdrbot-<slug>'' folder inside the ZIP) 
 +  * Automatic local resume, with progress restored on the browser side 
 +  * Online variables converted into persistent local variables 
 +  * Assets sorted as embedded, external or missing, with automatic remapping 
 +  * UTF-8 export, so accented text displays correctly 
 + 
 +**PDF gamebook export** generates a PDF with numbered chapters, cross-references, a tracking sheet and editable fields, playable on paper like a choose-your-own-adventure book. 
 + 
 +Both exports include every asset, sounds and images, referenced by URL in the scenario. A hosted video stays online instead: see [[en:yaml:medias|Sounds, images and videos]].
  
-Use it before YAML, standalone HTML5 or PDF export. 
en/editeur/linter-export.1777826889.txt.gz · Dernière modification : de cyrilfiesta