如何在数据库中处理用户内容的降价存储?

发布于 2024-11-11 18:14:37 字数 204 浏览 2 评论 0原文

我正在考虑允许用户使用 Markdown 编辑网站内容,因为它既简单又容易。现在的问题是如何存储该输入 - 我应该在保存时将其转换为 html,然后将原始 HTML 存储在数据库中,还是保存 markdown 文本并在每个请求时将其重新解析为 HTML?这里应该采取不同的方法(编写静态文件等)吗?我只是想知道如何解决这个问题,以及像 stackoverflow 这样的网站是如何做到的。谢谢。

I was thinking about allowing users to edit site content with markdown, as it's simple and easy. The question now is how do I store that input - should I convert it to html on save and then store raw HTML in the database, or save the markdown text and re-parse it to HTML on every request? Should a different approach be taken here (write static files, etc)? I was just wondering how to approach this problem, and how do sites like stackoverflow do it. thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

屋檐 2024-11-18 18:14:37

我可能会存储内容的原始 Markdown 和 HTML 版本。事实上,我也做过类似的事情(用精简的 HTML 而不是 Markdown),我存储了原始版本和格式化版本。

如果您想在创建内容后对其进行编辑,那么您将需要原始 Markdown,因为它可能比 Markdown 到 HTML 转换器产生的一些丑陋的 Markdown 更容易使用。保留 Markdown 还可以让您更轻松地跟踪您的修订历史记录或将来调整您的 HTML 格式。

显示内容可能比创建或编辑内容更常见。因此,您可能希望手头有 HTML,以避免一遍又一遍地进行相同的 Markdown 到 HTML 转换。

如果您只有 Markdown,那么您需要为每次显示支付额外费用。如果你只有 HTML,那么你最终会得到丑陋且不可读/不可编辑的 Markdown。如果你两者都有,你需要支付一点磁盘空间,但可以获得使用不同的内部结构轻松重新生成 HTML 的能力,轻松的修订历史记录跟踪,轻松的编辑,并且你会得到便宜的显示作为一个令人高兴的副作用。此外,存储两者可以轻松存储批量列表的片段(例如 SO 上的 /questions 列表),并且这些列表将很便宜,因为您可以将数据直接从存储转储到页面,而只需花费最少的时间。加工。

I'd probably store both the original Markdown and the HTML versions of the content. In fact, I have done similar things (with stripped down minimal HTML instead of Markdown) where I stored both the raw and formatted versions.

If you want to edit the content after it is created, then you'll want the original Markdown as it will probably be easier to work with than some ugly Markdown that came out of a Markdown-to-HTML converter. Keeping the Markdown around will also make it easier to track your revision history or adjust your HTML format in the future.

Displaying the content will probably be more common than creating or editing it. So, you'll probably want to have the HTML handy to avoid doing the same Markdown to HTML conversion over and over and over again.

If you only have the Markdown, then you pay extra for every display. If you only have the HTML, then you'll end up with ugly and unreadable/uneditable Markdown. If you have both, you pay for a little bit of disk space but gain the ability to easily regenerate your HTML with a different internal structure, easy revision history tracking, easy editing, and you get cheap displays as a happy side effect. Furthermore, storing both makes it easy to store snippets for bulk listings (such as the /questions listings on SO) and those listings will be cheap because you're dumping data straight from storage to the page with minimal processing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文