【问题标题】:Markdown to Html降价到 HTML
【发布时间】:2015-10-17 15:55:01
【问题描述】:

我想允许用户用 markdown 编辑文章,然后将其转换为 HTML 以显示。我使用 pagedown 来做到这一点。但我希望用户能够在以后编辑他们的文章,这意味着在将 Markdown 代码转换为 HTML 后将其发送给他们,我不知道最好的方法是什么。我有这些想法:

  • 使用 toMarkdown 将 HTML 转换为 Markdown,但效果不是很好
  • 仅存储 Markdown 代码,这意味着数据库可能包含有害代码并需要用户清理内容,这很好,虽然它只在我的网站上使用,但如果有人想访问它并忘记清理怎么办他的申请中的内容
  • 存储 Markdown 和 HTML,markdown 被转换并在服务器端清理 HTML,当用户想要编辑文章时我们发送 markdown 代码,当他想要查看它时发送 HTML。问题是数据库必须存储更多数据
  • 更好的主意?

stackoverflow 就是一个很好的网站示例,但我不知道他们为此使用的方法。

【问题讨论】:

  • 存储 markdown 和生成的 html 或存储 markdown 并让服务器(或客户端)动态生成 html。无论哪种方式,您都需要存储降价。

标签: html markdown


【解决方案1】:

就我个人而言,我只会存储降价,并使用 memcached 之类的东西缓存生成的 HTML,以加快页面加载时的渲染速度。

在页面加载时从 markdown 生成 HTML -> 缓存它 -> 然后在一段时间后点击缓存。当您编辑它时;使缓存无效,或重新加热缓存以保存为您执行此操作的用户。

【讨论】:

  • 因此,如果用户使用自己的应用程序,您相信他们会自行清理数据?
  • 我不太确定为什么会这样?您系统的用户会直接与数据库交互吗?如果他们正在通过公共 API 或其他方式,则对那里的数据进行清理。您的应用程序的角色之一(如果您正在制作一个?)将定义什么是净化输入,并对其进行控制。然后,使用您的服务的人只需请求 HTML,您就可以即时生成它。
【解决方案2】:

问题是数据库必须存储更多数据

你有多少内容?大多数处理人工生成内容的应用程序都没有那么多兆字节的内容。除非你想用大约 20 GB 重建 en.wikipedia;)

并且无论您需要存储降价的方式都是有用的。除了使用 memcached 存储 Markdown 和 HTML 之外,看看一些 static site generators,它们都按定义存储。

【讨论】:

  • 不会有很多数据,一切都是人为生成的。困扰我的只是数据存储两次的事实
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-23
  • 1970-01-01
  • 2016-01-26
相关资源
最近更新 更多