【问题标题】:How to approach markdown storage in the db for user content?如何在数据库中为用户内容处理降价存储?
【发布时间】:2011-06-01 08:00:10
【问题描述】:

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

【问题讨论】:

    标签: html database performance markdown storing-information


    【解决方案1】:

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

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

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

    如果您只有 Markdown,那么您需要为每次显示支付额外费用。如果您只有 HTML,那么您最终会得到丑陋且不可读/不可编辑的 Markdown。如果两者兼有,则您需要支付一点磁盘空间,但能够轻松地重新生成具有不同内部结构的 HTML、轻松的修订历史跟踪、轻松的编辑,并且您可以获得便宜的显示作为令人愉快的副作用。此外,存储两者可以轻松存储批量列表的 sn-ps(例如 SO 上的 /questions 列表),并且这些列表会很便宜,因为您将数据直接从存储转储到页面,处理最少。

    【讨论】:

    • “同时存储 -- html 和降价”是什么意思?请你能解释得更详细吗?还有几个例子,....
    • @Ntlzz93 Markdown 文本进来,你可以在每次显示时将其转换为 HTML,也可以将其转换为 HTML 一次(当 markdown 源更改时)并存储 HTML 和 数据库中的降价。
    猜你喜欢
    • 1970-01-01
    • 2018-10-16
    • 2010-09-12
    • 2021-03-11
    • 1970-01-01
    • 1970-01-01
    • 2021-06-09
    • 2021-08-01
    • 1970-01-01
    相关资源
    最近更新 更多