Editeur de texte JavaScript qui permet d'intégrer facilement des fonctionnalités de traitement de texte dans les applications web.
-
Téléchargement : site officiel de TinyMCE et télécharger la dernière version de TinyMCE.
-
Intégration :
- Décompresser l'archive téléchargée.
- Copiez le dossier
tinymce
dans votre projet web.
-
Configuration :
- Dans la section
<head>
de vos pages HTML, ajouter le lien vers le script TinyMCE :<script src="chemin/vers/tinymce/tinymce.min.js"></script>
- Dans la section
-
Utilisation :
- Utiliser le sélecteur pour cibler les éléments que vous souhaiter convertir en éditeurs TinyMCE :
<textarea id="myTextarea"></textarea> <script> tinymce.init({ selector: '#myTextarea' }); </script>
- Utiliser le sélecteur pour cibler les éléments que vous souhaiter convertir en éditeurs TinyMCE :
Configuration de base pour TinyMCE :
tinymce.init({
selector: 'textarea',
plugins: 'autolink lists link image',
toolbar: 'undo redo | formatselect | bold italic | alignleft aligncenter alignright | bullist numlist outdent indent | link image',
height: 500
});
Modifier la propriété toolbar
pour personnaliser la barre d'outils de TinyMCE selon vos besoins.
Utiliser la méthode setup
pour gérer les événements de TinyMCE. Par exemple :
tinymce.init({
selector: 'textarea',
setup: function(editor) {
editor.on('change', function(e) {
console.log('Contenu modifié : ', e.target.getContent());
});
}
});
documentation officielle de TinyMCE pour plus d'informations et de détails sur la configuration et l'utilisation avancée.
tinymce.init({
selector: 'textarea', // Sélecteur de l'élément textarea à convertir en éditeur TinyMCE
plugins: 'autolink lists link image charmap print preview anchor',
toolbar: 'undo redo | formatselect | bold italic | alignleft aligncenter alignright | bullist numlist outdent indent | link image',
height: 500 // Hauteur de l'éditeur
});
-
Chemin vers les Fichiers :
- Utilisez les options
base_url
etsuffix
pour spécifier le chemin vers les fichiers TinyMCE :tinymce.init({ selector: 'textarea', base_url: '/chemin/vers/tinymce/', suffix: '.min' });
- Utilisez les options
-
Langue :
- Définissez la langue de l'éditeur avec l'option
language
:tinymce.init({ selector: 'textarea', language: 'fr_FR' });
- Définissez la langue de l'éditeur avec l'option
-
Formats de Texte :
- Personnalisez les formats de texte avec l'option
formats
:tinymce.init({ selector: 'textarea', formats: { bold: { inline: 'span', styles: { fontWeight: 'bold' }}, italic: { inline: 'span', styles: { fontStyle: 'italic' }} } });
- Personnalisez les formats de texte avec l'option
-
Styles :
- Définissez des styles personnalisés avec l'option
style_formats
:tinymce.init({ selector: 'textarea', style_formats: [ { title: 'Custom Style', inline: 'span', styles: { color: '#ff0000' }}, { title: 'Another Style', block: 'div', classes: 'another-style' } ] });
- Définissez des styles personnalisés avec l'option
-
Boutons Personnalisés :
- Ajoutez des boutons personnalisés à la barre d'outils avec la méthode
editor.ui.registry.addButton
:tinymce.init({ selector: 'textarea', setup: function(editor) { editor.ui.registry.addButton('customButton', { text: 'Custom Button', onAction: function(_) { // Action du bouton personnalisé } }); } });
- Ajoutez des boutons personnalisés à la barre d'outils avec la méthode
-
Formats de Blocs :
- Créez des formats de blocs personnalisés avec l'option
block_formats
:tinymce.init({ selector: 'textarea', block_formats: 'Paragraph=p;Header 1=h1;Header 2=h2' });
- Créez des formats de blocs personnalisés avec l'option
- Gestion des Événements :
- Utilisez la méthode
editor.on
pour gérer les événements de TinyMCE :tinymce.init({ selector: 'textarea', setup: function(editor) { editor.on('init', function() { console.log('Éditeur initialisé'); }); editor.on('change', function(e) { console.log('Contenu modifié : ', e.target.getContent()); }); } });
- Utilisez la méthode
toolbar: 'undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
formats: {
bold: { inline: 'span', styles: { fontWeight: 'bold' }},
italic: { inline: 'span', styles: { fontStyle: 'italic' }},
underline: { inline: 'span', styles: { textDecoration: 'underline' }},
strikethrough: { inline: 'span', styles: { textDecoration: 'line-through' }},
customFormat: { block: 'h2', attributes: { class: 'custom-format' }}
},
style_formats: [
{ title: 'Custom Style', inline: 'span', styles: { color: '#ff0000' }},
{ title: 'Another Style', block: 'div', classes: 'another-style' }
],
tinymce.init({
selector: 'textarea',
setup: function(editor) {
editor.on('init', function() {
console.log('Éditeur initialisé');
});
editor.on('change', function(e) {
console.log('Contenu modifié : ', e.target.getContent());
});
}
});
tinymce.init({
selector: 'textarea',
skin_url: '/path/to/skin',
content_css: '/path/to/content.css',
extended_valid_elements: 'span[class|style]',
branding: false // Désactive le branding TinyMCE
});
tinymce.init({
selector: 'textarea',
toolbar: 'customButton1 customButton2',
setup: function(editor) {
editor.ui.registry.addButton('customButton1', {
text: 'Custom Button 1',
onAction: function(_) {
// Action du bouton personnalisé 1
}
});
editor.ui.registry.addButton('customButton2', {
text: 'Custom Button 2',
onAction: function(_) {
// Action du bouton personnalisé 2
}
});
}
});