Veritabanında hafif biçimlendirme (Tekstil, Markdown) depolamak nasıl?

5 Cevap php

Ben üzerinde çalışıyorum bir proje içinde (belki muhtemelen Tekstil, Markdown) hafif bir biçimlendirme dili uygulamak için gidiyorum ve ben veritabanında depolamak için en iyi nasıl merak ediyorum.

Kullanıcı onlar gönderme konum içeriği düzenlemek için mümkün ise, o kullanıcı HTML gelecek sefer düzenlemek zorunda kalmaması orijinal olmayan dönüştürülen biçimlendirme saklanabilir bana mantıklı. Içeriğin düzenlenebilir daha bir sürü daha fazla görüntülenen olacak çünkü Ama, aynı zamanda orijinal, her sayfa görünümünde Tekstil aracılığıyla gönderilecek zorunda kalmaması içeriğin dönüştürülmüş bir kopyasını saklamak için mantıklı.

Yani, veritabanında hem özgün ve dönüştürülmüş içerik yan tarafı depolamak için yaygın bir uygulamadır? Daha iyi bir yolu var mı?

Teşekkürler!

5 Cevap

Mağaza Markdown:

  • Her view = dönüşüm
  • Her edit = işlem yok

Mağaza html

  • Her görünüm hiçbir işleme =
  • Her edit = geri markdown ve dönüştürmek

Hem Mağaza

  • Her görünüm hiçbir işleme =
  • Her edit = düzenleme sonra html dönüştürmek

Sen depolama maliyet vs sizin işlem maliyetlerini tartmak zorunda.

Sen kesinlikle orijinal Tekstil / Markdown biçimlendirme depolamak ve işlenmiş sayfaları önbelleğe veya sadece işleme biçimlendirme sonucunu önbelleğe ya standart HTTP caching şeyler (Son modifiye, Bitiş-At, ETag) kullanmalısınız.

Şu anda PHP ile Markdown kullanıyorum. Ben veritabanında markdown-kaynağını saklamak, ve ben istek üzerine Dönüştürülmüş Sürüm görüntüler. Ben hiçbir performans sorunları var, ve bu kurulum ile çok mutluyum.

Ne ben gördüm veritabanında ayrı bir satırda derlenmiş HTML saklamak için gerçekten. Sadece bir satır 'içerik' ve başka bir 'content_html' var ve 'content_html' satırında derlenmiş HTML kaydedin.

(Elbette bir çeşit bunu yapmak kılabilirsiniz yöntemi kurtarmak var?)

Ben insanlar burada biçimlendirme için tercih ne görmek için küçük bir araştırma koyduk: http://luciddesign.co.nz/2009/2/9/textile-vs-markdown-vs-tinymce-etc