Каков наилучший способ хранения и отображения введенного уценки текста? - PullRequest
12 голосов
/ 01 ноября 2008

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

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

Ответы [ 4 ]

16 голосов
/ 01 ноября 2008

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

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

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

6 голосов
/ 01 ноября 2008

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

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

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

0 голосов
/ 18 января 2010

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

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

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

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

Вот пример того, как использовать уценку и фрагменты с Blogger .

0 голосов
/ 05 ноября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...