19

私が取り組んでいるプロジェクトに軽量の書式設定言語 (おそらくテキスタイル、おそらく Markdown) を実装しようとしていますが、それをデータベースに保存する最善の方法を考えています。

ユーザーが投稿しているコンテンツを編集できる場合、ユーザーが次回 HTML を編集する必要がないように、元の変換されていないマークアップを保存することは理にかなっています。しかし、コンテンツは編集されるよりもはるかに多く表示されるため、コンテンツの変換されたコピーを保存して、元のコンテンツをすべてのページ ビューで Textile 経由で送信する必要がないようにすることも理にかなっています。

では、元のコンテンツと変換されたコンテンツの両方をデータベースに並べて保存するのが一般的な方法ですか? より良い方法はありますか?

ありがとう!

4

4 に答える 4

25

マークダウンを保存:

  • すべてのビュー = コンバージョン
  • すべての編集 = 処理なし

html を保存

  • すべてのビュー = 処理なし
  • すべての編集 = マークダウンに変換して元に戻す

両方保管

  • すべてのビュー = 処理なし
  • 編集ごと = 編集後に html に変換

処理コストとストレージ コストを比較検討する必要があります。

于 2009-01-29T17:12:03.900 に答える
1

元の Textile/Markdown マークアップを明確に保存し、標準の HTTP キャッシュ機能 (Last-modified、Expires-At、ETag) を使用してレンダリングされたページをキャッシュするか、マークアップの処理結果をキャッシュするだけです。

于 2009-01-29T17:09:49.317 に答える
1

現在、PHPでMarkdownを使用しています。マークダウン ソースをデータベースに保存し、要求に応じて変換されたバージョンを表示します。パフォーマンスの問題はなく、このセットアップに非常に満足しています。

于 2009-01-29T17:10:45.587 に答える
1

私が見たのは、コンパイルされた HTML をデータベースの別の行に格納することです。「content」行と「content_html」行を 1 行だけ用意し、コンパイルした HTML を「content_html」行に保存します。

(確かに、これを行うためにオーバーライドできるある種の保存メソッドがありますか?)

于 2009-01-29T17:11:02.827 に答える