Chapitre 12.3 · Partie III · En pratique
Sandbox : livres, fichiers Word et enregistrement
Les livres et les chapitres, la modification des planches de bande dessinée, l’import et l’export de documents Word, et la façon dont le Sandbox enregistre, exporte et importe votre travail
En bref
Cette page explique comment organiser et garder votre travail dans le Sandbox. Un projet est un livre fait de chapitres. Les planches de bande dessinée ont leurs propres outils pour les cases et les bulles. Vous pouvez importer un fichier Word, choisir comment ses styles deviennent des styles Postext, et renvoyer le livre vers Word. Votre travail est enregistré dans votre propre navigateur au fil de l’eau, et vous pouvez le télécharger en un seul fichier pour le rouvrir plus tard.
#Livres et chapitres
Tout ce que vous ouvrez dans le Sandbox est un livre, à la manière d’un fichier de livre InDesign qui regroupe un document par chapitre : la configuration, les polices personnalisées et l’ensemble des ressources sont communs à tout le livre, et chaque chapitre est un document markdown à part. Les ouvrages longs (un manuel de cinq cents pages) se modifient un chapitre à la fois, tandis que la numérotation, les renvois et l’export voient toujours un seul document.
- La structure se gère dans le panneau Chapitres et dans le sélecteur de chapitre du panneau Texte : ajouter, renommer (double-clic sur une ligne), réordonner, diviser un chapitre en autant de chapitres que de titres de niveau 1, fusionner un chapitre avec le précédent, supprimer. Chaque chapitre garde son propre historique d’annulation et la position de son curseur.
- Un chapitre à la fois. Par défaut, les aperçus mettent en page le chapitre actif à la suite des chapitres qui le précèdent : son premier numéro de page suit la dernière page du chapitre précédent, les titres de niveau 1 continuent leur numérotation (le chapitre 4 porte le numéro 4, ses figures 4.1, 4.2, …), les titres courants
{chapterNumber}et{chapterTitle}suivent, la parité recto/verso est respectée (une ouverture de chapitre ajoute une page blanche exactement comme elle le ferait au milieu du livre), et un:refvers une figure citée pour la première fois au chapitre 1 garde ce numéro. Le nombre de pages des chapitres précédents vient de la dernière mise en page qui a affiché chacun d’eux ; les chapitres jamais ouverts (ou modifiés depuis) sont mis en page en arrière-plan, l’un après l’autre, et la liste des chapitres indique pages en attente jusqu’à ce qu’ils soient prêts. Les plages de pages sont exactes pour les chapitres qui s’ouvrent sur une nouvelle page (le cas par défaut) ; un chapitre dont le texte aurait continué sur la page précédente est placé en haut de sa propre page. - Livre entier. Le canvas, l’aperçu HTML et l’onglet PDF peuvent afficher tout le livre comme un seul document continu : choisissez Livre entier dans le sélecteur à gauche de la barre d’onglets (pour les livres de plus d’un chapitre). Le canvas met alors en page chaque chapitre dans l’ordre, chacun après les pages auxquelles sont arrivés les précédents, et affiche les documents raccordés : une modification ne remet en page que son chapitre, et les chapitres suivants seulement si leur première page a bougé ; la liste des chapitres, les parties
chapter=etpage=du permalien et la synchronisation de l’éditeur suivent le chapitre de la page. Ce choix est enregistré avec le livre (un court roman se lit comme un seul document, un manuel un chapitre à la fois), et un préréglage peut s’ouvrir ainsi grâce au champview.canvasScopede son manifeste. L’aperçu HTML partage le choix du canvas et met en page tout le livre comme un seul document depuis sa première page, les lignes de la table des matières et le fragment suivant le chapitre de chaque page ; l’onglet PDF garde son propre sélecteur. - Livres longs. Un livre de 120 chapitres fonctionne comme un livre court. Le menu des chapitres, dans l’en-tête du panneau Texte, défile à l’intérieur de la fenêtre et s’ouvre sur le chapitre actif ; les touches fléchées se déplacent à partir de lui. Un livre en parties (blocs
:::partdans ses chapitres) range ses chapitres sous leurs parties, dans le menu comme dans le panneau Chapitres, et un clic sur une partie dans le menu ouvre son premier chapitre. Au-delà de 30 chapitres, le menu offre en haut un champ de recherche qui reconnaît les numéros de chapitre (27) et les mots des titres et des noms de parties (埋香,卷三) ; Entrée ouvre le premier résultat. Pendant qu’une méthode de saisie compose (zhuyin, cangjie, pinyin, kana), Entrée et les touches fléchées lui appartiennent : Entrée valide la conversion et n’ouvre rien. Les fichiers de chapitre d’un livre d’exemple se chargent huit par huit, et pendant que les chapitres sont paginés en arrière-plan, le panneau Chapitres affiche la progression (Pagination 34/120). Le canvas et l’aperçu HTML affichent un livre de plus de 200 chapitres un chapitre à la fois, quoi que demandent le livre ou son manifeste : mettre en page tous les chapitres d’un coup garde tout le livre en mémoire. Un livre en dessous de ce seuil peut s’ouvrir en entier : 紅樓夢 (129 chapitres, quelque 2 000 pages) demande environ 25 secondes et 100 Mo sur le canvas. L’onglet PDF peut toujours exporter n’importe quel livre en entier. - Métadonnées (front matter). Le bloc de métadonnées du premier chapitre est celui du livre (titre, auteur, …). Un bloc de métadonnées en tête de tout autre chapitre est ignoré, et le panneau Vérifications le signale.
buildBundlesuit la même règle, si bien qu’un livre se compose de la même façon dans le Sandbox et dans votre propre programme. - Nombre de pages. Chaque chapitre est mis en page comme un document à part, donc
{totalPages}compte les pages du chapitre.{bookTotalPages}compte tout le livre : une fois les pages de chaque chapitre connues, les aperçus mettent en page chaque chapitre avec ce total (seulement quand un en-tête, un pied de page ou une maquette l’imprime). D’ici là, un chapitre imprime le nombre de pages jusqu’à sa propre fin. L’option Livre entier de l’onglet PDF compte les pages qu’elle met en page, si bien que le fichier imprime toujours le vrai total du livre. - Ouvertures de chapitre. Aucun saut de page n’est imposé entre les chapitres : un chapitre dont le premier bloc est un titre de niveau 1 s’ouvre sur une nouvelle page grâce au réglage Saut avant du titre lui-même, exactement comme un chapitre qui commence au milieu d’un document.
- Synchronisation. Un clic sur un paragraphe de n’importe quel chapitre dans le Canvas ou l’aperçu HTML fait passer l’éditeur à ce chapitre et y place le curseur ; le curseur de l’éditeur est mis en évidence dans les aperçus, où que se trouve le chapitre dans le livre. Les avertissements indiquent leur chapitre.
- Les documents existants s’ouvrent comme un livre d’un seul chapitre ; rien ne change tant qu’un deuxième chapitre n’est pas ajouté.
#Modifier une bande dessinée
Un chapitre comportant des pages de bande dessinée (:::page) ou des strips (:::strip) peut se modifier directement sur les pages, dans l’onglet Canvas, l’onglet HTML et le mode sélection du Folio. Les outils fonctionnent de la même façon sur un strip placé dans une colonne, flottant en tête de page ou sur toute la largeur de la page, plus étroit que sa justification ou placé sous une légende, et écrivent dans le bloc du strip lui-même. Chaque modification est écrite dans le Markdown du chapitre, comme une saisie au clavier, si bien que l’annulation de l’éditeur la défait. Le balisage et les règles de lettrage sont expliqués dans Bande dessinée.
- Séparateurs. Au-dessus de la gouttière entre deux cases, le pointeur devient un curseur de redimensionnement. Faites-le glisser pour déplacer la ligne de séparation ; au relâchement, le nouveau pourcentage est écrit dans l’attribut
splitde la page (ajouté au bloc si la page n’en a pas) et la page est remise en page. Maj aligne la ligne par pas de 5 %, Alt ne déplace que l’extrémité la plus proche du pointeur, ce qui incline la ligne, et aucune case ne devient plus étroite que 5 %. Pendant le glissement, une case dont l’image ne garderait plus sa zone de sécurité visible est signalée, avec une indication. Chaque séparateur est aussi un élément focalisable : les touches fléchées le déplacent de 1 % (5 % avec Maj), Entrée enregistre la position et Échap la rétablit. - Diviser et fusionner. Au-dessus d’une case, une petite barre d’outils propose Couper par une ligne horizontale, Couper par une ligne verticale (une ligne
::panelvide est ajoutée pour la nouvelle cellule, juste après cette case) et Fusionner avec la case suivante : la ligne qui les sépare disparaît, et la case fusionnée garde l’image de la première case et reprend les lignes de script des deux. On atteint aussi les cases avec Tab : une case focalisée est entourée d’un contour, H la coupe par une ligne horizontale, V par une ligne verticale, et M la fusionne avec la case suivante ; le focus reste sur la case une fois la page remise en page. Entrée ouvre la barre d’outils, et Échap ramène de celle-ci à la case. - Bulles. Faites glisser une bulle pour l’épingler : au relâchement, sa ligne de script reçoit
at="x% y%", le point en pourcentages de l’image de la case (de la cellule pour une case sans image), si bien que l’épingle reste au même endroit du dessin malgré les recadrages, les déplacements de séparateurs et les traductions. Un groupe lié se déplace d’un bloc, épinglé par sa première bulle. Les touches fléchées décalent une bulle focalisée de 1 % (5 % avec Maj), et un double clic sur une bulle épinglée retire sonatet la rend au placement automatique. Un simple clic place le curseur de l’éditeur sur la ligne de la bulle. - Indication de débordement. Pendant qu’une bulle se déplace, au pointeur ou aux touches fléchées, l’aperçu vérifie où elle atterrirait. Si elle devait couvrir un visage ou une zone à éviter, ou sortir de sa case plus qu’elle ne le fait déjà, le contour en mouvement passe à l’orange, les visages et les zones à éviter de la case sont tracés en pointillés, et l’infobulle dit de quoi il s’agit : Ici, elle couvrirait un visage, Ici, elle couvrirait une partie de l’image à laisser dégagée, Ici, elle sortirait de la case. Une ligne avec
breakn’est pas signalée parce qu’elle quitte sa case. L’indication ne prévoit pas comment les autres bulles de la case se déplaceront pour faire de la place. - Queues. Au-dessus de la pointe d’une queue, le pointeur devient une croix. Faites glisser la pointe là où la queue doit viser : au relâchement, la ligne reçoit
to="x% y%", le point en pourcentages de l’image de la case, et la queue se tourne vers lui en s’arrêtant un peu avant, comme elle le fait devant une bouche. Échap annule le glissement, et un double clic sur la pointe retireto, si bien que la queue pointe de nouveau vers son locuteur. Au clavier, T sur une bulle focalisée passe à sa queue : les touches fléchées déplacent le point visé de 1 % (5 % avec Maj), Entrée l’enregistre, Échap le rétablit, Suppr retireto, et T revient à la bulle. - Locuteurs et zones à éviter. Sur une image du panneau Ressources, le champ Zone de sécurité et lettrage ouvre une boîte de dialogue à trois modes. Zone de sécurité marque la partie de l’image qui doit rester visible. Locuteurs place un point par personnage : un clic sur l’image y ajoute un locuteur et active son identifiant, qui doit être la clé de locuteur qu’utilise le script (
maya: …) ; sa bouche, sa tête (vers laquelle pointent les bulles de pensée) et son visage (jamais couvert par une bulle) se mettent en place par glissement. Les Zones à éviter sont des rectangles qu’aucune bulle ne couvre, tracés en faisant glisser le pointeur sur l’image. Le même mode marque les visages des personnes qui ne parlent pas (Ajouter un visage de figurant, ou l’interrupteur Un visage sur la ligne d’une zone) : aucune bulle ne couvre un tel visage, alors qu’une zone à éviter cède quand une case n’a pas d’autre place. Chaque marque se déplace avec les touches fléchées (Maj pour des pas plus grands) et se supprime avec Suppr ; la boîte de dialogue a son propre historique d’annulation, et un locuteur situé hors de la zone de sécurité est signalé. - Réglages. Le groupe Bande dessinée du panneau Maquette contient la configuration de la bande dessinée : sens de lecture et images en miroir, cadre et gouttières, case par défaut et styles de case nommés, lettrage, et styles de bulle, chacun avec un aperçu de son contour.
- Éditeur et vérifications. L’éditeur de texte colore les lignes
:::page,:::strip,::panelainsi que les clés et les attributs des lignes de script. Le panneau Vérifications liste les avertissements de bande dessinée (une division illisible, des cases et des cellules qui ne correspondent pas, une bulle qui ne tient pas…) à la ligne qu’ils concernent ; voir Bande dessinée › Avertissements de bande dessinée.
#Documents Word
Les manuscrits arrivent le plus souvent en fichiers Word. Le panneau Texte importe directement un .docx, sans agent IA et sans rien à installer, et fait correspondre ses styles comme le fait la commande Importer d’InDesign. Importer un document Word lit le fichier dans le navigateur (il n’est jamais envoyé) et ouvre une boîte de dialogue ; le livre ne change que lorsque vous cliquez sur Importer. Un fichier qui n’est pas un document Word, comme un ancien .doc binaire, est refusé avec un message qui le dit ; enregistrez-le d’abord en .docx depuis Word.
La boîte de dialogue comprend les parties suivantes, chacune repliable :
- Qualité de l’original. Un verdict sur la préparation du manuscrit : Bien stylé (la conversion est propre), Partiellement stylé (certains paragraphes sont mis en forme à la main) ou Aucun style (tout est en Normal, le texte arrive donc en paragraphes simples). En dessous, les décomptes (paragraphes, combien sont dans un autre style que Normal, images, tableaux, notes) et ce qui a été trouvé, chaque fois avec les premiers mots de quelques paragraphes concernés : paragraphes mis en forme à la main (polices, tailles, couleurs, alignement ; cette mise en forme est ignorée, puisque la maquette s’en charge), paragraphes courts en gras qui ressemblent à des titres tapés à la main, numéros ou puces tapés au lieu de listes Word, sauts de ligne manuels, sauts de page manuels, paragraphes vides servant d’espacement, tabulations et doubles espaces, modifications suivies (les insertions sont gardées et les suppressions ignorées ; acceptez-les ou refusez-les d’abord dans Word), commentaires (non importés), zones de texte (leur texte suit le paragraphe auquel chacune est ancrée), équations (converties en TeX ; vérifiez-les), texte masqué et images dans des formats que le navigateur ne sait pas afficher (EMF, WMF, TIFF).
- Modèle d’import. La correspondance utilisée : Automatique (par nom de style), un modèle enregistré, ou Enregistré dans ce document pour un fichier exporté depuis le Sandbox. Enregistrer comme nouveau modèle demande un nom et conserve la correspondance, tous les styles de ce document compris, dans le navigateur ; Enregistrer les modifications met à jour le modèle sélectionné ; le bouton de téléchargement l’écrit dans un fichier
.jsonet le bouton d’envoi en charge un, si bien que toute une équipe peut partager le même modèle. La suppression demande une confirmation. Le dernier modèle utilisé est proposé en premier la fois suivante. - Styles de paragraphe. Chaque style de paragraphe utilisé par le document, avec le nombre de paragraphes qui l’emploient et les premiers mots de l’un d’eux, et ce qu’il devient : Corps de texte, Titre (un niveau de 1 à 6 et, quand la maquette a des styles de titre, l’un d’eux), Style de paragraphe (l’un des styles de paragraphe de la maquette ; des paragraphes consécutifs dans ce style forment un groupe
:::paragraphs), Encadré (des paragraphes consécutifs forment un encadré de ce type), Titre d’encadré (ouvre un encadré dont le titre est le texte du paragraphe), Citation, Légende de l’image ou du tableau voisin, Début d’un nouveau chapitre, Markdown Postext, tel qu’écrit (le texte est copié tel quel, pour les directives tapées dans Word) ou Ignorer. Les paragraphes des listes numérotées et à puces de Word deviennent des listes Postext quel que soit leur style, avec leurs numéros et leur imbrication. Poème (:::verse, vers par vers) compose les paragraphes du style en poème:::verse, éventuellement dans l’un des styles de paragraphe de la maquette : Maj+Entrée coupe un vers, un paragraphe est une strophe, des paragraphes d’une ligne qui se suivent forment une strophe et un paragraphe vide marque un changement de strophe ; ce choix est proposé d’office pour les styles nommés Verse, Poem ou Poesía. - Styles de caractère. De même pour les styles de caractère : Texte simple, Gras, Italique, Gras italique, Petites capitales, Exposant, Indice, Pastille (l’un des styles de pastille de la maquette), Markdown Postext, tel qu’écrit ou Ignorer.
- Options. Les sauts de ligne manuels (Maj+Entrée) sont gardés comme sauts de ligne à l’intérieur du paragraphe (une barre oblique inverse en fin de ligne Markdown, par défaut), joints par une espace ou transformés en début de nouveau paragraphe ; le gras, l’italique, les petites capitales, les exposants et les indices appliqués à la main sont gardés ou ignorés ; les paragraphes courts en gras restent des paragraphes ou deviennent des titres d’un niveau donné ; les sauts de page manuels sont ignorés (la maquette tourne les pages) ou gardés en
:::pagebreak; les images et les tableaux sont ajoutés comme ressources ou non. - Aperçu du Markdown, mis à jour à mesure que la correspondance change.
Le pied de la boîte de dialogue choisit où va le texte : Remplacer ce chapitre, Nouveaux chapitres après celui-ci ou Remplacer tout le livre ; les deux dernières options commencent un chapitre à chaque titre de niveau 1. Les images (PNG, JPEG, GIF, WebP, SVG) deviennent des ressources de figure et les tableaux des ressources de tableau (lignes d’en-tête, cellules fusionnées, largeurs de colonnes et fonds de cellule conservés), chacune placée avec ::resource{id="…"} là où elle se trouvait et légendée par un paragraphe de légende voisin, dont le libellé tapé (Figure 3.) est retiré parce que Postext numérote les ressources. Les notes de bas de page et les notes de fin deviennent des notes Postext ([^1]), les entrées d’index de Word (champs XE) des marques :index, les liens restent des liens et les équations deviennent $…$ / $$…$$. Une tabulation dans le texte courant devient :tab avec le taquet que Word lui avait fixé (:tab{at=432pt align=end leader="."}), ou un simple :tab quand le paragraphe va vers un style de paragraphe du livre qui a ses propres taquets ; les points de conduite de Word en points, en tirets et en points médians deviennent ., - et ·, ses points de conduite soulignés et épais un filet. Une tabulation dans un titre, une cellule de tableau ou une note devient une espace.
Avant de faire correspondre les styles par leur nom, la correspondance automatique reconnaît les rôles propres de Word, quelle que soit la langue de son interface (heading 1–6, Title, Quote, Caption ; les paragraphes de table des matières, d’index, d’en-tête et de pied de page sont ignorés), ainsi que les styles de la maquette : un style Word qui porte le nom d’un style de paragraphe, d’un type d’encadré, d’un style de titre ou d’un style de pastille du livre (par identifiant ou par nom, sans tenir compte de la casse ni des accents) lui est associé.
Exporter vers Word télécharge le chapitre ouvert, ou tout le livre, en .docx, pour que quelqu’un y travaille dans Word. Le même modèle s’applique en sens inverse : les titres reçoivent les styles de titre de Word, les styles de paragraphe, les encadrés, les citations et les pastilles reçoivent des styles Word qui leur sont propres (nommés d’après les styles de la maquette, Callout: Note, Chip: Key), les listes deviennent des listes Word, les notes de bas de page des notes de bas de page Word, et les liens restent des liens. :tab devient une tabulation Word, un :tab{…} doté de son propre taquet est gardé tel qu’écrit, et les taquets d’un style de paragraphe fixés à une longueur deviennent les taquets de son style Word, avec le point de conduite de Word le plus proche (un taquet à 'end' ou en pourcentage dépend de la page sur laquelle Word compose le texte, et il est ignoré). Ce que Word ne sait pas afficher (front matter, blocs, directives, :ref, formules, marques :index, lignes de ressource) est gardé tel qu’écrit dans les styles gris Postext Markup. Un livre est exporté avec un paragraphe Postext Chapter en tête de chaque chapitre. Le modèle voyage dans le fichier, si bien que le document modifié s’importe de nouveau avec la même correspondance, et comme un livre entier s’il contient des paragraphes de chapitre. Laissez le texte gris tel quel et le texte revient comme il est parti ; les étiquettes de note sont renumérotées ([^1], [^2]…), ce qui s’imprime de la même façon, et _italic_ revient sous la forme *italic*.
Pour les conversions que cette boîte de dialogue ne couvre pas (sources PDF, PowerPoint, EPUB ou IDML, reproduction des règles de mise en page d’un original), utilisez le skill pour agents.
#Persistance
Le Sandbox enregistre automatiquement votre travail dans le navigateur :
- Livre et configuration : les chapitres, le chapitre actif et l’étendue du canvas sont enregistrés automatiquement dans
localStoragesouspostext-sandbox-book(un document unique enregistré par une version antérieure est lu depuispostext-sandbox-markdowncomme un livre d’un chapitre et migré au premier enregistrement) ; la configuration est enregistrée après 1 seconde d’inactivité, débarrassée des valeurs par défaut pour ne stocker que vos modifications, avec sa version (postext-sandbox-config-version) ; une configuration enregistrée avant l’existence de cette version est lue comme décrit plus bas sous Sauts de titre enregistrés par postext 1.4 ou antérieur - État de l’interface : le panneau et l’onglet de visualisation actifs, la largeur de la barre latérale, le groupe ouvert du panneau Maquette (
postext-sandbox-settings-group), son interrupteur Afficher toutes les explications (postext-sandbox-settings-help) et l’état ouvert ou fermé des sections, les livres d’exemple masqués, les modes de zoom, d’ajustement et de vue du canvas, la taille de police et le mode de colonnes du HTML, le rendu de l’onglet EPUB (postext-sandbox-epub-layout) et l’épinglage des barres d’outils sont tous conservés danslocalStorage - Livre ouvert : l’identifiant du livre personnel ouvert (un projet) est stocké dans
localStoragesouspostext-sandbox-project; les projets eux-mêmes (chapitres, configuration et enregistrements de ressources ; enregistrementversion: 9, leCONFIG_VERSIONdu moteur, dont sont aussi estampillés la configuration de travail et les exportspostext-config.json, si bien que chacun est migré une seule fois quand les règles du moteur changent ; les enregistrements à document unique des versions antérieures sont migrés à la lecture, et les sauts de titre des enregistrements antérieurs à la version 3, la taille des formules de ceux antérieurs à la version 4, l’espace sous les figures dans le texte de ceux antérieurs à la version 5, l’espace autour des figures dans le texte des encadrés, les enrichissements des titres, la taille des lettrines, la place sous une ligne terminée par un deux-points et les coupures d’encadrés de ceux antérieurs à la version 6, les coupures après les tirets et la coupure du texte en drapeau de ceux antérieurs à la version 7, et les coupures sous un titre, les coupures après le trait d’union des mots composés et l’espace sous les conteneurs:::paragraphsde ceux antérieurs à la version 8 sont figés comme décrit plus bas) se trouvent dans le magasinprojectsde la base IndexedDB du Sandbox, et leurs contenus binaires partagent les magasins de blobs et de polices avec le document de travail. Ces contenus sont supprimés par le ramasse-miettes quand ni le document de travail ni aucun projet n’y fait référence - Livres d’exemple modifiés : votre version d’un livre d’exemple (ses chapitres, son chapitre actif, l’étendue du canvas, sa configuration et ses enregistrements de ressources, avec ce que l’exemple appliquait quand vous l’avez ouvert) est enregistrée dans le magasin
presetDraftsde la base IndexedDB du Sandbox, un enregistrement par exemple et par langue de contenu, et ses fichiers sont préservés par le ramasse-miettes comme ceux d’un projet. Restaurer l’original la supprime - Couvertures des livres d’exemple : la couverture tirée de la première page d’un livre d’exemple livré sans vignette est conservée dans le magasin
presetCoversde la base IndexedDB du Sandbox, un enregistrement par exemple et par langue de contenu (voir panneau Livres). Un livre personnel garde sa couverture dans son enregistrement de projet. - Enregistrement à la sortie : les modifications en attente sont écrites immédiatement quand la page est masquée ou fermée, quand vous quittez le Sandbox par un lien (le logo) et avant l’ouverture d’un autre livre, plutôt qu’après la pause d’une seconde
- Livre d’exemple ouvert : l’identifiant du dernier préréglage chargé est stocké dans
localStoragesouspostext-sandbox-preset, si bien que les boutons Réinitialiser des panneaux continuent de restaurer ce préréglage d’une session à l’autre (un préréglage qui n’est plus servi apparaît comme indisponible). Ce que ce préréglage a appliqué (l’empreinte de son paquet et des hachages du markdown, de la configuration et de l’ensemble des ressources) est stocké souspostext-sandbox-preset-applied: c’est ainsi que la visite suivante distingue un document intact d’un document modifié - Ressources et polices : les enregistrements de ressources, leurs blobs binaires (bitmaps et SVG) et les fichiers de polices personnalisées sont conservés dans IndexedDB ; quand IndexedDB n’est pas disponible (par exemple dans certains modes de navigation privée), un avertissement Stockage indisponible apparaît dans le panneau Vérifications (sous Navigateur)
- Permalien : le fragment de l’URL nomme ce qui est à l’écran, si bien qu’un rechargement, un favori ou un lien transmis à quelqu’un d’autre arrive sur la même page du même livre dans la même visionneuse :
#preset=bioquimica-feduchi&lang=es&view=canvas&chapter=1&page=7ouvre le préréglage Bioquímica en espagnol dans l’onglet Canvas, au chapitre 1, page 7 (le numéro imprimé sur la page).viewvautcanvas,pdf,folio,htmlouepub; dans l’onglet Folio, la page est la page de droite de la double page ouverte. Un projet local est désigné parproject=ID(son identifiant de stockage), si bien que seul le navigateur qui détient le projet peut suivre un tel lien. Le Sandbox tient le fragment à jour quand vous changez de livre, d’onglet ou de chapitre et quand vous faites défiler. Une partie omise désigne ce qui est déjà là (pas de page : la première page du chapitre ; pas de livre : le dernier ouvert), et un livre que le navigateur ne peut pas ouvrir est ignoré. Coller un lien dans la barre d’adresse d’un Sandbox ouvert l’ouvre sur place. Quand la page s’ouvre sur un lien vers un autre livre que le dernier ouvert, le Sandbox affiche son état de chargement jusqu’à l’arrivée du livre lié, jamais le livre précédent. Un hôte peut aussi lier ses propres livres avec la prophashBundles(voir Props) : le site ouvre une recette du livre de recettes avec#recipe=<slug>&lang=es. La première visite importe le fichier.postextde la recette comme l’un de vos livres. Une visite ultérieure du même lien pose d’abord la question (Vous avez déjà ce livre) : Ouvrir ma copie ouvre ce livre, vos modifications comprises, et Remplacer par la version publiée réimporte la recette, qui a pu être corrigée depuis, et supprime votre copie une fois la nouvelle ouverte ; Échap garde votre copie. Le fragment nomme alors le projet. La langue de l’interface reste dans le chemin (/en/sandbox,/es/sandbox) ;langest la langue de contenu d’un paquet bilingue, n’importe quelle balise BCP 47, conservée dans sa casse canonique (lang=zh-hantse litzh-Hant). Une balise que le paquet ne liste pas ouvre l’édition qui lui correspond :zh-TWetzh-HKouvrent l’édition en chinois traditionnel (zh-Hant),zhetzh-CNl’édition en chinois simplifié (zh-Hans),en-GBl’édition anglaise. L’autre écriture chinoise n’est lue que si le paquet n’a pas d’édition dans celle du lecteur : un lienzh-TWvers un livre enzh-Hanset en anglais ouvre le texte simplifié, pas l’anglais. Un lien sanslangouvre l’openLocaledu paquet quand il en nomme une, sinon l’édition dans la langue de l’interface. Le chapitre et la page d’un lien s’appliquent à l’édition qu’il ouvre, et le fragment nomme alors cette édition par sa propre balise (lang=zh-TW&chapter=28devientlang=zh-Hant&chapter=28).
Sauts de titre enregistrés par postext 1.4 ou antérieur. Jusqu’à postext 1.4, une configuration comportant un objet headings mettait en page ses titres de niveau 1 sans saut de page, sauf si elle activait explicitement l’interrupteur Saut avant du H1 (et l’enregistrement supprimait un saut de H1 désactivé) ; un saut de H1 partiel prenait son champ manquant dans la valeur par défaut sans saut, et le saut d’un style de titre faisait de même au lieu de se fusionner avec celui de son niveau. Le moteur garde désormais la valeur par défaut de chaque niveau (le H1 s’ouvre sur un nouveau recto, always-odd) et y fusionne un saut partiel. Pour qu’un livre enregistré à l’époque garde ses pages, le Sandbox écrit ces sauts en toutes lettres quand il lit un enregistrement de projet antérieur à la version 3 ou une configuration de travail sans version : enabled: false sur le H1 là où le saut était désactivé, et parity: 'any' à côté d’un enabled: true qui ne nommait pas de parité, sur le H1 et sur les styles de titre. Le panneau Maquette montre alors le saut avec lequel les pages ont été mises en page. Les fichiers enregistrent eux aussi la version depuis postext 1.5 : un fichier .postext dont le manifeste n’a pas de configVersion, et un postext-config.json qui n’en a pas, ont été écrits par postext 1.4 ou antérieur, et sont lus de la même façon quand on les importe ou qu’on les ouvre (voir Paquets écrits par postext 1.4 ou antérieur).
Taille des formules enregistrée avant postext 1.5. Jusqu’à postext 1.4, chaque formule sortait 1,131 fois plus grande que ne l’indique son Échelle de taille (voir Taille des formules). Pour qu’un livre enregistré à l’époque garde ses pages, le Sandbox fige cette taille quand il lit un enregistrement de projet antérieur à la version 4, une configuration de travail enregistrée sous une estampille plus ancienne (ou sans estampille), un fichier .postext dont le manifeste est antérieur à configVersion: 4, ou un postext-config.json exporté avant : l’Échelle de taille devient l’échelle enregistrée × 1,1312 et une marge hors texte exprimée en em est divisée par 1,1312, si bien que les formules et l’espace qui les entoure restent tels qu’ils étaient. Un livre dont les chapitres n’ont aucun $ est laissé tel quel (un postext-config.json ne contient pas de chapitres, donc sa taille est figée dès que les formules sont activées), de même qu’un livre où Activer LaTeX est désactivé. La section Formules montre alors les valeurs avec lesquelles le livre est mis en page ; réinitialisez Échelle de taille, Marge hors texte haute et Marge hors texte basse pour revenir à la taille actuelle. Ce figeage n’est écrit qu’une fois : l’enregistrement est de nouveau sauvegardé sous la version courante et lu tel quel à partir de là. Un préréglage appliqué à l’époque et jamais modifié compte toujours comme intact (le Sandbox le compare à ses valeurs figées, et il en va de même pour le figeage des sauts de titre) : le recharger ou changer de livre ne demande pas d’abandonner des modifications que vous n’avez jamais faites, et une version plus récente du préréglage, comme celle du guide intégré, le remplace toujours.
Figures dans le texte enregistrées avant postext 1.5. Jusqu’à postext 1.4, une figure ou un tableau placé dans le texte (placement Dans le texte (ici)) ne gardait une ligne d’espace qu’au-dessus de lui : le texte qui suivait reprenait à la ligne de grille suivante, si proche fût-elle. Il garde désormais la même ligne en dessous (Colonnes → Espace autour des figures en ligne, Au-dessus et au-dessous). Pour qu’un livre enregistré à l’époque garde ses pages, le Sandbox règle Espace autour des figures en ligne sur Au-dessus seulement quand il lit un enregistrement de projet antérieur à la version 5, une configuration de travail enregistrée sous une estampille plus ancienne (ou sans estampille), un fichier .postext dont le manifeste est antérieur à configVersion: 5, ou un postext-config.json exporté avant, lorsqu’une ligne du livre insère une ressource (::resource{id="…"} seul sur sa ligne, pas une mention dans le texte). Un postext-config.json ne contient pas de chapitres : le réglage y est donc appliqué chaque fois que le fichier est plus ancien. Choisissez Au-dessus et au-dessous pour mettre le livre en page avec l’espacement actuel.
Figures dans le texte des encadrés enregistrées avant postext 1.5. Jusqu’à postext 1.4, une figure ou un tableau placé dans le texte d’un encadré était collé au texte de l’encadré qui l’entourait. Il garde désormais une ligne du texte de l’encadré au-dessus de lui, et en dessous aussi avec Au-dessus et au-dessous (Colonnes → Espace autour des figures dans les encadrés). Pour qu’un livre enregistré à l’époque garde ses pages, le Sandbox désactive Espace autour des figures dans les encadrés quand il lit un enregistrement de projet antérieur à la version 6, une configuration de travail enregistrée sous une estampille plus ancienne (ou sans estampille), un fichier .postext dont le manifeste est antérieur à configVersion: 6, ou un postext-config.json exporté avant, lorsqu’un encadré du livre insère une ressource sur une ligne à part. Un postext-config.json ne contient pas de chapitres : le réglage y est donc désactivé chaque fois que le fichier est plus ancien. Activez-le pour mettre le livre en page avec l’espacement actuel.
Enrichissements des titres et lettrines enregistrés avant postext 1.5. Jusqu’à postext 1.4, un titre imprimait les mots de ses marques *italic*, **bold** et autres dans son propre style, sans enrichissement, et une lettrine sans taille était aussi haute que toutes les lignes qu’elle occupe, son sommet dépassant la première ligne. Un titre applique désormais ses marques (Titres → Enrichissements dans les titres), et le sommet d’une lettrine s’aligne sur les capitales de la première ligne. Pour qu’un livre enregistré à l’époque garde ses pages, le Sandbox désactive Enrichissements dans les titres quand il lit un enregistrement de projet antérieur à la version 6, une configuration de travail enregistrée sous une estampille plus ancienne (ou sans estampille), un fichier .postext dont le manifeste est antérieur à configVersion: 6, ou un postext-config.json exporté avant, lorsqu’un titre du livre porte une marque (un postext-config.json ne contient pas de chapitres : le réglage y est donc désactivé chaque fois que le fichier est plus ancien) ; et il écrit dans la Taille de la lettrine de chaque lettrine la taille avec laquelle elle était composée. Activez l’interrupteur, ou effacez la taille, pour composer le livre selon les règles actuelles. Attention : un titre en italique dont tout le texte est marqué *…* sort alors en romain.
Listes après deux-points enregistrées avant postext 1.5. Jusqu’à postext 1.4, Garder les deux-points avec la liste considérait qu’une ligne de place sous la ligne terminée par un deux-points suffisait pour la liste ; un premier élément de deux lignes que les règles d’orphelines et de veuves gardent entier passait donc à la colonne suivante et laissait la ligne du deux-points seule en pied de colonne. Il demande désormais la place dont le premier élément a besoin (Typographie → Texte courant → Veuves, orphelines et lignes courtes → Place sous les deux-points, Ce qu’exige le premier élément). Pour qu’un livre enregistré à l’époque garde ses pages, le Sandbox règle Place sous les deux-points sur Une ligne (1.4) quand il lit un enregistrement de projet antérieur à la version 6, une configuration de travail enregistrée sous une estampille plus ancienne (ou sans estampille), un fichier .postext dont le manifeste est antérieur à configVersion: 6, ou un postext-config.json exporté avant, lorsqu’une liste du livre suit une ligne terminée par un deux-points. Un postext-config.json ne contient pas de chapitres : le réglage y est donc appliqué chaque fois que le fichier est plus ancien. Choisissez Ce qu’exige le premier élément pour mettre le livre en page selon la règle actuelle.
Coupures d’encadrés enregistrées avant postext 1.5. Jusqu’à postext 1.4, un encadré coupé à l’intérieur d’un paragraphe ou d’un élément de liste pouvait en laisser une seule ligne d’un côté, du moment que chaque côté de l’encadré gardait ses Lignes de part et d’autre d’une coupure. Une coupure laisse désormais au moins deux lignes du paragraphe ou de l’élément de chaque côté (Colonnes → Lignes d’un paragraphe à une coupure d’encadré). Pour qu’un livre enregistré à l’époque garde ses pages, le Sandbox règle Lignes d’un paragraphe à une coupure d’encadré sur 1 quand il lit un enregistrement de projet antérieur à la version 6, une configuration de travail enregistrée sous une estampille plus ancienne (ou sans estampille), un fichier .postext dont le manifeste est antérieur à configVersion: 6, ou un postext-config.json exporté avant, lorsqu’un chapitre du livre ouvre un :::callout. Un postext-config.json ne contient pas de chapitres : le réglage y est donc appliqué chaque fois que le fichier est plus ancien. Remettez-le à 2 pour mettre le livre en page selon la règle actuelle.
Tirets et texte en drapeau enregistrés avant postext 1.5. Jusqu’à postext 1.4, la coupure optimale des lignes ne terminait jamais une ligne après un tiret cadratin ou demi-cadratin collé entre deux mots (say—that’s), et le texte en drapeau était toujours composé ligne par ligne, chaque ligne remplie avant la suivante. Une ligne peut désormais se terminer après un tel tiret (Typographie → Texte courant → Paragraphes → Coupure après les tirets), et le texte courant en drapeau est lui aussi coupé avec Knuth-Plass (Coupure optimale du texte en drapeau). Pour qu’un livre enregistré à l’époque garde ses pages, le Sandbox désactive Coupure après les tirets quand il lit un enregistrement de projet antérieur à la version 7, une configuration de travail enregistrée sous une estampille plus ancienne (ou sans estampille), un fichier .postext dont le manifeste est antérieur à configVersion: 7, ou un postext-config.json exporté avant, lorsqu’un chapitre du livre contient un tel tiret (un postext-config.json ne contient pas de chapitres : le réglage y est donc désactivé chaque fois que le fichier est plus ancien) ; et il désactive Coupure optimale du texte en drapeau quand la configuration compose en drapeau une partie du texte courant : le texte courant lui-même, un style de paragraphe, le corps d’un encadré, le corps d’une partie ou le corps d’un style de section. Activez-les pour mettre le livre en page selon les règles actuelles.
Coupures sous un titre enregistrées avant postext 1.5. Jusqu’à postext 1.4, le paragraphe placé sous un titre en pied de colonne gardait là autant de lignes qu’il en tenait, si peu qu’il en passât à la colonne suivante. Il respecte désormais aussi le minimum d’orphelines, faute de quoi le titre passe à la suite avec lui (Titres et table des matières → Titres → Coupure sous un titre). Pour qu’un livre enregistré à l’époque garde ses pages, le Sandbox règle Coupure sous un titre sur Remplir la colonne quand il lit un enregistrement de projet antérieur à la version 8, une configuration de travail enregistrée sous une estampille plus ancienne (ou sans estampille), un fichier .postext dont le manifeste est antérieur à configVersion: 8, ou un postext-config.json exporté avant, lorsqu’un chapitre du livre a un titre (un postext-config.json ne contient pas de chapitres : le réglage y est donc appliqué chaque fois que le fichier est plus ancien) et que la configuration garde Lier au suivant et le contrôle des orphelines activés. Réglez-le sur Selon les règles pour mettre le livre en page selon la règle actuelle.
Conteneurs de paragraphes enregistrés avant postext 1.5. Jusqu’à postext 1.4, l’espace sous un conteneur :::paragraphs était celui du style (le plus grand entre son espace entre paragraphes et sa marge inférieure), placé sous la dernière ligne avant que le texte ne se recale sur la grille ; l’espace qu’un titre garde au-dessus de lui s’y ajoutait, et l’espacement des paragraphes du texte courant ne comptait pas : un titre se trouvait donc plus loin d’une bibliographie que d’un paragraphe, et le paragraphe qui suivait un groupe d’entrées serrées en était plus proche que de tout autre. Cet espace fusionne désormais avec celui du bloc suivant et vaut au moins l’espacement des paragraphes du texte (Typographie → Styles de paragraphe → Espace sous un conteneur, Fusionner). Pour qu’un livre enregistré à l’époque garde ses pages, le Sandbox règle Espace sous un conteneur sur Additionner (1.4) quand il lit un enregistrement de projet antérieur à la version 8, une configuration de travail enregistrée sous une estampille plus ancienne (ou sans estampille), un fichier .postext dont le manifeste est antérieur à configVersion: 8, ou un postext-config.json exporté avant, lorsque la configuration déclare un style de paragraphe et qu’un chapitre du livre ouvre un conteneur :::paragraphs. Un postext-config.json ne contient pas de chapitres : le réglage y est donc appliqué chaque fois que le fichier est plus ancien et déclare un style de paragraphe. Choisissez Fusionner pour mettre le livre en page selon la règle actuelle.
Mots composés enregistrés avant postext 1.5. Jusqu’à postext 1.4, la coupure optimale des lignes ne terminait jamais une ligne justifiée après le trait d’union d’un mot composé (well-known) dans un paragraphe sans gras, italique ni autre mise en forme, alors qu’elle le faisait dans un paragraphe mis en forme. Une ligne peut désormais s’y terminer dans tous les paragraphes (Typographie → Texte courant → Paragraphes → Coupure après les traits d’union). Pour qu’un livre enregistré à l’époque garde ses pages, le Sandbox désactive Coupure après les traits d’union quand il lit un enregistrement de projet antérieur à la version 8, une configuration de travail enregistrée sous une estampille plus ancienne (ou sans estampille), un fichier .postext dont le manifeste est antérieur à configVersion: 8, ou un postext-config.json exporté avant, lorsqu’un chapitre du livre place un trait d’union entre deux lettres (un postext-config.json ne contient pas de chapitres : le réglage y est donc désactivé chaque fois que le fichier est plus ancien). Activez-le pour mettre le livre en page selon la règle actuelle.
Poèmes et styles suspendus enregistrés avant postext 1.23. Jusqu’à postext 1.22, un poème :::verse dont les lignes ne portaient pas de || était composé en hémistiches isolés, chaque ligne centrée, et le retrait suspendu d’un style de paragraphe remplaçait son retrait de première ligne. Un tel poème est désormais composé ligne à ligne (Typographie → Texte courant → Vers → Poèmes sans séparateur, Ligne à ligne), et un style qui définit les deux retraits commence sa première ligne au retrait de première ligne. Pour qu’un livre enregistré à l’époque garde ses pages, le Sandbox règle Poèmes sans séparateur sur En hémistiches (1.22) quand il lit un enregistrement de projet antérieur à la version 9, ou une configuration de travail ou un export postext-config.json estampillé sous 9, dont les chapitres contiennent un tel poème, et il supprime le retrait de première ligne d’un style qui est aussi suspendu. Il désactive aussi Sauts de ligne forcés (Typographie → Texte courant → Paragraphes) quand les chapitres d’un tel enregistrement terminent une ligne par une barre oblique inverse ou placent \\ avant une espace, ce qui s’imprimait jusqu’à postext 1.22 (toujours pour un export postext-config.json, qui ne contient pas de chapitres). Et il désactive Blocs de code délimités (Typographie → Code) quand les chapitres contiennent un bloc ``` ou ~~~, dont les lignes étaient lues comme du Markdown jusqu’à postext 1.22 (toujours pour un export).
Poèmes enregistrés avec postext 1.23. Dans postext 1.23, un vers d’un poème composé ligne à ligne qui dépassait la justification, ne serait-ce qu’un peu, était rejeté à la ligne. Il resserre désormais ses espaces entre mots, jusqu’à l’espacement minimal, et reste sur une ligne quand cela suffit (Typographie → Texte courant → Vers → Resserrer avant de rejeter). Pour qu’un livre enregistré à l’époque garde ses pages, le Sandbox désactive Resserrer avant de rejeter quand il lit un enregistrement de projet, une configuration de travail ou un export postext-config.json estampillé 9 ou moins dont les chapitres composent un poème ligne à ligne (toujours pour un export, qui ne contient pas de chapitres).
Textes de maquette enregistrés avec postext 1.23. Jusqu’à postext 1.23, un élément de texte d’une maquette de titre ou d’une page de partie qui ne définissait pas de débordement était coupé à une ligne avec des points de suspension. Il passe désormais sur plusieurs lignes, et Ajouter un texte laisse le Débordement à l’emplacement. Pour qu’un livre enregistré à l’époque garde ses pages, le Sandbox règle Débordement sur Ellipse à la fin (…) pour chacun de ces éléments quand il lit un enregistrement de projet, une configuration de travail, un fichier .postext ou un export postext-config.json estampillé 9 ou moins.
Tableaux dans le texte et colonnes enregistrés avec postext 1.24. Jusqu’à postext 1.24, un tableau placé here qui ne tenait pas dans le reste de sa colonne passait entier à la suivante, un bloc :::columns hors d’un encadré était ignoré, et un encadré ne se coupait jamais à l’intérieur d’un groupe :::columns. Désormais, le tableau est coupé entre deux rangées, et le groupe compose ses blocs en colonnes et continue dans la colonne ou la page suivante. Pour qu’un livre enregistré à l’époque garde ses pages, le Sandbox désactive Appliquer aux tableaux placés dans le texte (Tableaux) quand il lit un enregistrement de projet, une configuration de travail ou un export postext-config.json estampillé sous 11 dont les chapitres insèrent une ressource, et Colonnes dans le texte, et groupes qui se coupent (Colonnes) quand ils contiennent un bloc :::columns (toujours pour un export, qui ne contient pas de chapitres).
Ces figeages retiennent ce que chacun de ces changements de règle déplacerait. La version 1.5 corrige aussi des bogues de mise en page, et une correction n’a pas de figeage, si bien qu’un livre enregistré peut encore voir une page bouger là où l’une d’elles s’applique : la bande d’un titre de chapitre sur toute la largeur de la page sans maquette, une lettrine dans une maquette de titre, un paragraphe dans un encadré, un paragraphe lâche que l’équilibrage étire, un encadré flottant dont la marge est plus large qu’une ligne, un titre courant centré ou aligné à droite avec une approche, la deuxième colonne sous une ouverture sur toute la largeur de la page, un titre courant tiré d’un titre coupé après un trait d’union, un mot plus large que sa ligne coupé à côté de son propre trait d’union, le reste d’un mot plus large que sa ligne, qui garde désormais ses propres points de coupure, et l’élément qui suit une liste imbriquée dans une autre (voir Taille des formules pour la liste).
Le stockage est partagé entre les langues de l’interface. Un document par défaut intact passe au markdown par défaut de la langue courante et réinstalle les ressources d’exemple quand la langue change : ouvrir le Sandbox en espagnol affiche donc des exemples en espagnol. Toute modification de votre part soustrait le document à ce comportement. Tous les aperçus déduisent aussi une langue de césure de la langue de l’interface quand la configuration ne nomme aucune langue (ni langue de césure ni locale).
#Export et import
Un livre entier voyage sous forme de fichier .postext : une archive zip qui a exactement la structure d’un répertoire de paquet de préréglage (preset.json, chapters/*.md, resources/* et fonts/* ; voir Format des paquets de préréglage). L’archive contient aussi la pagination du livre dans layouts.json (le nombre de pages et la numérotation de chaque chapitre, estampillés de la version du moteur, de la configuration et des ressources avec lesquelles ils ont été calculés), si bien qu’un livre importé s’ouvre déjà paginé et que seul ce que ces estampilles ne garantissent plus est remis en page. Un paquet en plusieurs langues compose chacune avec sa propre configuration et peut donc contenir une pagination par langue, layouts.<locale>.json (layouts.zh-Hant.json), lue avant layouts.json. Le document actif exporte la pagination qu’il détient ; un projet ou un préréglage exporté depuis sa ligne emporte celle enregistrée la dernière fois qu’il était le livre de travail. Une image de couverture est écrite comme thumbnail du manifeste et survit donc à l’aller-retour. Le menu Nouveau du panneau Livres (Ouvrir un fichier .postext…) importe un fichier comme nouveau livre ; le menu ⋯ de chaque ligne a son propre Télécharger (.postext), et celui du livre ouvert exporte le document de travail. Les fichiers écrits par des versions antérieures (un manifeste de version 1 avec un seul document.md) s’importent comme un livre d’un chapitre. Un livre dans une seule langue garde les libellés de figure et de tableau de cette langue quelle que soit la langue de l’interface : un fichier espagnol ouvert depuis /en/sandbox imprime Figura et Tabla, sauf si sa configuration nomme d’autres types de ressource. La langue est celle que nomme le fichier ou, s’il n’en nomme aucune, celle que fixe sa configuration (locale, puis la langue de césure). L’import accepte les fichiers à la racine de l’archive ou sous un unique dossier de premier niveau (comme lorsqu’on compresse le dossier lui-même ; les entrées __MACOSX et les fichiers cachés sont ignorés). Les polices sont écrites comme fichiers séparés, jamais dans config.customFonts ; les fichiers .woff sont ignorés avec un avertissement dans les deux sens, de même que les ressources dont les octets manquent. Décompressez un fichier exporté dans <presets-root>/<dir>/ et ajoutez une entrée à index.json pour le servir comme préréglage.
Les mêmes fichiers sont lus et écrits par le package postext (openBundle, createBundle, buildBundle ; voir Paquets). Un livre exporté ici s’ouvre dans votre propre programme, et un livre écrit par votre programme s’ouvre ici. Le Sandbox devient ainsi un endroit où inspecter et affiner ce qu’un programme met en page : exportez le livre depuis le programme, importez-le ici, corrigez-le avec l’aperçu en direct, exportez-le de nouveau et rechargez-le dans le programme. Le skill pour agents livre lui aussi ses portages en fichiers .postext.
Le texte et la maquette s’exportent aussi séparément depuis les en-têtes des panneaux Texte et Maquette.
L’en-tête du panneau Maquette télécharge postext-config.json sans les valeurs par défaut :
{
"type": "postext-config",
"version": 1,
"config": { ... }
}L’en-tête du panneau Texte télécharge le chapitre actif en simple fichier .md, et son bouton Importer remplace le chapitre actif par le contenu d’un fichier .md. Le bouton Importer du panneau Maquette ouvre un sélecteur de fichiers .json, validés selon le type et la version attendus ; les fichiers invalides sont ignorés sans message. L’enveloppe postext-markdown.json et le format combiné postext-sandbox.json des versions antérieures n’existent plus.