Сохранение содержимого элемента управления WMD Editor

StackOverflow https://stackoverflow.com/questions/125911

  •  02-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь реализовать редактор WMD, используемый в StackOverflow, для создания некоторых базовых функций в стиле Wiki.Я дошел до того момента, когда пришло время сохранять в базу данных, но я не уверен относительно того, что мне следует сохранять.

Если я сохраню созданный HTML-код, то смогу извлечь и отобразить его корректно, но при повторном редактировании я сталкиваюсь с редактированием HTML, а не Markdown.Однако, если я сохраню Markdown, я не вижу никакого способа преобразовать это обратно в HTML для отображения, и, просматривая StackOverflow, он отправляет браузеру HTML.

Я предполагаю, что мне не нужно сохранять оба варианта, так какую простую вещь я упускаю?

Это было полезно?

Решение

Обязательно сохраните код уценки в том виде, в каком он был введен пользователем.

Затем вам понадобится конвертер Markdown, который преобразует его в HTML для отображения.

Вы найдете множество таких в
http://en.wikipedia.org/wiki/Markdown#Converters
и
http://markdown.infogami.com/

Я бы проголосовал против использования JS в вашем случае.Там, по-видимому, есть Реализация .NET но я не могу передать вам, насколько это хорошо.

Во время рендеринга вашей страницы вам нужно будет передать код Markdown в конвертер, подобный приведенному выше, а затем вывести возвращенный HTML-код.

Если возникает проблема с производительностью, вы также можете рассмотреть возможность сохранения как кода Markdown (для последующего редактирования), так и HTML-кода (для отображения) в базе данных.Таким образом, он будет преобразован только один раз.

Другие советы

Я бы предложил сохранить точный введенный текст в базу данных, чтобы редактирование работало с исходным markdown или HTML.

Когда вы извлекаете текст для отображения, вы анализируете его на стороне сервера и при необходимости преобразуете в HTML

[Редактировать] В комментарии:Похоже, у вас уже есть способ синтаксического анализа и преобразования в HTML, если я правильно понял ваш вопрос.Здесь вы рассказываете о созданном HTML.

Если я сохраню созданный HTML, то смогу извлечь и отобразить его корректно, но при повторном редактировании я сталкиваюсь с редактированием HTML, а не Markdown

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top