16

Markdownは HTML よりも書きやすく、編集しやすいようです。私が見たすべての HTML エディターは、大量の不要なジャンクを出力します。マークダウンはよりきれいに見えます。

私が考えているのは、マークダウンをデータベースに保存し、それをPHP の Markdownで HTML に変換し、それを Web ブラウザーに出力することです。

1 つの問題は、ページが要求されるたびにこれを行う必要があることです。これはやや高価なようです。

これは良い考えですか?またはこれを行うためのより効率的な方法はありますか?

4

4 に答える 4

31

実際の例として、Stack Overflow は (ご存知のように) Markdown をサポートしていますが、Markdown とレンダリングされた HTML の両方をデータベースに保存します。これにより、レンダリングされた HTML が常に同じになるため、ページの提供が大幅に高速化されます。投稿は、ユーザーに表示されるよりもはるかに少ない頻度で作成されます。

于 2012-05-04T22:29:11.353 に答える
9

サイトから離れて、実際にどれくらい「高価」になるかを自問してください。1 日あたり 1,000 を超えるユニーク ユーザーにサービスを提供していますか? 現実的に、それは膨らみますか?このようなあらゆる種類の質問があるため、答えは明確ではありません。たとえば、私が国際的な銀行の Web サイトを構築していたとき、最小化されていない CSS ドキュメントにより、1 日あたり 1 ギガバイトの帯域幅が追加される可能性がありました。ただし、ポートフォリオ サイトを構築しているときは、そのトラフィックの一部を期待しています。

私は確かに、非効率的なコードの構築を推奨しているわけではありません...「コスト」は、プロセスだけでなく、プロセス時間の実行として実際に測定する必要があることに注意してください。

本当に心配なら、PHP Markdown プロセスの実行前後の時間を記録してください。次に、A/B 方式でサーバーの負荷を一定期間追跡します。数字は嘘をつきません。

于 2012-05-04T22:30:55.987 に答える
2

私は最近、あなたが求めているものと非常によく似たプロジェクトを完了しました。本格的な HTML をデータベースに保存するのではなく、MongoDB によく似た独自の API を使用して、マークダウンされた HTML をファイルシステムに保存することにしました。マークダウンと本格的な保存の利点は、ファイルシステムのフットプリントがはるかに小さく、生のマークダウンを表示する必要がある場合でも、はるかに読みやすいことです。ユーザーが HTML を編集するとき、私は本格的なものをレンダリングして、それがどのように見えるかを確認できるようにします。

両方を保存するという他の提案がありましたが、私は完全には同意しません. リクエストごとにマークダウンされたバージョンをマークアップする必要がないことでパフォーマンスを向上させたい場合は、編集するたびに本格的なバージョンをキャッシュすることを検討してください。マークダウンと本格的な両方を保存すると、ディスクスペースやデータベース操作でペナルティを支払うため、マークダウンの目的が無効になります。

于 2012-05-04T22:43:30.367 に答える
1

両方収納できました。保存されたマークダウンは、複数回編集する必要がある場合、または別のまたはより優れたマークダウンから HTML への変換が開発された場合に役立ちます。あなたが言うように、保存された HTML は、何度も再生成するのを避けるのに役立ちます。

于 2012-05-04T22:30:44.800 に答える