8

シンプルで簡単なので、ユーザーがマークダウンでサイトのコンテンツを編集できるようにすることを考えていました。問題は、その入力をどのように保存するかです.保存時にHTMLに変換してから生のHTMLをデータベースに保存するか、マークダウンテキストを保存してリクエストごとにHTMLに再解析する必要がありますか? ここで別のアプローチを取る必要がありますか (静的ファイルを書き込むなど)? この問題にどのようにアプローチするのか、そしてスタックオーバーフローのようなサイトがどのようにそれを行うのか疑問に思っていました. ありがとう。

4

1 に答える 1

13

おそらく、コンテンツの元の Markdown バージョンと HTML バージョンの両方を保存するでしょう。実際、私は生のバージョンとフォーマットされたバージョンの両方を保存する同様のことを (Markdown の代わりに最小限の HTML を削除して) 行いました。

作成後にコンテンツを編集する場合は、元の Markdown が必要になります。Markdown から HTML へのコンバーターから出てきた醜い Markdown よりも、おそらく操作が簡単だからです。Markdown を維持することで、改訂履歴の追跡や将来の HTML 形式の調整も容易になります。

コンテンツを表示することは、コンテンツを作成または編集することよりもおそらく一般的です。そのため、同じ Markdown から HTML への変換を何度も何度も行うのを避けるために、HTML を手元に用意しておくことをお勧めします。

Markdown しかない場合は、表示ごとに追加料金がかかります。HTML しかない場合は、見苦しく、読み取りや編集ができないマークダウンになってしまいます。両方を持っている場合、わずかなディスク容量を支払う必要がありますが、別の内部構造、簡単なリビジョン履歴の追跡、簡単な編集で HTML を簡単に再生成する機能が得られ、嬉しい副作用として安価な表示が得られます。さらに、両方を保存すると、大量のリスト (SO のリストなど) のスニペットを簡単に保存/questionsできます。最小限の処理でストレージからページにデータを直接ダンプするため、これらのリストは安価になります。

于 2011-06-01T08:24:21.883 に答える