2011-06-01 14 views
7

Estaba pensando en permitir a los usuarios editar el contenido del sitio con el descuento, ya que es simple y fácil. La pregunta ahora es ¿cómo almaceno esa entrada? ¿Debería convertirla a html en guardar y luego almacenar HTML sin procesar en la base de datos, o guardar el texto de rebajas y volver a analizarlo en HTML en cada solicitud? ¿Debería tomarse un enfoque diferente aquí (escribir archivos estáticos, etc.)? Me preguntaba cómo abordar este problema y cómo lo hacen los sitios como stackoverflow. Gracias.¿Cómo abordar el almacenamiento de descuentos en el archivo db para el contenido del usuario?

Respuesta

12

Probablemente almacenara tanto el Markdown original como las versiones HTML del contenido. De hecho, he hecho cosas similares (con HTML reducido en lugar de Markdown) donde almacené tanto las versiones sin formato como las formateadas.

Si desea editar el contenido después de haberlo creado, querrá el Markdown original, ya que probablemente sea más fácil trabajar con él que con algún desagradable Markdown que haya salido de un convertidor Markdown-to-HTML. Mantener el Markdown también facilitará el seguimiento de su historial de revisión o ajustar su formato HTML en el futuro.

Mostrar el contenido probablemente sea más común que crearlo o editarlo. Por lo tanto, es probable que desee tener el HTML a mano para evitar hacer la misma conversión de Markdown a HTML una y otra vez.

Si solo tiene el Markdown, entonces paga un extra por cada pantalla. Si solo tiene el código HTML, terminará con un marcado desagradable e ilegible/no editable. Si tiene ambas cosas, paga un poco de espacio en disco pero obtiene la capacidad de regenerar fácilmente su HTML con una estructura interna diferente, fácil seguimiento del historial de revisiones, fácil edición, y obtiene pantallas baratas como un feliz efecto colateral. Además, el almacenamiento de ambos hace que sea más fácil almacenar fragmentos para listados masivos (como los listados /questions en SO) y esos listados serán baratos porque está descargando datos directamente desde el almacenamiento a la página con un procesamiento mínimo.

+0

idea genial, no pensé en almacenar ambos. ¡Gracias! – sa125

+0

¿Qué significa "almacenar ambos - html & markdown"? Por favor, ¿puedes explicar más detalles? También hay varios ejemplos, ... – Loint

+0

@ Ntlzz93 Entra el texto de rebaja, puede convertirlo a HTML cada vez que lo muestre o puede convertirlo a HTML una vez (cuando la fuente de rebaja cambia) y almacenar el HTML * y * el descuento en su base de datos. –

Cuestiones relacionadas