WYSIWYG - редактор текста и кода - PullRequest
3 голосов
/ 09 февраля 2012

У меня есть потребность, то, что, я уверен, должны иметь другие разработчики, а StackOverflow действительно есть.

Сценарий

Я создаю сайт для публикации примеров кода, статей, которыенаписано мной через администраторскую систему, но также, возможно, и с помощью Front-end reg'd пользователей.

Миссия

Чтобы иметь WYSIWYG-редактор, который пользователь может публиковать статьи.Очевидно, что это может быть абзац текста, некоторые заголовки ... не проблема, поскольку TinyMCE в настоящее время занимается этим.В текст будут добавлены примеры кода, желательно в кодовом теге.

Выполнение

Так что я играл с расширением TinyMCE.Я могу разрешить теги кода, но не могу заставить его поместить выделенный текст в теги кода, но могу получить его в предварительных тегах.Не проблема.Итак, вставьте:

<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>

в WYSIWIG и выделите и выберите Preformatted, все в порядке, он закодирует все скобки в <и>, и это прекрасно.Он хранится в моей БД и выглядит так:

<code><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;

НО при редактировании, поэтому загружается текстовое поле с существующим содержимым;см. HTML;

<code><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;

TinyMCE перекодирует все скобки и удаляет ВСЕ и ЛЮБОЙ код на основе XML, теги Script как недопустимые элементы, а не рассматривает их какпростой текст.

Добавьте к этому, что он не имеет никакой функциональности CDATA, поэтому он игнорирует некоторые части ...

Мне нужен плагин, так как я не могу написать его изну, у меня нет ни времени, ни бюджета.За что именно StackOverflow позволил мне сделать этот вопрос !! Хороший Stackoverflow

Вопрос

У кого-нибудь была удача сделать это с TinyMCE?Могу ли я украсть / одолжить Stackoverflows?проверка источника не может видеть, что это плагин, больше встроенная вещь.Кто-нибудь знает какие-либо другие плагины Форматирования, которые позволяют фрагменты кода?

Ответы [ 2 ]

0 голосов
/ 10 февраля 2012

Думаю, вам нужно будет настроить параметры initin tincece для valid_elements и valid_children (также не забывайте свои атрибуты там).

0 голосов
/ 09 февраля 2012

Codemirror - может быть решение для вас?

...