Каков наилучший способ сохранить и отобразить введенный текст?

Я заметил, что редактор wmd может выводить HTML или уценку. Имеет ли смысл хранить ввод пользователя (в базе данных) как уценку или HTML? Если в качестве уценки лучше всего отображать ее на веб-странице позже (любые примеры были бы очень благодарны).

Учитывая, что рекомендация хранит его как уценку, существуют ли какие-либо стандартные конвертеры/таблицы стилей/что-то еще, чтобы фактически отобразить их после?

Ответ 1

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

Вы можете сохранить ввод как HTML, а затем, когда пользователь захочет его отредактировать, используйте что-то вроде markdownify, чтобы преобразовать его обратно в markdown - но вы действительно ничего не получаете и теряете много (исходное форматирование уценки, для одного). Это также довольно круто-бой (вы конвертируете уценку в HTML, храните ее. Затем конвертируйте HTML в уценку, разрешите пользователю редактировать его, преобразовать обратно в HTML и сохранить его.)

Если вас беспокоит производительность разборки разметки на каждом просмотре страницы: кешируйте выходной HTML-код где-то временным (в памяти или на диске). HTML легче воссоздать, чем исходная уценка

Ответ 2

Говоря от почти полного незнания уценки и wmd:

Если вы хотите, чтобы пользователь мог редактировать запись позже, не нужно ли хранить ее как уценку?

При извлечении/отображении вам нужно будет запустить его через средство рендеринга уценки.

Ответ 3

Шаг к этому почти 10-летнему вопросу случайно.

Смотрите Typora.io, он поддерживает все виды популярного экспорта файлов (который фактически основан на проекте pandoc).

Кроме того, пользовательский интерфейс редактирования великолепный.

Ответ 4

Похоже, что есть подробности о том, как сгенерировать соответствующий HTML для сохраненного уценки на другом потоке.

Ответ 5

Я думаю, что лучший способ разрешить последующее редактирование - хранить файл уценки. После того, как пользователь отредактировал или загрузил его, файл в синтаксисе уценки сохранит его и сгенерирует html и сохранит созданный html.

Вам нужно только "повторно генерировать" html, когда пользователь обновляет файл разметки.

Я не уверен, какую технологию вы используете, но есть процессор уценки python, там пигменты для выделения синтаксиса кода и python-markdown встроены в поддержку pygments, поэтому в одной строке вы получаете html из файла markdown и всего исходного кода выделены.

Вам нужно обновить css, чтобы включить стили для выделения кода, вы можете сбросить стиль по умолчанию из пигментов и прикрепить его к вашему стилю страницы.

Вот пример того, как использовать markdown и pygments с Blogger.