2009-12-27 4 views
3

En relation: How to store lightweight formatting (Textile, Markdown) in database?Quel langage de balisage stocker dans une base de données?

Je souhaite stocker la mise en forme des commentaires dans un langage de balisage de notre base de données. Cependant, nous voulons autoriser plusieurs langages de mise en forme (markdown, textile, restructuredText). Il semble que nous devrions stocker un surensemble de leurs caractéristiques, de sorte que nous puissions convertir entre eux.

  • Est-ce que cela fonctionnera?
  • Y a-t-il un tel surensemble?
  • Y a-t-il des bibliothèques pour basculer entre elles?
  • Existe-t-il un format plus structuré dans lequel nous devrions conserver les commentaires, dans la base de données?

(Python/Google App Engine si elle importe)

Répondre

9

Avez-vous envisagé quelque chose de plus simple: stocker les commentaires dans leur forme originale, avec un dicton de colonne supplémentaire format est stocké dans (démarquage, textile , etc...)?

Je pense que tout sur-ensemble va soit entraîner une perte d'information en stockant seulement l'une des nombreuses façons possibles de la syntaxe peut être écrite dans un balisage spécifique, ou bien il sera trop compliqué comme il essaie de autoriser tous les codages possibles d'une syntaxe spécifique dans toutes les annotations autorisées.

+0

J'ai réfléchi à ça. La raison pour laquelle je suis allé contre était que je veux être capable de basculer entre eux à la volée. Mais c'est un problème distinct, et c'est probablement OK pour une solution avec perte là-bas. Donc je pense que tu as probablement raison. –

+0

@Paul: Mark vous a donné une bonne réponse, mais si vous voulez toujours pouvoir convertir entre les formats, essayez HTML ex. Markdown-> HTML-> Textile-> HTML-> restructuredText – Niteriter

+0

Par superset je ne voulais pas dire un langage qui supportait toute la syntaxe. Je voulais dire quelque chose comme HTML (peut-être b, i, a, blockquote seulement). Je convertirais le reST/markdown/etc en HTML. Je penche pour cela, car cela voudrait dire avoir un format canonique à travers lequel toutes les conversions peuvent aller, plutôt que d'écrire/trouver des bibliothèques de conversion pour chaque paire de formats. –

Questions connexes