标记为Html

标记为Html,html,markdown,Html,Markdown,我想允许用户编辑带有标记的文章,然后将其转换为HTML显示。我用pagedown来做这个。但是我希望用户能够在以后编辑他们的文章,这意味着在转换成HTML后向他们发送降价代码,我不知道最好的方法是什么。我有以下想法: 使用toMarkdown将HTML转换为markdown,但效果不太好 只存储降价代码,这意味着数据库可能包含有害代码,需要用户对内容进行清理,虽然它只在我的网站上使用,但如果有人想要访问它,却忘了在应用程序中清理内容,该怎么办 存储Markdown&HTML,在服务器端转换Ma

我想允许用户编辑带有标记的文章,然后将其转换为HTML显示。我用pagedown来做这个。但是我希望用户能够在以后编辑他们的文章,这意味着在转换成HTML后向他们发送降价代码,我不知道最好的方法是什么。我有以下想法:

  • 使用toMarkdown将HTML转换为markdown,但效果不太好
  • 只存储降价代码,这意味着数据库可能包含有害代码,需要用户对内容进行清理,虽然它只在我的网站上使用,但如果有人想要访问它,却忘了在应用程序中清理内容,该怎么办
  • 存储Markdown&HTML,在服务器端转换Markdown并净化HTML,当用户想要编辑文章时,我们发送Markdown代码,当用户想要查看文章时发送HTML。问题是数据库将不得不存储更多的数据
  • 更好的主意

stackoverflow就是一个很好的例子,但我不知道他们使用的是什么方法。

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

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

问题是数据库将不得不存储更多的数据

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


无论哪种方式,存储降价都是有用的。除了使用memcached存储标记和HTML之外,还可以查看一些,它们都是按定义存储的。

存储标记和生成的HTML,或者存储标记并让服务器(或客户端)动态生成HTML。无论哪种方式,你都需要存储降价。不会有太多的数据,所有东西都是人工生成的。只是两次存储数据的事实困扰着meSo,如果用户使用自己的应用程序,你相信他们会自己清理数据吗?我真的不知道为什么会这样?系统的用户是否将直接与数据库交互?如果他们正在通过一个公共API或其他什么,那么请清理那里的数据。应用程序的角色之一(如果您正在制作一个?)是定义什么是经过消毒的输入,并控制它。然后,使用您的服务的人可以只请求HTML,您可以动态生成它。