2012-02-09 2 views
3

J'ai un besoin, quelque chose que d'autres développeurs doivent posséder et que StackOverflow possède.WYSIWYG - Editeur de texte et de code

Scénario

Je construis un site pour poster des exemples de code sur, des articles qui sont écrits par moi à travers un système d'administration, mais aussi peut-être Frontaux utilisateurs enr.

Mission

Pour avoir un éditeur WYSIWYG qu'un utilisateur peut poster des articles. Évidemment, il peut s'agir d'un paragraphe de texte, de certaines rubriques ... ce n'est pas un problème car TinyMCE gère actuellement cela. Mélangé avec le texte sera des exemples de code, de préférence dans une étiquette de code.

exécution

donc je joue à l'extension TinyMCE. Je peux autoriser les balises de code, mais je n'arrive pas à l'obtenir pour mettre du texte en surbrillance dans les balises de code, mais je peux l'obtenir dans les balises pré. Pas de problème. donc coller:

<xsl:template match="*" mode="jsonObjectOrElementProperty"> 
    <xsl:text>"</xsl:text> 
    <xsl:value-of select="name()"/> 
    <xsl:text>":</xsl:text> 
    <xsl:apply-templates select="." mode="jsonObjectProperties"/> 
    </xsl:template> 

dans le WYSIWYG et mettant en évidence et en sélectionnant préformaté est ok, il encode tous les supports à <et> et qui est parfaitement bien. Il est stocké dans ma base de données et sort comme tel; MAIS lors de l'édition, charger la zone de texte avec le contenu existant; voir HTML;

<textarea class="tinyMCE"><pre>&lt;xsl:template match="*" mode="jsonObjectOrElementProperty"&gt;<br /> &lt;xsl:text&gt;"&lt;/xsl:text&gt;<br /> &lt;xsl:value-of select="name()"/&gt;<br /> &lt;xsl:text&gt;":&lt;/xsl:text&gt;<br /> &lt;xsl:apply-templates select="." mode="jsonObjectProperties"/&gt;<br /> &lt;/xsl:template&gt;</pre></textarea> 

TinyMCE re-code tous les supports et supprime ALL et ANY XML code basé, balises de script comme éléments non-valides, plutôt que de les traiter comme texte brut.

Ajoutez à cela, qu'il n'a pas son genre de fonctionnalité CDATA afin qu'il ne tient pas compte des parties ...

je besoin d'un plug-in, comme je ne peux pas écrire à partir de zéro, je havn't la temps ni budget. Pour ce que StackOverflow m'a laissé faire dans la création de cette question !! Bonne Stackoverflow

Question

Quelqu'un at-il eu de chance avec le faire à TinyMCE? Puis-je voler/emprunter des Stackoverflows? vérifier la source ne peut pas voir que c'est un plugin, plus d'une chose construite sur mesure. Est-ce que quelqu'un sait d'autres plugins de formatage qui permettent des extraits de code?

+0

Non ... Ce n'est pas une demande de suggestions de produits. Pas du tout – JSON

Répondre

0

Codemirror - pourrait être une solution pour vous?

+0

Merci, j'ai regardé le code miroir, mais si vous écriviez quelque chose, comme si vous posiez une question ici ... Vous ne voudriez pas baliser tout le contenu textuel vous-même? –

+0

Eh bien, c'est pourquoi Stackoverflow utilise la syntaxe Markdown au lieu d'un éditeur WYSIWYG ... – mb21

0

Je pense que vous devrez ajuster votre initialisation tinymce valid_elements et valid_children (ne pas oublier vos attributs ici aussi).

+0

Oui, mais je ne veux pas avoir à le faire pour TOUS les tags possibles ... d'autant plus que XML peut être n'importe quel nom de tag. –

+0

Désactiver le paramètre de nettoyage puis – Thariama

+0

Désactiver le paramètre de nettoyage? Existe-t-il une telle chose?!?!? Non googling ... hmmm pas sûr, vous devez vous assurer qu'il est toujours valide XML, car il est stocké dans une chaîne XML dans la base de données, et sortie dans un document XML plus grand en sortie pour XSLT pour convertir en xHTML. "Il s'assure également qu'il s'agit d'un document XHTML correct, avec toutes les balises fermées, le" aux bons endroits, et des choses comme ça ". –

Questions connexes