16

Markdown似乎比 HTML 更容易编写和编辑。我见过的所有 HTML 编辑器都会输出大量不必要的垃圾。Markdown 看起来更干净。

这是我正在考虑做的事情:将 markdown 存储在数据库中,使用PHP Markdown将其转换为 HTML ,然后将其输出到 Web 浏览器。

一个问题是每次请求页面时都必须这样做。这似乎有点贵。

这是一个好主意吗?还是有更有效的方法来做到这一点?

4

4 回答 4

31

作为一个实际示例,Stack Overflow 支持 Markdown(如您所知),但将Markdown 和呈现的 HTML都存储在数据库中。这使得提供页面的速度更快,因为呈现的 HTML 总是相同的。帖子的创建频率远低于向用户显示的频率。

于 2012-05-04T22:29:11.353 回答
9

远离你的网站,问问自己它到底有多“贵”。您每天为超过 1,000 个唯一身份提供服务吗?实际上,它会膨胀吗?对于所有这些类型的问题,答案并不明确。例如,当我为一家国际银行构建网站时,一个非最小化的 CSS 文档每天可以增加 1 GB 的带宽。但是,当我构建我的投资组合网站时,我预计会获得一小部分流量。

我当然不是在提倡构建低效的代码……请记住,“成本”实际上应该以流程时间执行来衡量,而不仅仅是流程。

如果您真的很担心,请记录 PHP Markdown 过程执行前后的时间。然后,以 A/B 方式跟踪一段时间的服务器负载。数字不会说谎。

于 2012-05-04T22:30:55.987 回答
2

我最近完成了一个与您所要求的非常相似的项目。我没有将完整的 HTML 存储在数据库中,而是选择使用专有 API 将标记的 html 存储在文件系统上,就像 MongoDB 一样。降价存储与全面存储的美妙之处在于文件系统上的足迹要小得多,如果您需要查看原始降价,它更容易阅读。当用户编辑 html 时,我会渲染完整的内容,以便他们可以看到它的样子。

还有其他存储两者的建议,我不太同意。如果您希望通过不必为每个请求标记降级版本来提高性能,那么我会考虑在每次编辑时缓存完整版本。同时存储降价和全面存储违背了降价的目的,因为您要付出磁盘空间和/或数据库操作的代价。

于 2012-05-04T22:43:30.367 回答
1

你可以存储两者。如果必须多次编辑存储的 Markdown,或者如果开发了另一个或更好的 Markdown 到 HTML 翻译,则存储的 Markdown 很有用。正如您所说,存储的 HTML 很有用,可以避免一次又一次地重新生成它。

于 2012-05-04T22:30:44.800 回答