有没有好的Markdown Javascript库或控件?

时间:2008-09-25 16:08:10

标签: javascript controls markdown

我想构建一个网站,用户可以在其中输入文字并在Markdown中对其进行格式化。我之所以喜欢Javascript解决方案是因为我想要显示实时预览,就像在StackOverflow上一样。

然而,我的网站并不针对开发人员,因此编辑器控制将是理想的。

我在StackOverflow上收集它,正在使用WMD编辑器。

Google上的快速搜索也会显示Showdown库,我认为它实际上是由WMD使用的。

还有其他选择吗? WMD / Showdown是否已经成为很好的工具?您对不同选择的体验是什么?

10 个答案:

答案 0 :(得分:65)

我们对WMD非常满意。但是,它有一些琐碎的错误。没什么大不了的,但如果John Fraser(作者)将代码开源,那么我会,所以我们可以解决其中的一些问题。他承诺会这样做,但其他现实生活中的项目正在阻碍。

我每周跟进约翰。一旦大规模杀伤性武器来源终于可用,我将在博客上发布。一年多以来一直无法联系约翰·弗雷泽。

我们已开源JavaScript Markdown库

http://code.google.com/p/pagedown/

和服务器端C#Markdown库

http://code.google.com/p/markdownsharp/

答案 1 :(得分:33)

如果您不喜欢使用Ajax生成实时预览,那么另一个选项是markItUp!。 markItUp!是一个通用的标记编辑器,非常灵活。它确实提供 这是一种创建标记编辑器的简便方法,但与WMD不同,它不提供自己的实时预览。

我使用了markItUp !,以及一个简单的JSP(使用MarkdownJ)用于我的一个开源项目(Markdown pluginRoller)。如果您正在使用其他服务器端技术,请根据需要替换该简单的JSP。

在我遇到大规模杀伤性武器之前,我实际上开始使用它。我同意,大规模杀伤性武器是伟大的,但只是刚开源,现阶段更难以定制行为。

答案 2 :(得分:12)

我建议marked,它轻巧,高效,易于使用,并支持GitHub Flavored Markdown(GFM)。它可以在服务器(nodejs)或客户端(浏览器)端使用。

答案 3 :(得分:7)

据我所知,Markdown确实没有其他基于浏览器的编辑器,至少没有像WMD编辑器那样广泛的编辑器。

Showdown是JS中的Markdown转换器,它构成了WMD HTML预览的基础。它们都是由http://attacklab.net/制作的。

据我所知,两者都没有任何大的抱怨(至少没有关于Markdown邮件列表)。所以去吧。

答案 4 :(得分:6)

有一个名为Showdown,目前托管在此处:https://github.com/coreyti/showdown

还有https://github.com/evilstreak/markdown-js:)

答案 5 :(得分:4)

Strapdown.js,recently released,“使创建优雅的Markdown文档变得非常简单。无需服务器端编译。”

答案 6 :(得分:3)

我没有对此进行过测试,但这是另一种选择:

Markdown wysiwyg

答案 7 :(得分:3)

这个问题现在更加古老,但也更具相关性,因为提到的代码很多都已经过时了几年。

然而,我确实发现了一些似乎仍然是最新的:

Jquery-Markedit - 这是在很久以前从wmd-edit派生出来的,并重构为使用jQuery。看起来很擅长。

EpicEditor - 仍然维护,具有灵活的解析器,如下所示,作者具有高响应性(见下文)。它似乎也有很好的文档。可悲的是没有使用IE9。

MarkdownDeep是第三种仍然是最新的选择。这一点的有趣之处在于对Markdown Extra的支持。依赖于JQuery(实际上你也可以在没有JQuery的情况下实现)。基于.NET版本,因此文档比JS版本更加一致。这也适用于IE9。它非常容易使用(使用JQuery)&非常简单。尽管据我所知,没有发生重大的事态发展。

js-markdown-extra是PHP库的一个相当准确的端口,仍在维护中。它当然支持Markdown Extra。

答案 8 :(得分:2)

这个问题很古老,但希望这对某些人有帮助。我刚刚发布了自己的Javascript markdown编辑器uedit的工作版本。您可以找到源代码here。它适用于大多数浏览器(包括IE6 +),并且不依赖于任何外部JS库。

答案 9 :(得分:2)

尝试使用几个插件来解决我自己提供MarkDown seudo-WYSIWYG的需求后,我结束了自己的实现:

也许没有像这里评论的所有解决方案一样强大,但我认为没有一个像简单易用的集成和自定义