Como armazenar formatação leve (têxteis, Markdown) no banco de dados?
Pergunta
Eu vou estar implementando uma linguagem leve formatação (provavelmente Têxtil, talvez Markdown) em um projeto que estou trabalhando, e eu sou maravilha a melhor forma de armazená-lo no banco de dados.
Se o usuário é capaz de editar o conteúdo que está postando, faz sentido para mim que o original, marcação não-convertido ser armazenado para que o usuário não tenha que editar HTML da próxima vez. Mas desde que o conteúdo vai ser exibido um lote inteiro mais de editadas, também faz sentido para armazenar uma cópia convertida do conteúdo para que o original não tem que ser enviada através Têxtil em cada exibição de página.
Assim, é a prática comum para armazenar o original e convertido conteúdo side-by-side no banco de dados? Existe uma maneira melhor?
Obrigado!
Solução
remarcação da loja:
- Cada view = conversão
- Cada edit = nenhum processamento
loja html
- Cada view = nenhum processamento
- Cada edit = convertido para remarcação e para trás
Loja ambos
- Cada view = nenhum processamento
- Cada edit = Converte para HTML depois de editar
Você tem que pesar os custos de processamento vs. o custo de armazenamento.
Outras dicas
Você deve definitivamente loja original Têxtil / Markdown marcação e utilização, quer padrão coisas cache HTTP (Last-Modified, Expira-At, ETag) para páginas de cache prestados ou apenas cache o resultado do processamento de marcação.
Atualmente estou usando Markdown com PHP. Eu armazenar o markdown-source no banco de dados, e eu exibir a versão convertida mediante solicitação. Eu não tenho problemas de desempenho, e estou muito feliz com esta configuração.
O que eu vi é de fato para armazenar o HTML compilado em uma linha separada no banco de dados. Basta ter uma linha 'conteúdo' e outro 'content_html' e salve o HTML compilado no 'content_html' linha.
(Certamente você tem algum tipo de save método que você pode substituir para fazer isso?)