2009-02-26 6 views
4

Nous avons besoin d'un éditeur Web de type wiki capable de conserver le balisage original. Au moment où un balisage personnalisé donné est converti en html pour l'affichage et l'édition (permettant aux gens d'éditer le html en cas de liens et similaires) puis reconverti au balisage spécifique lors de l'enregistrement. C'est évidemment sujet à erreur et pas idéal.Meilleure option pour l'éditeur de texte Wiki-like pour préserver le balisage d'origine?

Une première grande décision est entre une solution purement javascript html (comme TinyMCE) et une solution plus orientée client avec des choses comme le flash ou silverlight qui nous permettrait pas à vous soucier html et ainsi de suite.

Quelles sont les meilleures options en ce moment dans votre expérience?

Répondre

4

C'est une longue discussion. Mon conseil est d'utiliser un JavaScript avec une bonne sortie XHTML. N'utilisez pas le flash ou l'argenté du tout.

Pour mon projet, j'ai utilisé l'éditeur de texte YUI et tout a très bien fonctionné. Essayez ici: http://developer.yahoo.com/yui/examples/editor/skinning_editor.html

Essayez ce lien, il est une comparaison de l'éditeur Web vraiment bon, pour obtenir ce dont vous avez besoin:

+0

Merci pour votre réponse et les liens - je serais intéressé de savoir pourquoi vous excluez Flash et Silverlight. – JohnIdol

+0

Tout d'abord je ne sais pas tout bon flash ou bon éditeur Silverlight, en terme de traitement XHTML. Pourquoi est-il préférable d'utiliser xhtml, parce que vous faites des pages web et il est toujours préférable de traiter directement avec xhtml qu'un pseudo-langage interprété qui donnera le bon format de texte. – alexl

2

Plus de chez Mozilla ils ont travaillé sur ce point:

Mozilla Bespin

+0

intéressant - merci pour le lien – JohnIdol

+0

Ceci est le futur. –

+0

Il semble que Bespin n'est plus en développement. –

2

Vous ne pouvez pas besoin de permettre l'édition HTML directe, si vous utilisez quelque chose comme Markdown ou Textile - les utilisateurs travailleront toujours avec la représentation en texte brut du contenu, tandis que les conversions unidirectionnelles de texte clair vers HTML seront à la demande sur sera possible pour de plus beaux looks dans les pages HTML.

Il existe un certain nombre de rubis Gems pour vous aider à implémenter à la fois la conversion Markdown et Textile texte-en-HTML, si besoin est. Il y a aussi quelques bons éditeurs pour markdown (comme celui que SO utilise). À mon avis, l'édition de texte brut (dans Markdown, Textile ou similaire) est suffisante et un meilleur choix dans la plupart des cas. C'est certainement une méthode très légère et conforme aux normes pour créer un contenu riche et bien que Markdown, Textile et autres ne couvrent pas toutes les options de formatage possibles, le chemin du texte en clair mérite une considération sérieuse.

Vous pouvez également voir ici sur StackOverflow-qui utilise Markdown pour les questions et réponses-que c'est un bon. Je soutiens fortement le besoin de pouvoir voir les "balises de mise en forme", parce que WYSIWYG conduit presque toujours à des étiquettes mal placées/inutiles. En outre, en utilisant des formats de texte en clair vous permet de contrôle 100% sur le code HTML résultant. Si vous devez utiliser WYSIWYG, mon expérience avec TinyMCE a été assez décent pour le recommander.

1

Nous utilisons Screwturn pour développer des pages wiki basées sur les connaissances interenales pour nos développeurs à référencer. Je dirais que c'est un outil wiki gratuit décent.

3

Le type d'utilisateur et l'environnement dans lequel les données sont utilisées ont beaucoup à dire. HTML est un format de présentation, donc l'utiliser pour éditer le contenu est sous-optimal. Dans de nombreux cas, vous devez séparer le contenu de la présentation, et le code HTML vous causera des problèmes à cause de cela. Vous pouvez bien sûr essayer de restreindre l'entrée à un sous-ensemble de HTML, mais c'est difficile à obtenir et cela bloque l'idée en premier lieu, parce que l'entrée n'est plus vraiment wysiwyg. CMS a lutté avec ce problème pendant des années, donc je suppose qu'il n'y a pas de solution facile à cela. Si vos éditeurs sont des utilisateurs avancés (probablement des programmeurs, mais j'ai eu du succès avec de simples mortels), vous pouvez leur demander d'entrer du contenu dans markdown ou un format similaire centré sur le contenu et de le transformer en HTML lors de la présentation. Le plus gros obstacle pour cette approche semble être le manque d'aperçu en temps réel (wysiwyg). J'ai utilisé Showdown pour afficher un aperçu en temps réel, comme ce site - et j'ai récemment made a widget pour une sorte d'entrée de type wysiwyg hybride, que vous pouvez trouver utilisable.

1

Je suggère d'utiliser un éditeur basé sur Javascript. Il y en a un certain nombre et ils sont vraiment bons. Je trouve que les éditeurs basés sur flash/java/active x/etc. sont lents et maladroits comparés aux éditeurs JS.

Certains des éditeurs JS que je suis aime sont:

+0

J'utilise TinyMCE en ce moment - c'est génial en tant qu'éditeur de base mais le problème est qu'il est très limité maintenant que j'ai besoin d'étendre les fonctionnalités de l'éditeur à glisser-déposer, etc. – JohnIdol

+0

Je pense que vous êtes capable de faire drop-n-drag TinyMCE. Si ce n'est pas le cas, il a des gestionnaires d'événements pour les événements de dépôt et de déplacement: tinymce.dom.Event.add (ed.getDoc(), 'drop', fonction (e) { .... }); –

+0

Je viens d'essayer la démo TinyMCE et il prend en charge déposer et faire glisser: http://tinymce.moxiecode.com/examples/full.php Au bas de la page, il y a un petit graphique rubix cube. Vous pouvez le faire glisser dans l'éditeur. –

1

J'aime personnellement TinyMCE.

Lors de l'utilisation de TinyMCE, je peux recommander de rechercher du code BB. Le texte que j'ai rendu en BB-code temps réel dans l'éditeur de sorte qu'il ressemble à gras ou quel style vous voulez.

Enregistrez-le dans la base de données en format de code BB, puis disposez d'un remplaçant de chaîne lors de l'affichage du texte.

Si vous voulez un wiki-markup standard, vous pouvez probablement faire votre propre plugin qui rend le code wiki pour ainsi dire.

0

L'éditeur javascript fourni avec WordPress est excellent.

Questions connexes