← Toute la documentation

Référence de configuration

Cette page liste les options de configuration disponibles de l’éditeur. Consultez Configuration pour les modèles de mise en place et les conseils d’utilisation.

Sur les petits écrans, faites défiler le tableau horizontalement pour voir toutes les colonnes. Les utilisateurs du clavier peuvent placer le focus sur la zone du tableau et utiliser les touches fléchées.

NomValeur par défautDescription
skindefaultL’apparence du cadre de l’éditeur. La valeur devient une classe sur le conteneur (rte-skin-<value>) : le thème fournit donc dark, gray, blue et rounded-corner, et tout nom que vous mettez en forme vous-même fonctionne aussi. Laissez-la non définie pour le cadre clair par défaut. Voir skin.
toolbardefaultDefault, basic ou full. Auto configure la barre d’outils avec un ensemble de boutons sur ordinateur.
toolbarMobilemobileLa barre d’outils utilisée sur les appareils mobiles.
maxWidthForMobile992Lorsque l’écran (la fenêtre du navigateur) devient plus étroit que 992, l’éditeur doit utiliser la barre d’outils mobile.
timeoutAddToUndo900Lorsque l’utilisateur tape vite, attendre 900ms avant d’ajouter une entrée d’annulation.
enableDragDroptrueActive ou désactive la prise en charge du glisser-déposer dans l’éditeur.
enableObjectResizingtrueIndique si les utilisateurs peuvent redimensionner un objet dans RichTextEditor.
readOnlyfalseObtient ou définit une valeur qui indique si RichTextEditor doit être un éditeur HTML actif ou une visionneuse de documents en lecture seule.
focusOnLoadfalseIndique si l’éditeur prend le focus au chargement de la page. Si cette propriété vaut true, l’éditeur prend le focus ; si elle vaut false, il ne le prend pas.
allowScriptCodefalseIndique s’il faut supprimer tous les éléments script et leur contenu du HTML pour empêcher l’injection de JavaScript. Lorsque cette propriété vaut false (valeur par défaut), Rich Text Editor supprime tous les éléments script et leur contenu du HTML.
tagWhiteList[]La liste blanche contient la liste des balises qui peuvent être utilisées dans l’éditeur.
tagBlackList[]La liste noire contient la liste des balises qui ne peuvent pas être utilisées dans l’éditeur.
maxHTMLLength0Obtient ou définit le nombre maximal de caractères, balises HTML comprises, autorisé dans RichTextEditor. La valeur par défaut, 0, signifie aucun maximum. Au-delà de la limite, l’éditeur revient au dernier état valide et déclenche le hook customdialog reachmaxlength.
maxTextLength0Obtient ou définit le nombre maximal de caractères, balises HTML non comprises, autorisé dans RichTextEditor. La valeur par défaut, 0, signifie aucun maximum. Au-delà de la limite, l’éditeur revient au dernier état valide et déclenche le hook customdialog reachmaxlength.
styleWithCSSfalseLa façon dont le gras, l’italique et le souligné sont enregistrés. Par défaut, ce sont des balises qui sont écrites — <b>, <i>, <u> —, que boldTag et italicTag renomment, et qu’un lecteur d’écran annonce comme une mise en valeur. Définissez true pour enregistrer à la place des styles en ligne (<span style="font-weight: bold">). Core 2.6.8 et versions ultérieures ; auparavant, le résultat dépendait de la fin ou non du chargement du bundle de plugins, si bien que le même contenu pouvait être enregistré de l’une ou l’autre façon.
pasteStripThemeStylestrueAu collage, supprime les styles en ligne qui ne font que répéter le thème propre à l’éditeur. Les navigateurs écrivent les styles calculés dans le HTML copié : le texte copié à l’intérieur de l’éditeur arrivait donc avec les marges, la taille de police et la couleur du thème, qui étaient enregistrées avec le contenu. Les styles définis par l’auteur qui diffèrent du thème sont conservés. Définissez false pour conserver tous les styles collés. Core 2.6.8 et versions ultérieures.
smartTypographytrueRemplace ce que tape l’auteur par des caractères typographiques : les guillemets droits deviennent des guillemets courbes, deux traits d’union deviennent un tiret cadratin, trois points deviennent des points de suspension, et (c), (r) et (tm) deviennent ©, ® et ™. Rien n’est modifié à l’intérieur de code, pre ou kbd. Cette fonction appartient au cœur de l’éditeur et est distincte du plugin de correction automatique : autocorrectEnabled: false ne la désactive donc pas. Définissez false pour garder exactement ce qui est tapé ; les quatre options ci-dessous activent ou désactivent chaque substitution séparément.
smartTypographyQuotestrueLes guillemets droits doubles et simples deviennent des guillemets courbes (“ ” ‘ ’), et une apostrophe à l’intérieur d’un mot devient ’ (don’t).
smartTypographyDashestrueDeux traits d’union deviennent un tiret cadratin (—). Un trait d’union seul n’est pas modifié.
smartTypographyEllipsistrueTrois points deviennent un seul caractère de points de suspension (…).
smartTypographyTrademarkstrue(c), (r) et (tm) deviennent ©, ® et ™.
sanitizerAllowIframestrueConserve les éléments <iframe> dans le contenu. S’applique lorsque le filtre de nettoyage du contenu est actif (contentSanitizer, inclus dans le bundle de plugins). Seules les iframes dont le src est en http ou https survivent ; srcdoc, les gestionnaires d’événements et les URL javascript: jamais. Sans liste sanitizerAllowedIframeHosts, chaque iframe conservée est placée dans un bac à sable allow-scripts allow-same-origin allow-presentation : la navigation de la fenêtre principale, les fenêtres contextuelles, les fenêtres modales et les formulaires sont refusés, et une iframe provenant de l’origine de la page elle-même perd aussi allow-same-origin. Définissez false pour supprimer toutes les iframes.
sanitizerAllowedIframeHosts[]Ne conserve que les iframes de ces hôtes et de leurs sous-domaines, par exemple ["www.youtube.com", "player.vimeo.com"]. C’est le contrôle le plus strict : définissez-le dès que vous savez quelles intégrations vous attendez.
maxUploadFileSize0Taille maximale, en octets, d’un fichier que l’éditeur insère ou envoie. La valeur par défaut, 0, signifie aucune limite. S’applique aux boîtes de dialogue d’image et de document, au collage et au glisser-déposer : au-delà de la limite, le fichier est refusé avant d’être lu, si bien que rien n’est intégré au document et rien n’est envoyé au gestionnaire d’envoi. Le message provient de text_uploadtoobig ; gérez le hook customdialog uploadtoobig pour afficher votre propre boîte de dialogue.
allowBase64ImagestrueSans gestionnaire d’envoi ni file_upload_url, une image insérée est intégrée au HTML sous forme d’URL data: en base64. Définissez false pour ne jamais intégrer : l’image est refusée avec le message text_base64disabled (hook customdialog base64disabled), et un gestionnaire d’envoi devient alors nécessaire. Core 2.6.5 et versions ultérieures.
base64ImageMaxSize204800Taille maximale, en octets, d’une image base64 après réduction (200 KB). Une image plus grande est refusée avec le message text_base64toobig (hook customdialog base64toobig). 0 signifie aucun plafond, ce qui correspond au comportement antérieur à core 2.6.5.
base64ImageShrinktrueRedimensionne et réencode dans le navigateur les images JPEG, PNG, WebP et BMP avant de les intégrer en base64. Les GIF et SVG ne sont jamais réencodés. Définissez false pour intégrer les octets d’origine lorsqu’ils tiennent sous base64ImageMaxSize. Core 2.6.5 et versions ultérieures.
base64ImageMaxDimension1600Côté le plus long, en pixels, d’une image réduite pour l’intégration en base64. Core 2.6.5 et versions ultérieures.
file_upload_urlnullURL vers laquelle l’éditeur envoie par POST les fichiers insérés, collés et déposés, en multipart/form-data. Définissez-la au lieu d’écrire un file_upload_handler. La réponse peut être le {"location": "..."} de TinyMCE, le {"url": "..."} ou le {"urls": {"default": "..."}} de CKEditor, ou READY:<url> ; {"error": {"message": "..."}} et ERROR:<message> sont des échecs, tout comme tout autre corps de réponse. Un file_upload_handler a la priorité lorsque les deux sont définis.
file_upload_fieldfileNom du champ de formulaire sous lequel le fichier est envoyé. Les points de terminaison de type CKEditor attendent upload.
file_upload_base_pathnullAjouté devant une URL relative renvoyée par le point de terminaison, pour servir les fichiers envoyés depuis un CDN.
file_upload_credentialsfalseEnvoie les cookies et l’authentification HTTP avec l’envoi, pour un point de terminaison situé sur une autre origine.
file_upload_reuse_filenamefalseEnvoie le fichier sous son nom d’origine. Par défaut, un nom unique est généré, pour que deux utilisateurs qui envoient image.png ne puissent pas s’écraser l’un l’autre.
file_upload_headersnullEn-têtes de requête supplémentaires pour l’envoi, par exemple un jeton CSRF.
automaticUploadsfalseAvec true, l’éditeur envoie sans qu’on le lui demande les images intégrées au contenu sous forme d’URL data: en base64 : après setHTMLCode, et après l’insertion ou le collage de HTML. Il exécute uploadEmbeddedImages() pour vous, avec un debounce de automaticUploadsDelay (300 ms), et ne fait rien quand aucun file_upload_handler n’est configuré.
automaticUploadsDelay300Millisecondes d’attente avant l’exécution de l’analyse automatique, pour que le collage de plusieurs images ne déclenche qu’un seul envoi.
uploadRetryCount0Tentatives supplémentaires après un envoi échoué, avant que l’erreur n’atteigne le callback de votre gestionnaire et l’utilisateur. Chaque tentative déclenche un événement uploadretry. Un envoi annulé, ou dont l’image a été supprimée, n’est jamais relancé.
uploadRetryDelay1000Millisecondes avant la première nouvelle tentative. L’attente double à chaque tentative suivante.
autoSavenullEnregistre le contenu sur votre propre serveur au fil de la saisie : { onSave: function (html) { return promise; }, interval: 2000, indicator: true, retryCount: 3, retryDelay: 5000 }. onSave est obligatoire ; renvoyer une promesse permet à l’éditeur d’indiquer si l’enregistrement a réussi. Un enregistrement échoué est relancé avec un délai qui double à chaque fois, puis de nouveau dès que le navigateur revient en ligne. Consultez les méthodes editor.autoSave pour un contrôle manuel.
editorResizeModebothboth, height ou none. Obtient ou définit le mode de redimensionnement.
toggleBordertrueIndique l’état de ToggleBorder. ToggleBorder est une fonction pratique qui permet de voir les bordures sans avoir à définir border = 1 ou quelque chose de ce genre dans le code.
showSelectedBlocktrueIndique s’il faut afficher le bloc sélectionné dans RichTextEditor.
showFloatTextToolBarfalseIndique s’il faut afficher la FloatTextToolBar définie par config.controltoolbar_TEXT.
showFloatLinkToolBarfalseIndique s’il faut afficher la FloatLinkToolBar définie par config.controltoolbar_A.
showFloatImageToolBbarfalseIndique s’il faut afficher la FloatImageToolBbar définie par config.controltoolbar_IMG.
showFloatTableToolBarfalseIndique s’il faut afficher la FloatTableToolBar définie par config.controltoolbar_TD.
showFloatParagraphtrueIndique s’il faut afficher le FloatParagraph sur le côté gauche.
floatParagraphPosleftLeft ou right. Obtient ou définit la position du FloatParagraph.
floatParagraphPosX0Un nombre qui représente la coordonnée horizontale du FloatParagraph, en pixels.
floatParagraphPosY0Un nombre qui représente la coordonnée verticale du FloatParagraph, en pixels.
showPlusButtontrueIndique s’il faut afficher le bouton plus de l’éditeur.
showTagListtrueIndique s’il faut afficher le sélecteur de balises dans la barre inférieure de l’éditeur.
showStatisticstrueIndique s’il faut afficher les statistiques du contenu dans la barre inférieure de l’éditeur.
tabSpaces4Obtient ou définit le nombre d’espaces à insérer lorsque l’utilisateur appuie sur la touche « tab ».
enterKeyTagpDétermine ce qui se passe lorsque la touche « Entrée » est pressée dans l’éditeur. div, p ou br.
htmlcode_forcehexformatfalseÉcrit les couleurs sous la forme #993300 au lieu de rgb(153, 51, 0) dans le HTML enregistré. L’éditeur transmet la couleur choisie telle quelle ; c’est le navigateur qui la normalise en rgb() lorsque le style est relu : cette option la convertit donc en sortie. S’applique aux couleurs déjà présentes dans le contenu chargé ou collé comme à celles qu’applique l’utilisateur, et couvre à la fois la couleur du texte et celle de l’arrière-plan. rgba() n’est pas modifié, car un hexadécimal à 6 chiffres ne peut pas porter son canal alpha.
paragraphClassparagraphLe nom de classe indiqué est ajouté automatiquement au paragraphe lors de la création d’un nouveau paragraphe.
insertTableTag<table></table>Attributs de tableau par défaut lors de l’insertion d’un tableau.
insertRowTag<tr></tr>Attributs de ligne par défaut lors de la création d’une ligne de tableau.
insertCellTag<td><br/></td>Attributs de cellule par défaut lors de l’insertion d’une cellule.
url_base/richtexteditorLe dossier à partir duquel l’éditeur charge ses propres fichiers : les feuilles de style du contenu et de l’aperçu, le script d’aperçu, la page d’aide et la page More du sélecteur de couleur. Depuis core 2.6.10, lorsque vous la laissez non définie, elle suit le dossier depuis lequel rte.js a été chargé : une installation sur CDN ou dans un sous-dossier ne nécessite donc aucun réglage ; auparavant, elle valait toujours /richtexteditor. Définissez-la pour servir ces fichiers depuis un autre endroit.
onready(aucune)Depuis core 2.6.10 : une fonction appelée une fois lorsque l’éditeur est construit et que son contenu initial est chargé (l’événement ready). Équivaut à editor.attachEvent("ready", fn).
pasteMode"Auto"Le traitement du contenu collé : "Auto" conserve la mise en forme et la nettoie, "PasteText" colle toujours du texte brut, "PasteWord" applique toujours le nettoyage Word, et "Disabled" refuse le collage. Ctrl+Shift+V colle du texte brut dans tous les modes sauf Disabled.
smartLinkPastetrueColler une URL alors que du texte est sélectionné transforme le texte sélectionné en lien au lieu de le remplacer.
autoLinkPastetrueDepuis core 2.6.10 : une adresse web dans du texte brut collé (https://… ou www.…) devient un lien ; la ponctuation finale reste en dehors. Ne s’applique pas avec Ctrl+Shift+V, ni dans un lien ou du code. Définissez false pour coller les adresses en texte brut.
linkDefaultProtocol"http://"Depuis core 2.6.10 : le protocole ajouté devant une adresse qui n’en a pas, comme example.com tapé dans la boîte de dialogue de lien ou une adresse www. collée. Définissez "https://" pour que les liens soient sécurisés par défaut.
pasteMarkdownfalseDepuis core 2.6.10 : avec true, du Markdown collé en texte brut (un README, une conversation, une réponse d’IA) est converti en contenu mis en forme : titres, gras, italique, liens, listes, citations et blocs de code. Le texte qui ne ressemble pas à du Markdown, Ctrl+Shift+V et les collages à l’intérieur de code restent en texte brut. Le résultat est nettoyé comme tout collage.
markdownShortcutsEnabledtrueRaccourcis de bloc Markdown tapés au début d’un paragraphe vide : # à ###### pour les titres, - / * pour les puces, 1. / 1) pour les listes numérotées (un autre nombre que 1 définit le début), > pour une citation, [ ] pour une tâche (avec le plugin de liste de tâches), ``` pour un bloc de code, et --- + Entrée pour un filet. Un seul Ctrl+Z rend les caractères tapés.
markdownInlineEnabledtrueMise en forme Markdown en ligne automatique lorsque le délimiteur fermant est tapé : **bold**, *italic*, `code`, ~~strike~~. Le texte tapé ensuite continue sans mise en forme.
contentCssUrl%url_base%/runtime/
richtexteditor_content.css
Indique l’emplacement de la feuille de style utilisée par la zone modifiable.
previewCssUrl%url_base%/runtime/
richtexteditor_preview.css
Indique l’emplacement de la feuille de style utilisée par la fenêtre d’aperçu.
previewScriptUrl%url_base%/runtime/
richtexteditor_preview.js
Indique l’emplacement du fichier JavaScript utilisé par la fenêtre d’aperçu.
contentCssText""Obtient ou définit le texte CSS en ligne utilisé par la zone modifiable. Par exemple, "body{background-color:#eee}".
previewCssText""Obtient ou définit le texte CSS en ligne utilisé par la fenêtre d’aperçu. Par exemple, "body{background-color:#eee}".
editorBodyCssClass""Obtient ou définit la classe de la zone d’édition pour changer de styles.
editorBodyCssText""Obtient ou définit le texte CSS en ligne utilisé par le body modifiable.
editablePaddingTop2Définit la marge intérieure (espace) supérieure de la zone modifiable.
editablePaddingBottom2Définit la marge intérieure (espace) inférieure de la zone modifiable.
editablePaddingLeft2Définit la marge intérieure (espace) gauche de la zone modifiable.
editablePaddingRight2Définit la marge intérieure (espace) droite de la zone modifiable.
zIndexFullPage9999Définit le z-index de l’éditeur ouvert en mode plein écran.
zIndexFloat99999Définit le z-index de la barre d’outils flottante de l’éditeur.
zIndexDialog999999Définit le z-index de la boîte de dialogue de l’éditeur.
zIndexDropDown9999999Définit le z-index de la liste déroulante de l’éditeur.
fontNameDropDownMinWidth90pxDéfinit la largeur minimale de la liste déroulante fontname.
fontNameDropDownMaxWidth110pxDéfinit la largeur maximale de la liste déroulante fontname.
tooltipAttributerte-tooltipDéfinit l’attribut de l’infobulle de l’éditeur.
showKeyboardShortcutsInTooltipstrueAffiche le raccourci clavier de chaque bouton de la barre d’outils dans son infobulle ("Bold (Ctrl+B)", ⌘ sur Mac). Le raccourci n’apparaît que dans l’infobulle : les titres des boîtes de dialogue et le nom accessible du bouton restent le simple libellé, et le bouton porte aria-keyshortcuts.
keyboardShortcutHints{ bold: "Ctrl+B", italic: "Ctrl+I", ... }Le raccourci affiché pour chaque commande, indexé par nom de commande. Ajoutez ou remplacez des entrées pour correspondre aux raccourcis que vous liez vous-même. Laissez les raccourcis en dehors des libellés text_* : un libellé sert aussi de titre de boîte de dialogue et de nom accessible, et un pack de langue le remplace.
commentMentions[]Les personnes qu’un commentaire peut mentionner, sous forme de tableau de { id, name }. Taper @ dans la zone de rédaction d’un commentaire les liste ; en choisir une insère "@Name" et enregistre la mention sur le commentaire. Vide signifie pas de liste de mentions (plugin de commentaires).
text_uilocaledéfini par chaque pack de langueLa locale du pack de langue chargé (par exemple zh-Hans, de). L’éditeur l’utilise pour nommer les langues dans le menu de langue des passages de texte et dans la liste Translate d’Ask AI, et pour écrire les pastilles de date, via l’API Intl du navigateur. Sans pack chargé, l’anglais est utilisé.
controlSelectionClassrte-control-selectedDéfinit la classe de la sélection d’un contrôle dans l’éditeur.
controlSelectionMargin7Définit la marge de la sélection d’un contrôle dans l’éditeur.
altTextHinttrueLes images sans texte alternatif, ou avec un texte alternatif vide, reçoivent un contour orange en pointillés dans la zone d’édition, pour que les auteurs voient ce qui doit encore être décrit. Uniquement dans l’éditeur ; rien n’est ajouté au HTML enregistré. Définissez false pour masquer le contour.
autoHeadingAnchorstrueDonne à chaque titre un id construit à partir de son texte ("Hello World" devient hello-world) un instant après chaque modification, pour que des liens et une table des matières puissent pointer vers lui ; un doublon reçoit -2, -3. Définissez false pour que le cœur cesse d’attribuer des id. Avec le bundle de plugins chargé, le plugin de plan du document garde alors lui-même les id des titres uniques.
autoLinkOnTypetrueUne URL ou une adresse e-mail tapée dans le texte devient un lien lorsque l’espace qui la suit est tapé. Définissez false pour laisser les adresses tapées en texte brut.
backspaceOutdenttrueRetour arrière tout au début d’un élément de liste sort cet élément de la liste sous forme de paragraphe, au lieu de le fusionner avec l’élément du dessus. Définissez false pour fusionner à la place.
blockDragHandlestrueSurvoler un bloc (paragraphe, titre, liste, tableau...) affiche une poignée de glissement à côté ; faites glisser la poignée pour déplacer le bloc. Définissez false pour masquer les poignées.
collabEnabledtruePermet au plugin de collaboration (yjscollab) de mettre en place editor.collab. Avec false, le plugin ne fait rien : il n’y a pas d'editor.collab. La collaboration ne démarre que lorsque vous appelez editor.collab.attach(...) ; cette valeur par défaut seule n’ouvre aucune connexion. Voir collaboration.
collabShowPresencetrueLorsqu’une session de collaboration est attachée, affiche le panneau qui liste les autres personnes présentes dans le document. Définissez false pour le masquer.
collabShowRemoteCursorstrueLorsqu’une session de collaboration est attachée, affiche les curseurs et les sélections des autres personnes par-dessus le texte. Définissez false pour les masquer.
collabTextSyncfalseCe que synchronise une session de collaboration en plus de la présence et du registre de relecture (plugin yjscollab) : false - pas de texte du document ; true - des instantanés de tout le document dans un texte Yjs partagé ; "crdt" - une fusion au niveau du caractère via le moteur CRDT (crdt-engine.min.js), avec repli sur les instantanés lorsque le moteur n’est pas chargé.
collabRequireCrdtfalseAvec collabTextSync: "crdt", si le moteur CRDT est absent, désactive la synchronisation du texte au lieu de se rabattre sur les instantanés (la présence et le registre de relecture restent actifs) ; la console indique pourquoi.
collabTextNamerichtextbox.bodyLe nom du texte Yjs partagé qu’utilise la synchronisation par instantanés. Donnez à chaque éditeur d’un même document Yjs son propre nom.
aiToolkitEnabledtrueLe plugin AI Toolkit. Définissez false pour le désactiver : aucun bouton, menu ni boîte de dialogue d’IA. Voir AI Toolkit.
aiToolkitResolvernullLa fonction qu’appelle l’AI Toolkit pour joindre votre service d’IA (votre propre clé ou votre propre point de terminaison) ; editor.aiToolkit.setResolver(fn) la définit à l’exécution. Sans elle, le toolkit fonctionne en mode démo. La page AI Toolkit décrit la requête et la réponse.
aiToolkitAgentnullLa fonction qu’utilise editor.aiToolkit.runAgent(prompt) pour planifier et appliquer des modifications en plusieurs étapes ; setAgent(fn) la définit à l’exécution. Sans elle, runAgent échoue avec un message qui l’indique.
aiToolkitAutoToolbarButtonstrueAjoute automatiquement les boutons d’IA aux barres d’outils. Définissez false pour placer les commandes d’IA dans votre propre chaîne de barre d’outils.
aiToolkitActions(liste intégrée)Les actions du menu IA : un tableau de { id, section, icon, title, description }. Remplacez-le pour afficher votre propre ensemble.
aiToolkitDialogModes(liste intégrée)Les modes de la boîte de dialogue Ask AI (Proofread, Rewrite, Translate...) : un tableau de { id, title, description }.
aiToolkitChatPrompts(liste intégrée)Les prompts de départ que propose AI Chat : un tableau de { id, label, prompt }.
aiToolkitTranslateLanguages(espagnol, français, allemand, italien...)Les langues que propose Translate : un tableau de { value, label }.
aiToolkitOperationHandlersLes gestionnaires des types d’opérations qu’une réponse de l’IA peut contenir, par type : { myType: function (operation, context) { ... } } ; renvoyez true lorsque le gestionnaire a appliqué l’opération. editor.aiToolkit.registerOperationHandler() en ajoute un à l’exécution.
aiToolkitPersistenceKey(vide)Une clé pour ce document. Si elle est définie, l’état de relecture IA (suggestions et décisions) est conservé dans le localStorage du navigateur sous RTE.AIToolkit.<key>, si bien qu’il survit à un rechargement ; elle identifie aussi le document auprès d'aiToolkitSuggestionLedgerUrl. Vide, rien n’est stocké.
aiToolkitReviewLogUrl(vide)Une URL de votre serveur qui reçoit chaque décision de relecture IA sous forme de POST JSON, pour un journal d’audit. Vide, rien n’est envoyé.
aiToolkitSuggestionLedgerUrl(vide)Une URL de votre serveur qui reçoit les suggestions IA du document et leurs états sous forme de POST JSON, pour qu’elles puissent être partagées ou restaurées ; nécessite aiToolkitPersistenceKey. Vide, rien n’est envoyé.
aiToolkitReviewSyncInterval15000La fréquence de synchronisation de l’état de relecture avec votre serveur, en millisecondes (au moins 5000).
collabLedgerMapNamereviewLedgerLe nom de la map Yjs partagée qui transporte les commentaires, les suggestions et les décisions de relecture IA entre les pairs.
onCollabStatusnullAppelée avec { attached, textSyncMode, requestedTextSync, fallbackReason, yjsBridge, peerCount } au démarrage d’une session, pour que vous puissiez indiquer le mode en vigueur (par exemple un repli du CRDT vers les instantanés). Le même objet est renvoyé par editor.collab.getStatus().
imageHoverQuickBartrueSurvoler une image dans l’éditeur affiche par-dessus une petite barre d’actions sur l’image. Définissez false pour la masquer.
imageLazyLoadtrueLes images que l’éditeur insère (depuis une URL, un envoi ou un dépôt) reçoivent loading="lazy" et decoding="async", pour qu’un long document ne charge pas toutes les images d’un coup. Définissez false pour insérer les images sans ces attributs.
indentUseMargintrueAugmenter et diminuer le retrait d’un paragraphe ou d’un titre modifie sa marge, comme dans Word (margin-left pour un texte de gauche à droite). Définissez false pour modifier plutôt sa marge intérieure. Le pas est indentation.
inlineMathtruePermet à editor.applyMathMarkup() d’envelopper les passages $...$ dans <span class="rte-math-inline" data-tex="...">, pour qu’un moteur de rendu mathématique comme KaTeX ou MathJax les dessine. Rien ne se passe tant que vous ne l’appelez pas. Avec false, l’appel ne change rien.
placeholderShowOnlyWhenEditabletrueMasque le placeholder lorsque l’éditeur est en lecture seule (readOnly ou setReadOnly(true)) ou en mode commentaires uniquement, et l’affiche de nouveau lorsque l’édition est autorisée. Définissez false pour l’afficher aussi dans un éditeur en lecture seule. (En 2.6.11 et versions antérieures, un éditeur en lecture seule l’affichait toujours.)
showFloatLinkUrlPreviewtrueLorsque le curseur se trouve dans un lien, la barre d’outils flottante de lien commence par l’adresse du lien, qui s’ouvre dans un nouvel onglet au clic. Définissez false pour n’afficher que les boutons de la barre d’outils.
smartPasteToasttrueAprès le nettoyage d’un collage depuis Word ou Google Docs, un court avis le signale. Définissez false pour nettoyer sans rien signaler.
tableColumnResizetruePointer la bordure entre deux colonnes de tableau affiche un indicateur de redimensionnement ; faites-le glisser pour changer la largeur de la colonne. Définissez false pour désactiver le redimensionnement des colonnes par glissement.
tableRowResizetruePointer le bord inférieur d’une ligne de tableau affiche un indicateur de redimensionnement ; faites-le glisser pour changer la hauteur de la ligne. Définissez false pour désactiver le redimensionnement des lignes par glissement.
aiContextMenutrueAvec l’AI Toolkit chargé, un clic droit sur du texte sélectionné (trois caractères ou plus) ouvre un menu d’actions IA sur ce texte. Définissez false pour garder le menu propre au navigateur.
wordExportFileName(aucune)Nom de fichier de base pour editor.exportToWord() (un .doc compatible Word) lorsqu’aucun nom n’est transmis. Non défini, c’est le texte du premier titre h1-h3 qui est utilisé, ou "document".
wordExportFontFamilyCalibri, 'Segoe UI', Arial, sans-serifPolice du corps de l’export .doc. Une option transmise à exportToWord() l’emporte.
wordExportFontSize11ptTaille de police du corps de l’export .doc.
wordExportPageSize8.5in 11inFormat de page de l’export .doc, sous forme de taille CSS @page (US Letter par défaut ; "21cm 29.7cm" pour l’A4). Une mise en page déjà portée par le document (affichage paginé) a la priorité.
wordExportMargin1inMarges de page de l’export .doc, sous forme de longueur CSS ou de notation abrégée. Une mise en page portée par le document a la priorité.
wordExportLandscapefalsePages en paysage dans l’export .doc. Une mise en page portée par le document a la priorité.
docxExportFileName(aucune)Nom de fichier de base de l’export .docx lorsqu’aucun nom n’est transmis. Non défini, c’est Export- suivi de la date et de l’heure (YYMMDD-HHMMSS, par exemple Export-261026-153045.docx).
docxExportTitle(aucune)Le titre enregistré dans les propriétés du fichier .docx. Non défini, le document.title de la page, ou "Document".
docxExportAuthorRichTextEditorL’auteur enregistré dans les propriétés du fichier .docx.
pdfExportFileName(aucune)Nom de fichier de base de l’export PDF lorsqu’aucun nom n’est transmis. Non défini, c’est Export- suivi de la date et de l’heure (YYMMDD-HHMMSS).
pdfExportTitle(aucune)Le titre enregistré dans les métadonnées du PDF. Non défini, le document.title de la page, ou "Document".
pdfExportAuthor(vide)L’auteur enregistré dans les métadonnées du PDF.
pdfExportFonthelveticaLa police de l’export PDF vectoriel (plugin pdfexport) : "helvetica", "times" ou "courier", les polices PDF standard, qui n’ont pas besoin d’être intégrées. Elles ne couvrent que le latin d’Europe occidentale ; voir pdfExportRasterFallback.
pdfExportBaseFontSize11La taille du texte courant du PDF vectoriel, en points ; les titres sont proportionnés à partir de cette valeur.
pdfExportHeader(aucune)Texte brut centré en haut de chaque page du PDF vectoriel ; {page} et {total} deviennent le numéro de page et le nombre de pages. Non défini, le texte de l’en-tête de page du document (affichage paginé), s’il y en a un.
pdfExportFooter(aucune)Texte brut centré en bas de chaque page, avec les mêmes {page} et {total}.
pdfExportRasterFallbacktrueLorsqu’un document contient des caractères que le PDF vectoriel ne peut pas encoder (tout ce qui sort du latin d’Europe occidentale : chinois, japonais, coréen, cyrillique, grec, arabe...), exportToPdf() et le bouton Export PDF de la barre d’outils utilisent à la place l’export raster html2pdf, qui dessine toutes les écritures, et le signalent dans la console. editor.getPdfUnsupportedText() liste ces caractères. Définissez false pour toujours écrire le PDF vectoriel ; ces caractères s’impriment alors sous la forme "?". En 2.6.11 et versions antérieures, ils s’imprimaient toujours sous la forme "?".
pdfExportUnicodeFont(aucune)Les octets d’une police TrueType (.ttf, sous forme d’ArrayBuffer ou d’Uint8Array) pour le texte que les polices standard ne peuvent pas dessiner : chinois, japonais, coréen, cyrillique, grec... Avec elle, le PDF vectoriel intègre les glyphes qu’utilise le document (quelques centaines de Ko, même à partir d’une grande police CJK), et ce texte reste sélectionnable et consultable par recherche ; sans elle, voir pdfExportRasterFallback. editor.loadPdfFont(url) récupère une police que vous servez et définit cette option ; rien n’est récupéré tant que vous ne l’appelez pas. Les fichiers CFF (.otf) et les collections (.ttc) sont refusés avec un message dans la console.
mentionTrigger@Le caractère qui ouvre la liste des mentions (plugin mentions). La liste ne fonctionne qu’une fois mentionStaticList ou mentionSource défini.
mentionStaticListnullUne liste fixe de personnes pour le déclencheur par défaut : un tableau de { id, label (or name), subtitle (or email) }. Ce qui est tapé après le déclencheur la filtre sur le libellé, le sous-titre et l’id, sans tenir compte de la casse ; si rien n’est tapé, les 50 premières s’affichent.
mentionSourcenullUne fonction qui fournit la liste pour le déclencheur par défaut : (query, { trigger }) => un tableau d’éléments, ou une Promise qui en renvoie un. A la priorité sur mentionStaticList. Pour d’autres déclencheurs, utilisez mentionTriggers ou editor.mentions.register().
mentionTriggersnullDes déclencheurs supplémentaires, chacun de la forme { trigger, source (or search), insertClass, label, renderItem, renderInsert }, par exemple # pour des tags. Les callbacks search(query, done) et les fonctions asynchrones sont acceptés. Un déclencheur qui n’a ni source ni search est ignoré, avec un avertissement dans la console.
mentionMaxItems8Le nombre maximal de résultats affichés par la liste.
mentionDebounceMs150La durée de pause de la saisie, en millisecondes, avant que la source ne soit de nouveau interrogée. Juste après le déclencheur (rien n’étant encore tapé), elle est interrogée immédiatement.
mentionInsertClassrte-mentionLa classe de l’élément de mention inséré. Un déclencheur peut définir son propre insertClass.
slashCommandTrigger/La touche qui ouvre le menu des commandes slash (plugin slash command), tapée en début de ligne ou après une espace, et jamais à l’intérieur de code ou de pre.
slashCommandMaxItems40Le nombre maximal de commandes que le menu slash liste à la fois.
documentOutlineEnabledtrueLe panneau de plan du document (plugin documentoutline) : la liste des titres du document, pour passer de l’un à l’autre. Définissez false pour n’avoir ni bouton Outline dans la barre d’outils ni panneau.
documentOutlineAutoOpenfalseOuvre le panneau de plan au démarrage de l’éditeur.
documentOutlineMinLevel1Le niveau de titre le plus élevé que liste le plan (1 à 6).
documentOutlineMaxLevel6Le niveau de titre le plus bas que liste le plan (1 à 6, pas au-dessus de documentOutlineMinLevel).
documentOutlineTitle"Outline" (translated)Le titre et le nom accessible du panneau. Non défini, c’est le texte du pack de langue qui est utilisé.
documentOutlineHint(texte traduit)La ligne sous le titre du panneau.
documentOutlineEmptyText(texte traduit)Ce qu’indique le panneau lorsque le document n’a pas de titres.
contentMinimapEnabledtrueLe panneau de minimap (plugin contentminimap) : un petit aperçu de tout le document, sur lequel cliquer pour s’y rendre. Définissez false pour n’avoir ni bouton Minimap dans la barre d’outils ni panneau.
contentMinimapAutoOpenfalseOuvre le panneau de minimap au démarrage de l’éditeur.
contentMinimapWidth168La largeur du panneau en pixels (au moins 148).
contentMinimapScale0.14L’échelle à laquelle l’aperçu dessine le document (0.14 = 14% de sa taille).
contentMinimapTitle"Minimap" (translated)Le titre et le nom accessible du panneau.
contentMinimapHint(texte traduit)La ligne sous le titre du panneau.
contentMinimapEmptyText(texte traduit)Ce qu’indique le panneau tant que le document est vide.
accessibilityCheckerEnabledtrueLe panneau du vérificateur d’accessibilité (plugin accessibilitychecker), qui liste des problèmes comme les niveaux de titre sautés, les images sans texte alternatif et les tableaux sans en-têtes, avec des réparations. Définissez false pour n’avoir ni bouton dans la barre d’outils ni panneau.
accessibilityCheckerAutoOpenfalseOuvre le panneau du vérificateur d’accessibilité au démarrage de l’éditeur.
accessibilityCheckerTitle"Accessibility" (translated)Le titre et le nom accessible du panneau.
accessibilityCheckerHint(texte traduit)La ligne sous le titre du panneau.
accessibilityCheckerEmptyText(texte traduit)Ce qu’indique le panneau lorsqu’il ne trouve aucun problème.
contentAriaLabel(aucune)Le nom accessible de la zone d’édition et le titre du cadre de l’éditeur (plugin a11yenhance), suivis de l’indication sur la touche Échap, par exemple "Article body Press Escape to leave the editing area.". Non défini, c’est le "Rich text editor. Editing area." du pack de langue. Donnez à chaque éditeur d’une page son propre nom.
contentLabel(aucune)Utilisé comme contentAriaLabel lorsque celui-ci n’est pas défini.
a11yEditorLabel(aucune)Utilisé comme nom de la zone d’édition lorsque ni contentAriaLabel ni contentLabel ne sont définis (plugin keyboarda11y). En 2.6.11 et versions antérieures, il était sans effet lorsque le bundle de plugins était chargé.
a11yEscapeHint"Press Escape to leave the editing area." (traduit)Les mots ajoutés après le nom de la zone d’édition, qui indiquent aux utilisateurs du clavier comment quitter l’éditeur.
contentLang(le lang de la page)Le lang du document d’édition, pour la vérification orthographique et la prononciation des lecteurs d’écran. Non défini, il suit le <html lang> de la page hôte, ou en.
a11yReadOnlySuffix"Read only."Ce qui est annoncé aux lecteurs d’écran lorsque l’éditeur passe en lecture seule.
a11yEditableAgain"Editing enabled."Ce qui est annoncé aux lecteurs d’écran lorsque l’éditeur quitte la lecture seule.
a11yRovingToolbartrueLa barre d’outils est un seul arrêt de tabulation, et les touches fléchées passent d’un bouton à l’autre (le modèle de barre d’outils ARIA). Définissez false pour que chaque bouton soit son propre arrêt de tabulation.
commentHighlightBg#fff9c4Couleur d’arrière-plan du texte commenté (plugin comments).
commentHighlightBorder#f9a825Couleur de la ligne sous le texte commenté.
trackChangesInsertClassrte-tc rte-tc-insertClasse de l’élément qui enveloppe une insertion suggérée (mode suggestion). Modifiez-la pour styliser les suggestions à votre façon.
trackChangesDeleteClassrte-tc rte-tc-deleteClasse de l’élément qui enveloppe une suppression suggérée.
onReviewDecisionDeniednullAppelée avec { entry, action, user } lorsque reviewCanDecide refuse l’acceptation ou le rejet de quelqu’un, pour que vous puissiez lui expliquer pourquoi.
reviewCanDecidenullUne fonction (entry, action, user, editor) qui décide si cet utilisateur peut accepter ou rejeter une suggestion ; renvoyez false pour refuser. Si elle lève une exception, la décision est refusée.
restrictedEditingModefalseVerrouille le document, sauf les zones marquées data-rte-editable="true" (plugin d’édition restreinte), comme un formulaire Word avec des champs à remplir. editor.restrictedEditing marque les zones, active et désactive le verrouillage, et passe d’une zone à l’autre.
pageHeaderHtml(vide)HTML répété en haut de chaque page en affichage paginé (plugin pagination) ; {page} et {total} deviennent le numéro de page et le nombre de pages. Un en-tête défini dans la mise en page du document a la priorité.
pageFooterHtml(vide)HTML répété en bas de chaque page en affichage paginé, avec les mêmes {page} et {total}.
readabilityWordsPerMinute200Vitesse de lecture utilisée pour l’estimation du temps de lecture (plugin de statistiques de lisibilité).
maxLength0Le nombre maximal de caractères que peut contenir le document (plugin de limite de caractères) ; 0 signifie aucune limite.
maxWords0Le nombre maximal de mots que peut contenir le document ; 0 signifie aucune limite.
charLimitEnforcetrueEmpêche la saisie et le collage au-delà de maxLength / maxWords. Définissez false pour seulement compter et signaler (editor.isOverLimit(), l’événement charlimit).
charLimitShowCountertrueAffiche le compteur flottant lorsqu’une limite est définie.
sanitizerAllowTags[]Noms d’éléments supplémentaires que conserve le filtre de nettoyage du contenu (plugin sanitizer) : noms exacts, caractères génériques "x-*" ou expressions régulières, par exemple ["custom-el", "x-*", /^ui-/]. Les éléments script et les autres éléments exécutables ne sont jamais conservés.
sanitizerAllowAttributes[]Noms d’attributs supplémentaires que conserve le filtre de nettoyage, sous les mêmes formes, par exemple ["data-cms-*"]. Les attributs de gestionnaires d’événements (on*) ne sont jamais conservés.
sanitizerAllowStyleTagsfalseConserve les blocs <style> dans le contenu. Désactivé par défaut : un bloc de style dans un document modifie le style de la page sur laquelle il est affiché.
sanitizerGuardLiveDomtrueSurveille aussi la zone d’édition elle-même et la nettoie de nouveau lorsque du contenu exécutable y apparaît par n’importe quelle voie - scripts, attributs on*, URL javascript: - et pas seulement par le collage et setHTMLCode() : contenu arrivant par la synchronisation collaborative, par un autre script de la page ou par une extension du navigateur. Définissez false pour ne nettoyer que ce qui passe par les voies propres à l’éditeur. Le filtre de nettoyage s’exécute dans le navigateur ; vérifiez aussi le contenu sur votre serveur.
documentImportModereplaceL’effet de l’import d’un fichier (plugin document import) : "replace" remplace le document, "insert" insère à l’emplacement du curseur. Le remplacement constitue une seule étape d’annulation.
documentImportAccept.md,.markdown,.html,.htm,.txt,.doc,.docxLes types de fichiers que propose la boîte de dialogue d’import.
documentImportImagestrueImporte les images contenues dans un .docx importé, sous forme d’URI data. Définissez false pour les ignorer dans les fichiers riches en images.
documentImportResolver(aucune)Une fonction (file) => HTML (ou une Promise qui le renvoie) qui convertit vous-même un fichier, par exemple sur votre serveur. Renvoyez une chaîne pour prendre la main ; tout autre résultat, ou une Promise rejetée, se rabat sur le lecteur intégré.
dictationEnabledfalseActive la dictée (plugin dictation) : la parole est tapée dans le document via la reconnaissance vocale du navigateur (Web Speech API). Désactivée par défaut. Dans certains navigateurs, comme Chrome, la reconnaissance s’exécute sur les serveurs de l’éditeur du navigateur : l’audio quitte donc l’appareil de l’utilisateur ; vérifiez que c’est acceptable avant de l’activer.
dictationLang(la langue du navigateur)La langue à reconnaître, sous forme de balise BCP-47 comme en-US. Non défini, navigator.language.
dictationContinuoustrueContinue l’écoute pendant les pauses. Définissez false pour s’arrêter après un seul énoncé.
dictationInterimResultstrueAffiche la transcription partielle pendant que l’utilisateur parle encore.
dictationAutoPunctuationtrueMet une majuscule à la première lettre de chaque phrase dictée et la termine par un point lorsqu’elle n’a pas de ponctuation propre.
commentsEnabledtrueLe plugin comments (commentaires en ligne, réponses, résolution). Définissez false pour le désactiver.
trackChangesEnabledtrueLe plugin de suivi des modifications (mode suggestion, acceptation et rejet). Définissez false pour le désactiver.
currentUsernull{ id, name, color } - la personne qui édite. Les commentaires, les suggestions, l’historique des révisions et la collaboration enregistrent cette personne comme auteur ; définissez-la dès que vous connaissez l’utilisateur.
mentionEnabledtrueLe plugin mentions. Définissez false pour le désactiver. Les mentions n’apparaissent qu’une fois une source définie (mentionStaticList, mentionSource ou mentionTriggers).
slashCommandEnabledtrueLe menu des commandes slash (plugin slash command). Définissez false pour le désactiver.
slashCommandIncludeAitrueListe les actions de l’AI Toolkit dans le menu slash lorsque l’AI Toolkit est chargé. Définissez false pour les exclure.
slashCommandsnullCommandes supplémentaires pour le menu slash, enregistrées au démarrage : un tableau de { id, section, title, description, keywords, iconSvg, run }, comme celui que prend editor.slashCommands.register().
galleryEndpoint(aucune)Une URL à laquelle la boîte de dialogue de la galerie demande les dossiers et les images (plugin insertgallery). Elle renvoie { currentFolder, currentFolderDisplay, parentFolder, folders: [{ folder, name }], images: [{ url, name, folder, size, source, alt }] }. Non définie, la galerie n’affiche que galleryImages et n’effectue aucune requête.
nodeTypesEnabledtrueLe registre des types de nœuds personnalisés (plugin nodetypes). Définissez false pour le désactiver.
nodeTypes(aucune)Les types de nœuds à enregistrer au démarrage, sous la forme que prend editor.nodeTypes.register() : { name, match, inline, atomic, toJSON, fromJSON, toMarkdown }. Un élément enregistré conserve son balisage à travers le filtre de nettoyage et reçoit une forme Markdown que vous choisissez, au lieu de se réduire à son texte.
rubyAnnotationEnabledtrueAnnotations ruby (plugin rubyannotation) : des guides de lecture au-dessus du texte d’Asie orientale, écrits sous la forme <ruby> avec <rt>. Définissez false pour les désactiver.
rubyAnnotationParenthesestrueÉcrit des parenthèses <rp> autour de chaque lecture, pour qu’un lecteur sans prise en charge du ruby affiche "base(reading)" au lieu d’accoler les deux.
stateInspectorEnabledtrueL’inspecteur d’état (plugin stateinspector) : un panneau pour développeurs qui montre la structure du document, ses problèmes structurels et un instantané copiable pour les rapports de bug. Définissez false pour le désactiver.
stateInspectorToolbarButtonfalseAjoute un bouton de barre d’outils qui ouvre l’inspecteur d’état. Désactivé par défaut ; ouvrez-le avec editor.stateInspector.open().
stateInspectorAutoOpenfalseOuvre l’inspecteur d’état au démarrage de l’éditeur.
stateInspectorLogLimit60Le nombre d’événements récents de l’éditeur que conserve l’inspecteur (10 à 500).
stateInspectorMaxDepth24La profondeur jusqu’à laquelle l’inspecteur parcourt l’arbre du document (au moins 2).
stateInspectorTitleState inspectorLe titre du panneau.
stateInspectorHint(text)La ligne sous le titre du panneau.
stateInspectorEmptyTextNo content to inspect yet.Ce qu’indique le panneau tant que le document est vide.
NomValeur par défautDescription
paragraphItemsNormal,H1,H2,H3,H4,H5,H6Un ensemble prédéfini de formats de bloc.
fontSizeItems8,9,10,11,12,13,14,16,
18,24,36,48,60,72,96
Un ensemble prédéfini de tailles de police.
fontNameItemsArial,Arial Black,Comic Sans MS,
Courier New,Tahoma,Georgia,Helvetica,
Segoe UI,Sans-Serif,Impact,
Times New Roman,Verdana
Un ensemble prédéfini de noms de police.
lineHeightItems100%,150%,200%,250%,300%,
350%,400%,450%,500%,600%
Un ensemble prédéfini de valeurs d’interligne.
inlineStyles[["Red", "color:red", "color:red"],
["Bold", "font-weight:bold", "font-weight:bold"],
["Mark", "my-cls-mark"],
["Warning", "my-cls-warning"]]
Styles CSS par défaut de la liste déroulante des styles en ligne.
[texte, style css, style d’affichage]
paragraphStyles[["Red", "color:red"],
["Bold", "font-weight:bold"],
["Quote", "my-cls-quote"],
["Large Center", "my-cls-largecenter"]]
Styles CSS par défaut de la liste déroulante des styles de paragraphe.
[texte, style css, style d’affichage]
imageStyles[["Border", "border:solid 1px gray"],
["Shadow", "box-shadow:0 0 8px gray"],
["Margin10", "margin:10px"],
["Padding:10", "padding:10px"]]
Styles CSS par défaut de la liste déroulante des styles d’image.
[texte, style css]
linkStyles[["Margin10", "margin:10px"],
["Padding:10", "padding:10px"],
["BigText", "font-size:36px"]]
Styles CSS par défaut de la liste déroulante des styles de lien.
[texte, style css]
galleryImages[]Images prédéfinies pour la boîte de dialogue de la galerie : une URL, [url, text] ou { url, name, alt }. Vide par défaut (jusqu’à la version 2.6.11, elle listait six images d’exemple sur richtexteditor.com, récupérées depuis notre serveur à chaque ouverture de la galerie). Voir galerie d’images.
htmlTemplates[]Les modèles que propose la boîte de dialogue Insert Template : [title, html] ou { title, html, description }. Vide par défaut (jusqu’à la version 2.6.11, deux modèles de démonstration portant tous deux le nom "My Doc 1" étaient fournis) ; sans modèle, la boîte de dialogue l’indique.
characterItemsUn ensemble prédéfini de caractères.
foreColorItemsUn ensemble prédéfini de couleurs de texte.
backColorItemsUn ensemble prédéfini de couleurs d’arrière-plan.
linkItems[]Les adresses que suggère la boîte de dialogue Insert Link, par exemple ["/about", "/contact"]. Vide par défaut (jusqu’à la version 2.6.11, elle suggérait cinq sites de grandes entreprises) ; sans élément, la flèche de suggestion est masquée.
imageItems[]Les adresses que suggère la boîte de dialogue Insert Image (par URL). Vide par défaut ; sans élément, la flèche est masquée.

Options des plugins

Les options ci-dessus configurent le cœur de l’éditeur. Tout ce qui suit est apporté par les plugins fournis dans richtexteditor/plugins/. Définissez-les de la même façon — dans l’objet d’options du constructeur, ou globalement sur RTE_DefaultConfig avant la création d’un éditeur.

Aperçu des builds compilés depuis les sources : nouvelles options de plugins

Ces options existent dans les plugins actuels compilés depuis les sources, mais ne sont pas incluses dans tous les bundles publiés ni dans les ressources de démo actuelles de ce site. Utilisez un build de plugins testé et assorti ; définir une option n’ajoute pas une fonctionnalité manquante à un runtime plus ancien.

OptionValeur par défautDescription
aiToolkitImageResolvernullBuilds avec génération d’images : (prompt: string) => Promise<string>. Votre résolveur renvoie une URL d’image HTTPS ou une URL data d’image PNG/JPEG/WebP/GIF, d’au plus 6,000,000 caractères. Le plugin n’appelle aucun fournisseur de lui-même. Gardez les identifiants du fournisseur sur votre serveur ; appliquez votre politique d’envoi et de stockage avant d’enregistrer les images générées.
galleryAcceptedExtensionsnullBuilds avec galerie : un tableau comme [".jpg", ".png"] qui remplace les formats qu’indique et qu’autorise la boîte de dialogue Insert Gallery. Réglez-le sur ce qu’accepte votre point de terminaison d’envoi.
commentMentions[]Builds avec mentions dans les commentaires : [{ id, name }] fournit les personnes suggérées après @ dans la zone de rédaction des commentaires. L’id et le nom de la personne choisie sont conservés avec le commentaire. C’est une liste de suggestions, et non une autorisation ni un service de notification ou d’e-mail ; votre application doit fournir ces fonctions séparément.
tableRowDragtrueBuilds avec glissement des lignes : définissez false avant de créer l’éditeur pour masquer les poignées de glissement des lignes. Les lignes d’en-tête restent fixes. Les tableaux fusionnés ou irréguliers, le contenu en lecture seule ou en mode commentaires uniquement et le mode suggestion refusent les déplacements non pris en charge ; un déplacement de ligne n’est pas enregistré comme suggestion. Échap annule un glissement.
tableColumnDragtrueBuilds avec glissement des colonnes : définissez false avant de créer l’éditeur pour masquer les poignées de glissement des colonnes. Déplace les cellules de toutes les lignes avec la largeur de la colonne ; une colonne de numéros de ligne reste en première position. Les tableaux fusionnés ou irréguliers et le mode lecture seule, commentaires uniquement ou suggestion refusent les déplacements non pris en charge. Échap annule un glissement.

IA

Toutes les interfaces IA fonctionnent avec votre propre clé : l’éditeur appelle une fonction que vous fournissez et ne communique jamais lui-même avec un fournisseur.

OptionValeur par défautDescription
ghostTextfalseActive la complétion en ligne en texte gris. Tab accepte, Échap ignore.
ghostTextResolvernullasync ({ before }) => string. Nécessaire pour que ghostText fasse quoi que ce soit.
aiToolkitReviewLegacyLayouttrueUtilise l’ancienne disposition du panneau AI Review.
aitoolkit_skip_auto_csstrueDésactive l’injection automatique de la feuille de style de l’AI Toolkit lorsque vous fournissez la vôtre.

Aides à la saisie et à la rédaction

Comportements qui se déclenchent pendant la saisie de l’auteur. Tous peuvent être désactivés individuellement.

OptionValeur par défautDescription
autocorrectEnabledtrueInterrupteur général du plugin de correction automatique. Il ne désactive pas la typographie intelligente du cœur de l’éditeur - voir smartTypography.
autocorrectCapitalizetrueMet une majuscule à la première lettre d’une phrase.
autocorrectSpellingtrueApplique la liste intégrée des fautes d’orthographe courantes.
autocorrectTypographytrueGuillemets typographiques, tirets et points de suspension produits par le plugin de correction automatique. Le cœur de l’éditeur effectue les mêmes substitutions de lui-même ; pour les arrêter, définissez smartTypography sur false.
autocorrectReplacementsnullVotre propre table de remplacements { from: to }, fusionnée avec celle intégrée.
emojiAutocompleteEnabledtrueTapez :shortcode: pour insérer un emoji.
emojiShortcodes{ … }Redéfinit ou complète la table des codes courts vers les emojis.
foldHeadingsEnabledtrueTitres repliables dans la surface d’édition.
typewriterModeEnabledfalseGarde la ligne du curseur ancrée verticalement pendant la saisie.
typewriterAnchor0.5La position de la ligne du curseur, de 0 (en haut) à 1 (en bas).
focusModeEnabledfalseEstompe tous les blocs sauf celui qui contient le curseur.
dragHandleEnabledtrueAffiche la poignée de glissement des blocs dans la marge.
dragHandleKeyboardtrueAutorise la réorganisation des blocs au clavier (Alt+Up / Alt+Down).
formattingMarkPilcrowtrueAffiche les pieds-de-mouche lorsque les marques de mise en forme sont activées.
formattingMarkBlockstrueDessine le contour des blocs lorsque les marques de mise en forme sont activées.
formattingMarkInvisiblestrueRévèle les espaces, les tabulations et les espaces insécables.
permanentPenClass"rte-pen"Classe appliquée au texte du stylo permanent.
permanentPenStyle{ … }Objet de style en ligne pour le texte du stylo permanent.
titleCaseSmallWords"a an and as at …"Les mots laissés en minuscules par Change Case → Title Case.
formatPainterProperties[ … ]Les propriétés CSS que copie l’outil de reproduction de la mise en forme.
readabilityStatstrueAffiche les statistiques de facilité de lecture dans la barre d’état.
localDraftfalseConserve un brouillon local pour que le contenu survive à un rechargement accidentel.

Blocs, structure et renvois

Contenu structurel : encadrés, colonnes, listes numérotées, notes de bas de page, renvois et table des matières.

OptionValeur par défautDescription
text_inlinecode"Inline code"Libellé et infobulle du bouton de code en ligne dans la barre d’outils (commande "inlinecode", qui émet un simple élément <code>).
calloutTypes[ … ]Les types d’encadrés disponibles (info, warning, …).
calloutDefaultType"info"Le type d’encadré inséré lorsqu’aucun n’est choisi.
columnsDefaultCount2Les colonnes créées par le bloc de colonnes.
legalListClass"rte-legal-list"Classe appliquée aux listes juridiques à plusieurs niveaux.
legalListSeparator"."Séparateur entre les numéros de niveau (1.1.1).
legalListSuffix"."Caractère final après le dernier niveau.
lineNumberStart1Premier numéro de ligne.
lineNumberInterval1Affiche un numéro de ligne toutes les N lignes.
lineNumberRestart"continuous""continuous" ou redémarrage à chaque page.
lineNumberGutter38Largeur de la marge, en pixels.
footnotesTitle"Footnotes"Titre affiché au-dessus de la liste des notes de bas de page.
footnotesNumbering"decimal"Style de marqueur pour la numérotation des notes.
footnotesMarkerPrefix""Texte avant chaque appel de note.
footnotesMarkerSuffix""Texte après chaque appel de note.
crossRefFigureLabel"Figure"Libellé utilisé pour renvoyer à une figure.
crossRefTableLabel"Table"Libellé utilisé pour renvoyer à un tableau.
crossRefMissingText"[reference not found]"Affiché lorsque la cible d’un renvoi a disparu.
tocTitle"Contents"Titre de la table des matières générée.
tocMinLevel1Niveau de titre le plus élevé inclus.
tocMaxLevel3Niveau de titre le plus bas inclus.
tocPageNumbers"auto"Affiche les numéros de page dans la table des matières.
mathDialogSamples[ … ]Équations de départ proposées dans la boîte de dialogue d’équation.
tableNumberSeries"numeric"Série de numérotation pour les numéros de ligne des tableaux.
tableNumberHeader"#"Texte d’en-tête de la colonne des numéros de ligne.

Mise en page, export et import

Tout ce qui transforme le document en fichier ou en page imprimée. L’export s’exécute dans le navigateur ; rien n’est envoyé.

OptionValeur par défautDescription
paginationEnabledfalseAffiche le document sous forme de pages distinctes.
pageFormat"A4"Format de page utilisé par la pagination et l’export.
pageOrientation"portrait""portrait" ou "landscape".
pageMargins{ top: 1, right: 1, bottom: 1, left: 1 }Marges, en pouces.
paginationShowPageNumberstrueAffiche les numéros de page dans l’affichage paginé.
paginationShowPageCounttrueAffiche « sur N » à côté des numéros de page.
docxExporttrueActive l’export .docx (généré dans le navigateur, sans serveur).
wordExporttrueActive l’export HTML compatible Word.
documentImporttrueActive l’import .docx.
pdfExporttrueActive l’export PDF vectoriel balisé.
html2pdfScriptUrlnullChemin vers html2pdf pour la voie PDF raster ; omettez-le pour ne garder que la voie vectorielle.
markdownExportEnabledtrueActive Copier / Télécharger au format Markdown.
emailWrapWidth640Largeur de tableau utilisée par l’export HTML pour e-mail.
emailInlineProperties[ … ]Propriétés CSS intégrées en ligne aux éléments pour les clients de messagerie.
watermarkText"DRAFT"Texte du filigrane.
watermarkImagenullFiligrane image ; remplace le filigrane texte.
watermarkMode"tile""tile" ou une seule marque centrée.
watermarkOpacity0.18Opacité du filigrane, de 0 à 1.
watermarkAngle-30Rotation, en degrés.
watermarkColor"#94a3b8"Couleur du filigrane.
watermarkFontSize48Taille de police du filigrane, en pixels.
watermarkPrintfalseInclut le filigrane à l’impression.

Les résolveurs vous permettent de fournir votre propre source de données. Chacun est une simple fonction : votre point de terminaison et vos identifiants restent donc les vôtres.

OptionValeur par défautDescription
autoEmbedEnabledtrueTransforme une URL YouTube ou Vimeo collée en intégration responsive.
autoEmbedResolvernull(url) => URL d’intégration https, ou null pour refuser. Ajoutez vos propres fournisseurs.
bookmarkResolvernull(url) => métadonnées pour les cartes d’aperçu de lien.
bookmarkFaviconService"/favicon-proxy?domain="Point de terminaison des favicons pour les cartes de signets. Faites-le pointer vers votre propre proxy.
diagramResolvernullFournissez un moteur de rendu Mermaid ; aucun n’est inclus.
diagramSamples[ … ]Diagrammes de départ proposés dans la boîte de dialogue d’insertion.
drawingWidth640Plugin de dessin (drawing.js, prochaine version) : largeur du canvas en pixels CSS.
drawingHeight360Plugin de dessin (prochaine version) : hauteur du canvas en pixels CSS.
drawingColors[6 colours]Plugin de dessin (prochaine version) : les échantillons de couleur proposés pour le stylo et le surligneur.
text_insertdrawing"Drawing"Plugin de dessin (prochaine version) : libellé du bouton insertdrawing dans la barre d’outils.
chipResolvernull(query) => éléments de pastilles intelligentes.
chipDateFormatnullChaîne de format pour les pastilles de date.
mergeFields[ … ]Champs de fusion disponibles.
mergeFieldPrefix"{{"Délimiteur ouvrant.
mergeFieldSuffix"}}"Délimiteur fermant.
mergeFieldMissing"placeholder"Ce qu’il faut afficher lorsqu’un champ n’a pas de valeur.

Langue, direction et accessibilité

L’éditeur est fourni en 67 langues. La direction et le comportement d’accessibilité se configurent en plus.

OptionValeur par défautDescription
defaultTextDirectionnull"ltr", "rtl", ou null pour hériter.
textDirectionAutoDetectfalseDétecte la direction à partir du texte en cours de saisie.
textDirectionSwapAligntrueInverse l’alignement lorsque la direction change.
rtlUserInterface"auto"Inverse la barre d’outils et les boîtes de dialogue pour les locales RTL.
a11yEnhancetrueNoms et rôles accessibles sur l’interface de l’éditeur.
dialogA11ytruePiégeage du focus et étiquetage dans les boîtes de dialogue.
keyboardA11ytrueTabindex itinérant sur les barres d’outils, pour que Tab permette de sortir de l’éditeur.
readAloudRate1.0Débit de parole pour la lecture à voix haute.
readAloudHighlighttrueMet en évidence le texte à mesure qu’il est prononcé.
textPartLanguages24 languagesLes langues proposées par la liste déroulante Language : [{ code, label, dir }]. WCAG 3.1.2.
textPartLanguageHighlighttrueSoulignement en pointillés des expressions marquées pendant l’édition. Uniquement dans l’éditeur ; jamais sérialisé.

Surface d’édition et zones

Atteindre les positions qui n’ont aucun nœud pouvant contenir un curseur, et piloter plusieurs zones modifiables depuis une seule barre d’outils.

OptionValeur par défautDescription
gapCursorKeystrueFlèches / Home / End permettent de sortir d’un tableau ou d’un autre bloc piégeant situé en bordure du document.
gapCursorClicktrueCliquer dans l’espace vide autour du contenu pour y insérer un paragraphe.
gapCursorHinttrueAffiche une indication d’insertion à une frontière de hauteur nulle entre deux blocs.
multiRootGroupnullLes instances qui partagent ce nom de groupe se comportent comme un seul éditeur, avec une seule barre d’outils visible.
multiRootNamecontainer idLe nom de cette zone dans l’API de groupe (getHTML, focusRoot, …).
multiRootToolbarHostnullL’élément (ou son id) dans lequel déplacer la barre d’outils active. null la laisse en place.
layoutTableOutlinetrueContour en pointillés autour des tableaux de mise en page pendant l’édition. Un tableau marqué role="presentation" est invisible par conception ; c’est le seul moyen de voir ce que vous modifiez. Uniquement dans l’éditeur.
shadowStyleAdoptiontrueCopie les feuilles de style de l’éditeur dans la shadow root qui le contient. Sans cela, l’éditeur fonctionne correctement mais s’y affiche entièrement sans style, car aucune feuille de style du document ne franchit une frontière de shadow DOM. Sans aucun coût en dehors d’une shadow root.
shadowStyleSourcesnullURL de feuilles de style supplémentaires à copier aussi à travers la frontière du shadow DOM — vos propres surcharges d’habillage. Chaîne ou tableau.

Des styles issus de votre propre CSS

Remplit les listes déroulantes Quick Styles à partir des classes déjà présentes dans les feuilles de style de la page, au lieu de les retaper dans la configuration.

OptionValeur par défautDescription
importStylesfalseInterrupteur général. À activer explicitement, car sur une page utilisant du CSS utilitaire, la liste des classes est énorme.
importStylesSheetsnullLes feuilles à lire : chaîne ou RegExp comparée au href, ou fonction. null = toutes celles qui sont lisibles.
importStylesExclude/^(rte|ck|mce|…)/Liste de noms de classes à exclure, appliquée en plus de l’exclusion automatique du CSS de l’éditeur.
importStylesFilternull(className, selector, bucket) => false pour ignorer, ou une chaîne pour renommer.
importStylesReplacefalseRemplace les styles configurés au lieu de s’y ajouter.
importStylesLimit100Plafond par liste déroulante. Ce qui est écarté est signalé, jamais tronqué silencieusement.

Sécurité et vérification du contenu

Filtrage et validation. Ce sont les options sur lesquelles portera une revue de sécurité.

OptionValeur par défautDescription
contentSanitizertrueFiltre par liste d’autorisation en entrée, en sortie et sur le DOM actif. Laissez-le activé.
spellCheckEnabledtrueMarque la zone modifiable avec spellcheck="true" pour le correcteur du navigateur.
spellCheckResolvernull(text) => [{ word, offset, length, suggestions }] depuis n’importe quel service dont vous avez la licence.
linkCheckResolvernull(urls) => résultats d’accessibilité des URL pour le vérificateur de liens.
linkCheckMixedContenttrueSignale les liens http:// sur une page https://.
linkCheckUnsafeSchemes["javascript:", "data:", …]Schémas signalés comme dangereux.

Historique des révisions

Des versions nommées du document, conservées dans le navigateur et éventuellement envoyées à votre serveur.

OptionValeur par défautDescription
revisionHistoryEnabledtrueDéfinissez false pour désactiver le plugin d’historique des révisions.
revisionHistoryKey(page path + query)Depuis core 2.6.10 : la clé sous laquelle sont stockées les versions de CE document. Réglez-la sur l’identifiant de l’enregistrement dans un CMS, surtout lorsque l’URL n’identifie pas le document. Les builds antérieurs partageaient une seule liste pour tout le site.
revisionHistoryMaxEntries50Nombre de versions conservées ; les plus anciennes sont supprimées en premier.
revisionHistoryAutoSnapshotMs0Crée automatiquement une version toutes les N ms lorsque le contenu a changé ; 0 = uniquement à la demande.
revisionHistorySnapshotBeforeRestoretrueDepuis core 2.6.10 : la restauration conserve d’abord le contenu courant sous forme de version "Before restoring …", pour qu’une restauration par erreur puisse être annulée. false = l’ancien comportement, qui abandonnait le travail non enregistré.
revisionHistoryUrl""Envoie chaque version à cette URL en POST JSON.
revisionHistoryRequestHeadersnullEn-têtes de ce POST, sous forme d’objet ou de fonction qui en renvoie un (par exemple un jeton d’authentification).
onRevisionHistorySyncErrornull(detail) => appelée lorsqu’un POST échoue ; la version reste conservée localement.