Pregunta

Estoy intentando implementar el editor de armas de destrucción masiva utilizado en StackOverflow para crear algunas funciones básicas de estilo Wiki.Llegué al punto en que es hora de guardar en la base de datos, pero no estoy seguro de qué debería guardar.

Si guardo el HTML producido, puedo recuperarlo y mostrarlo correctamente, pero al volver a editarlo me enfrento a la edición de HTML, no de Markdown.Sin embargo, si guardo el Markdown, no veo ninguna forma de convertirlo nuevamente a HTML para mostrarlo y, al mirar StackOverflow, envía el HTML del navegador.

Supongo que no necesito guardar ambos, entonces, ¿qué cosa sencilla me estoy perdiendo?

¿Fue útil?

Solución

Guarde absolutamente el código Markdown ingresado por el usuario.

Entonces necesitarás un conversor Markdown que lo convierta a HTML para mostrarlo.

Encontrarás un montón de estos en
http://en.wikipedia.org/wiki/Markdown#Converters
y
http://markdown.infogami.com/

Votaría en contra del uso de JS en tu caso.Parece haber una implementación de .NET pero no puedo decirte lo bueno que es.

Mientras renderiza su página, tendrá que pasar el código Markdown a un convertidor como el anterior y luego generar el HTML devuelto.

Si el rendimiento es un problema, también podría considerar guardar tanto el código Markdown (para editarlo más tarde) como el código HTML (para mostrar) en la base de datos.De esa forma sólo se convertirá una vez.

Otros consejos

Sugeriría guardar el texto exacto ingresado en la base de datos, para que la edición funcione con el descuento original o HTML.

Cuando recupera el texto para mostrarlo, lo analiza en el lado del servidor y lo convierte a HTML cuando sea necesario.

Editar] en el comentario:Parece que ya tiene una forma de analizar y convertir a HTML, si entiendo su pregunta correctamente.Aquí se habla del HTML producido.

Si guardo el HTML producido, puedo recuperarlo y mostrarlo correctamente, pero al volver a editarlo me enfrento a editar HTML, no Markdown.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top