2009-12-27 4 views
3

Относящиеся: How to store lightweight formatting (Textile, Markdown) in database?Какой язык разметки для хранения в БД?

Я хочу сохранить форматирование комментариев на некоторых языках разметки в нашей БД. Однако мы хотим разрешить несколько языков форматирования (уценка, текстиль, реструктурированный текст). Кажется, мы должны сохранить надмножество своих возможностей, чтобы мы могли конвертировать между ними.

  • Будет ли это работать?
  • Есть ли такой надмножество?
  • Есть ли библиотеки для переключения между ними?
  • Есть ли более структурированный формат, который мы должны оставлять комментарии в БД?

(Python/Google App Engine, если это имеет значение)

ответ

9

Рассматривали ли вы что-нибудь попроще: хранящую комментарии в их первоначальном виде, вместе с дополнительной высказывании колонки, какой формат он хранится в (уценки, текстиль , и т.д...)?

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

+0

Я действительно думал об этом. Причина, по которой я пошел против этого, заключалась в том, что я хочу, чтобы я мог переключаться между ними на лету. Но это отдельная проблема, и, вероятно, это нормально для решения с потерями. Поэтому я думаю, что вы, вероятно, правы. –

+0

@Paul: Mark дал вам хороший ответ, однако, если вы все еще хотите конвертировать между форматами, попробуйте HTML ex. Markdown-> HTML-> Textile-> HTML-> changeduredText – Niteriter

+0

Поверху я не имел в виду язык, который поддерживал весь синтаксис. Я имел в виду нечто вроде HTML (возможно, только b, i, a, blockquote). Я бы конвертировал reST/markdown/etc в HTML. Я склоняюсь к этому, поскольку это будет означать наличие канонического формата, через который могут пройти все преобразования, вместо того, чтобы писать/находить библиотеки конверсий для каждой пары форматов. –