Salvando conteúdo do Editor de controle WMD
-
02-07-2019 - |
Pergunta
Eu estou tentando implementar o editor WMD usado em StackOverflow para criar algumas funcionalidades básicas Wiki-estilo. Eu sou até o ponto onde é hora de salvar o banco de dados, mas não estou certo sobre o que eu deveria estar salvando.
Se eu salvar o HTML produzido então eu posso recuperar e exibi-lo corretamente, mas na re-edição que eu sou confrontado com a edição de HTML, não Markdown. No entanto, se eu salvar o Markdown eu não consigo ver nenhuma maneira de converter esta de volta para HTML para exibição, e olhando para StackOverflow ele envia o HTML browser.
Eu estou supondo que eu não preciso para salvar ambos, de modo que coisa simples eu estou ausente?
Solução
Absolutamente salvar o código do Markdown como digitado pelo usuário.
Em seguida, você precisará de um conversor Markdown que irá convertê-lo em HTML para exibi-lo.
Você vai encontrar um monte deles na
http://en.wikipedia.org/wiki/Markdown#Converters
e
http://markdown.infogami.com/
Eu votaria contra o uso de JS no seu caso. Parece haver um .NET implementação mas eu não posso te dizer como é bom .
Enquanto tornando sua página você vai ter que passar o código Markdown a um conversor como o acima e, em seguida, a saída do HTML retornado.
Se o desempenho for um problema, você também pode considerar salvar tanto o código Markdown (para edição posterior) e o código HTML (para a exibição) inthe banco de dados. Dessa forma, ele só vai ser convertido uma vez.
Outras dicas
Gostaria de sugerir salvando o texto exato entrou para o banco de dados, de modo que a edição vai funcionar com a remarcação original ou HTML.
Quando você recuperar o texto para exibição, você analisá-lo no lado do servidor e converter para HTML, se necessário
[Edit] No comentário: Você parece ter uma forma de análise e conversão para HTML já, se eu entendi sua pergunta. Aqui você fala sobre o HTML produzido.
Se eu salvar o HTML produzido então eu posso recuperar e exibi-lo corretamente, mas na re-edição que eu sou confrontado com a edição de HTML, não Markdown