如何最佳地存储和展示Markdown格式的文本?

14
我注意到wmd编辑器可以输出HTML或Markdown。将用户输入(存储在数据库中)作为Markdown还是HTML更有意义呢?如果选择Markdown,那么以后在网页上显示它的最佳方法是什么(非常感谢任何示例)。
考虑到建议将其存储为Markdown,是否有任何标准转换器/样式表/其他任何内容来实际显示它?
4个回答

17

我认为将markdown存储在数据库中,在显示时将其处理成HTML会更容易。

可以将输入内容存储为HTML,当用户想要编辑时,使用类似markdownify的工具将其转换回markdown - 但你并没有真正获得什么好处,并失去了很多东西(例如原始的markdown格式)。这也是相当迂回的方式(你将markdown转换为HTML,存储它。然后将HTML转换为markdown,允许用户编辑它,再将其转换回HTML,并存储它..)

如果你担心在每个页面视图上解析markdown的性能问题:将输出的HTML缓存到某个临时位置(内存或磁盘中)。重建HTML比源markdown更容易。


有使用JavaScript的此解决方案的任何教程吗?谢谢。 - Loint

6

我对markdown和wmd几乎一无所知:

如果您希望用户以后能够编辑该条目,难道不必将其存储为markdown格式吗?

在检索/显示时,您需要通过某种markdown渲染器运行它。


0

我认为允许连续编辑的最佳方式是存储Markdown文件。用户编辑或上传后,将其文件保存为Markdown语法并生成HTML并存储该生成的HTML。

只有在用户更新Markdown文件时才需要“重新生成”HTML。

我不确定您使用的技术,但有一个Python Markdown处理器,有用于代码语法高亮的Pygments和Python-Markdown内置支持Pygments,因此您可以从Markdown文件中获取HTML并突出显示所有源代码。

您需要更新CSS以包含用于代码高亮的样式,您可以从Pygments中转储默认样式并将其附加到页面样式。

这里是一个示例,如何在Blogger中使用Markdown和Pygments


0

看起来有关于如何为保存的Markdown生成相应HTML的详细信息在另一个线程中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接