page d'accueil

Un éditeur html wysiwyg (5)

Note: les exemples de cette page ne fonctionnent toujours qu'avec Microsoft Internet Explorer 5.5 minimum (sans parler du fait que je ne teste que sous IE6).

Nouveau départ

Après quatre séances de travail, je commence à partir dans tous les sens et à manquer de motivation. Comme il est de saison de prendre de bonnes résolutions, il est grand temps d'essayer de rationaliser tout ça avant d'envisager quoique ce soit d'autre.

Mon objectif initial étant d'avoir un éditeur simple à utiliser, je vais revenir à l'essentiel et réorganiser ce que j'ai déjà fait en trois fichiers de façon à le rendre plus facilement réutilisable :

Wysiwyg.css

Il s'agit de la feuille de style à définir une seule fois dans chaque page qui doit gérer une ou des zones de texte wysiwyg. C'est assez facile puisque cette feuille de style existe déjà et que je n'ai qu'à l'améliorer un peu, la commenter puis la placer dans un fichier «Wysiwyg.css»:

Par rapport à ce qui existait déjà, j'ai aussi ajouté «overflow-x: hidden;» pour éviter qu'apparaisse une barre de défilement horizontal au cas où quelqu'un s'amuserait à taper des mots trops longs pour tenir sur une seule ligne.

Wysiwyg.tb

Ca c'est le code xhtml qui sert à construire la barre d'outils. Ces quelques lignes de code sont à insérer avant chaque zone de texte wysiwyg. Le principe étant d'avoir quelque chose de générique pour pouvoir l'insérer tel quel, le fichier «Wysiwyg.tb» ne doit donc pas:

Quelques remarques:

Wysiwyg.js

Ce script contient les fonctions JavaScript (ou plutôt Microsoft JScript) nécessaires pour éditer le texte. C'est un fichier à intégrer une seule fois dans les pages qui gèrent une ou des zones de texte wysiwyg. Pour l'instant, ça ne fait pas grand chose à part traiter le cas de l'insertion d'un lien ou d'une image et d'appeler la fonction execCommand() pour qu'elle prenne en charge la mise en forme.

Il contient également les fonctions:

La prochaine fois, ça devrait donc permettre en plus:

Note: ce script fait appel au fichier «createLink3.htm» mis au point dans la 3° partie consacrée à l'insertion de liens hypertextes.

Conclusion

Petit à petit, on aboutit un éditeur html wysiwyg qui ressemble de plus en plus à ce que je cherchais à obtenir il y a un peu plus d'un mois.

Ca n'avance peut être pas très vite, mais au moins j'ai le temps de structurer et de mettre au propre, ce qui n'est pas toujours possible dans la vrai vie.

Publicités